mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
[properties] replace SET_SCALAR_PROP calls
This commit is contained in:
parent
725c022e69
commit
cbffa2a7ba
@ -66,7 +66,12 @@ struct Scalar<TypeTag, TTag::Co2InjectionFlashEcfvProblem> { using type = quad;
|
||||
// precision scalars... (this seems to only apply to Dune >= 2.4)
|
||||
SET_TAG_PROP(Co2InjectionFlashEcfvProblem, LinearSolverSplice, ParallelBiCGStabLinearSolver);
|
||||
#else
|
||||
SET_SCALAR_PROP(Co2InjectionFlashEcfvProblem, NewtonTolerance, 1e-5);
|
||||
template<class TypeTag>
|
||||
struct NewtonTolerance<TypeTag, TTag::Co2InjectionFlashEcfvProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-5;
|
||||
};
|
||||
#endif
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
@ -66,7 +66,12 @@ struct Scalar<TypeTag, TTag::Co2InjectionFlashNiEcfvProblem> { using type = quad
|
||||
// precision scalars... (this seems to only apply to Dune >= 2.4)
|
||||
SET_TAG_PROP(Co2InjectionFlashNiEcfvProblem, LinearSolverSplice, ParallelBiCGStabLinearSolver);
|
||||
#else
|
||||
SET_SCALAR_PROP(Co2InjectionFlashNiEcfvProblem, NewtonTolerance, 1e-5);
|
||||
template<class TypeTag>
|
||||
struct NewtonTolerance<TypeTag, TTag::Co2InjectionFlashNiEcfvProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-5;
|
||||
};
|
||||
#endif
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
@ -63,7 +63,12 @@ struct Scalar<TypeTag, TTag::Co2InjectionFlashNiVcfvProblem> { using type = quad
|
||||
// precision scalars... (this seems to only apply to Dune >= 2.4)
|
||||
SET_TAG_PROP(Co2InjectionFlashNiVcfvProblem, LinearSolverSplice, ParallelBiCGStabLinearSolver);
|
||||
#else
|
||||
SET_SCALAR_PROP(Co2InjectionFlashNiVcfvProblem, NewtonTolerance, 1e-5);
|
||||
template<class TypeTag>
|
||||
struct NewtonTolerance<TypeTag, TTag::Co2InjectionFlashNiVcfvProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-5;
|
||||
};
|
||||
#endif
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
@ -63,7 +63,12 @@ struct Scalar<TypeTag, TTag::Co2InjectionFlashVcfvProblem> { using type = quad;
|
||||
// precision scalars... (this seems to only apply to Dune >= 2.4)
|
||||
SET_TAG_PROP(Co2InjectionFlashVcfvProblem, LinearSolverSplice, ParallelBiCGStabLinearSolver);
|
||||
#else
|
||||
SET_SCALAR_PROP(Co2InjectionFlashVcfvProblem, NewtonTolerance, 1e-5);
|
||||
template<class TypeTag>
|
||||
struct NewtonTolerance<TypeTag, TTag::Co2InjectionFlashVcfvProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-5;
|
||||
};
|
||||
#endif
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
@ -166,24 +166,64 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::Co2InjectionBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// set the defaults for the problem specific properties
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, FluidSystemPressureLow, 3e7);
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, FluidSystemPressureHigh, 4e7);
|
||||
template<class TypeTag>
|
||||
struct FluidSystemPressureLow<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 3e7;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct FluidSystemPressureHigh<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 4e7;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct FluidSystemNumPressure<TypeTag, TTag::Co2InjectionBaseProblem> { static constexpr int value = 100; };
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, FluidSystemTemperatureLow, 290);
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, FluidSystemTemperatureHigh, 500);
|
||||
template<class TypeTag>
|
||||
struct FluidSystemTemperatureLow<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 290;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct FluidSystemTemperatureHigh<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 500;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct FluidSystemNumTemperature<TypeTag, TTag::Co2InjectionBaseProblem> { static constexpr int value = 100; };
|
||||
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, MaxDepth, 2500);
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, Temperature, 293.15);
|
||||
template<class TypeTag>
|
||||
struct MaxDepth<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 2500;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct Temperature<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 293.15;
|
||||
};
|
||||
SET_STRING_PROP(Co2InjectionBaseProblem, SimulationName, "co2injection");
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, EndTime, 1e4);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e4;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(Co2InjectionBaseProblem, InitialTimeStepSize, 250);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::Co2InjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 250;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(Co2InjectionBaseProblem, GridFile, "data/co2injection.dgf");
|
||||
|
@ -80,7 +80,12 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::CuvetteBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// Set the maximum time step
|
||||
SET_SCALAR_PROP(CuvetteBaseProblem, MaxTimeStepSize, 600.);
|
||||
template<class TypeTag>
|
||||
struct MaxTimeStepSize<TypeTag, TTag::CuvetteBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 600.;
|
||||
};
|
||||
|
||||
// Set the material Law
|
||||
template<class TypeTag>
|
||||
@ -118,10 +123,20 @@ public:
|
||||
};
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(CuvetteBaseProblem, EndTime, 180);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::CuvetteBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 180;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(CuvetteBaseProblem, InitialTimeStepSize, 1);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::CuvetteBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(CuvetteBaseProblem, GridFile, "./data/cuvette_11x4.dgf");
|
||||
|
@ -108,9 +108,24 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::DiffusionBaseProblem> { static constexpr bool value = false; };
|
||||
|
||||
// define the properties specific for the diffusion problem
|
||||
SET_SCALAR_PROP(DiffusionBaseProblem, DomainSizeX, 1.0);
|
||||
SET_SCALAR_PROP(DiffusionBaseProblem, DomainSizeY, 1.0);
|
||||
SET_SCALAR_PROP(DiffusionBaseProblem, DomainSizeZ, 1.0);
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct CellsX<TypeTag, TTag::DiffusionBaseProblem> { static constexpr int value = 250; };
|
||||
@ -120,10 +135,20 @@ template<class TypeTag>
|
||||
struct CellsZ<TypeTag, TTag::DiffusionBaseProblem> { static constexpr int value = 1; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(DiffusionBaseProblem, EndTime, 1e6);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e6;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(DiffusionBaseProblem, InitialTimeStepSize, 1000);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1000;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
@ -141,11 +141,31 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::FingerBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// define the properties specific for the finger problem
|
||||
SET_SCALAR_PROP(FingerBaseProblem, DomainSizeX, 0.1);
|
||||
SET_SCALAR_PROP(FingerBaseProblem, DomainSizeY, 0.3);
|
||||
SET_SCALAR_PROP(FingerBaseProblem, DomainSizeZ, 0.1);
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.1;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.3;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.1;
|
||||
};
|
||||
|
||||
SET_SCALAR_PROP(FingerBaseProblem, InitialWaterSaturation, 0.01);
|
||||
template<class TypeTag>
|
||||
struct InitialWaterSaturation<TypeTag, TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.01;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct CellsX<TypeTag, TTag::FingerBaseProblem> { static constexpr int value = 20; };
|
||||
@ -155,10 +175,20 @@ template<class TypeTag>
|
||||
struct CellsZ<TypeTag, TTag::FingerBaseProblem> { static constexpr int value = 1; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(FingerBaseProblem, EndTime, 215);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 215;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(FingerBaseProblem, InitialTimeStepSize, 10);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 10;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
@ -165,10 +165,20 @@ struct EnableConstraints<TypeTag, TTag::FractureProblem> { static constexpr bool
|
||||
SET_STRING_PROP(FractureProblem, GridFile, "data/fracture.art.dgf");
|
||||
|
||||
// Set the default value for the end time
|
||||
SET_SCALAR_PROP(FractureProblem, EndTime, 3e3);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::FractureProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 3e3;
|
||||
};
|
||||
|
||||
// Set the default value for the initial time step size
|
||||
SET_SCALAR_PROP(FractureProblem, InitialTimeStepSize, 100);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::FractureProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 100;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
@ -92,24 +92,74 @@ struct Grid<TypeTag, TTag::GroundWaterBaseProblem> { using type = Dune::YaspGrid
|
||||
SET_TYPE_PROP(GroundWaterBaseProblem, Problem,
|
||||
Opm::GroundWaterProblem<TypeTag>);
|
||||
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, LensLowerLeftX, 0.25);
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, LensLowerLeftY, 0.25);
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, LensLowerLeftZ, 0.25);
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, LensUpperRightX, 0.75);
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, LensUpperRightY, 0.75);
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, LensUpperRightZ, 0.75);
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, Permeability, 1e-10);
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, PermeabilityLens, 1e-12);
|
||||
template<class TypeTag>
|
||||
struct LensLowerLeftX<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.25;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensLowerLeftY<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.25;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensLowerLeftZ<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.25;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensUpperRightX<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.75;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensUpperRightY<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.75;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensUpperRightZ<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.75;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct Permeability<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-10;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct PermeabilityLens<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-12;
|
||||
};
|
||||
|
||||
// Enable gravity
|
||||
template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::GroundWaterBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, EndTime, 1);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(GroundWaterBaseProblem, InitialTimeStepSize, 1);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::GroundWaterBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(GroundWaterBaseProblem, GridFile, "./data/groundwater_2d.dgf");
|
||||
|
@ -100,10 +100,20 @@ public:
|
||||
};
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(InfiltrationBaseProblem, EndTime, 6e3);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::InfiltrationBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 6e3;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(InfiltrationBaseProblem, InitialTimeStepSize, 60);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::InfiltrationBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 60;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(InfiltrationBaseProblem, GridFile,
|
||||
|
@ -143,16 +143,61 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::LensBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// define the properties specific for the lens problem
|
||||
SET_SCALAR_PROP(LensBaseProblem, LensLowerLeftX, 1.0);
|
||||
SET_SCALAR_PROP(LensBaseProblem, LensLowerLeftY, 2.0);
|
||||
SET_SCALAR_PROP(LensBaseProblem, LensLowerLeftZ, 0.0);
|
||||
SET_SCALAR_PROP(LensBaseProblem, LensUpperRightX, 4.0);
|
||||
SET_SCALAR_PROP(LensBaseProblem, LensUpperRightY, 3.0);
|
||||
SET_SCALAR_PROP(LensBaseProblem, LensUpperRightZ, 1.0);
|
||||
template<class TypeTag>
|
||||
struct LensLowerLeftX<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensLowerLeftY<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 2.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensLowerLeftZ<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensUpperRightX<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 4.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensUpperRightY<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 3.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct LensUpperRightZ<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
SET_SCALAR_PROP(LensBaseProblem, DomainSizeX, 6.0);
|
||||
SET_SCALAR_PROP(LensBaseProblem, DomainSizeY, 4.0);
|
||||
SET_SCALAR_PROP(LensBaseProblem, DomainSizeZ, 1.0);
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 6.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 4.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct CellsX<TypeTag, TTag::LensBaseProblem> { static constexpr int value = 48; };
|
||||
@ -162,10 +207,20 @@ template<class TypeTag>
|
||||
struct CellsZ<TypeTag, TTag::LensBaseProblem> { static constexpr int value = 16; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(LensBaseProblem, EndTime, 30e3);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 30e3;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(LensBaseProblem, InitialTimeStepSize, 250);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 250;
|
||||
};
|
||||
|
||||
// By default, include the intrinsic permeability tensor to the VTK output files
|
||||
template<class TypeTag>
|
||||
|
@ -114,10 +114,20 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::ObstacleBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(ObstacleBaseProblem, EndTime, 1e4);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::ObstacleBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e4;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(ObstacleBaseProblem, InitialTimeStepSize, 250);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::ObstacleBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 250;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(ObstacleBaseProblem, GridFile, "./data/obstacle_24x16.dgf");
|
||||
|
@ -78,10 +78,20 @@ template<class TypeTag>
|
||||
struct VtkWriteMassFractions<TypeTag, TTag::OutflowBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(OutflowBaseProblem, EndTime, 100);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::OutflowBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 100;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(OutflowBaseProblem, InitialTimeStepSize, 1);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::OutflowBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(OutflowBaseProblem, GridFile, "./data/outflow.dgf");
|
||||
|
@ -128,9 +128,24 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::PowerInjectionBaseProblem> { static constexpr bool value = false; };
|
||||
|
||||
// define the properties specific for the power injection problem
|
||||
SET_SCALAR_PROP(PowerInjectionBaseProblem, DomainSizeX, 100.0);
|
||||
SET_SCALAR_PROP(PowerInjectionBaseProblem, DomainSizeY, 1.0);
|
||||
SET_SCALAR_PROP(PowerInjectionBaseProblem, DomainSizeZ, 1.0);
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 100.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct CellsX<TypeTag, TTag::PowerInjectionBaseProblem> { static constexpr int value = 250; };
|
||||
@ -140,10 +155,20 @@ template<class TypeTag>
|
||||
struct CellsZ<TypeTag, TTag::PowerInjectionBaseProblem> { static constexpr int value = 1; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(PowerInjectionBaseProblem, EndTime, 100);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 100;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(PowerInjectionBaseProblem, InitialTimeStepSize, 1e-3);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-3;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
@ -110,20 +110,45 @@ template<class TypeTag>
|
||||
struct EnableConstraints<TypeTag, TTag::ReservoirBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// set the defaults for some problem specific properties
|
||||
SET_SCALAR_PROP(ReservoirBaseProblem, MaxDepth, 2500);
|
||||
SET_SCALAR_PROP(ReservoirBaseProblem, Temperature, 293.15);
|
||||
template<class TypeTag>
|
||||
struct MaxDepth<TypeTag, TTag::ReservoirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 2500;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct Temperature<TypeTag, TTag::ReservoirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 293.15;
|
||||
};
|
||||
|
||||
//! The default for the end time of the simulation [s].
|
||||
//!
|
||||
//! By default this problem spans 1000 days (100 "settle down" days and 900 days of
|
||||
//! production)
|
||||
SET_SCALAR_PROP(ReservoirBaseProblem, EndTime, 1000.0*24*60*60);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::ReservoirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1000.0*24*60*60;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation [s]
|
||||
SET_SCALAR_PROP(ReservoirBaseProblem, InitialTimeStepSize, 100e3);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::ReservoirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 100e3;
|
||||
};
|
||||
|
||||
// The width of producer/injector wells as a fraction of the width of the spatial domain
|
||||
SET_SCALAR_PROP(ReservoirBaseProblem, WellWidth, 0.01);
|
||||
template<class TypeTag>
|
||||
struct WellWidth<TypeTag, TTag::ReservoirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.01;
|
||||
};
|
||||
|
||||
/*!
|
||||
* \brief Explicitly set the fluid system to the black-oil fluid system
|
||||
@ -147,7 +172,12 @@ public:
|
||||
SET_STRING_PROP(ReservoirBaseProblem, GridFile, "data/reservoir.dgf");
|
||||
|
||||
// increase the tolerance for this problem to get larger time steps
|
||||
SET_SCALAR_PROP(ReservoirBaseProblem, NewtonTolerance, 1e-6);
|
||||
template<class TypeTag>
|
||||
struct NewtonTolerance<TypeTag, TTag::ReservoirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-6;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
@ -122,10 +122,20 @@ template<class TypeTag>
|
||||
struct NewtonWriteConvergence<TypeTag, TTag::RichardsLensProblem> { static constexpr bool value = false; };
|
||||
|
||||
// The default for the end time of the simulation
|
||||
SET_SCALAR_PROP(RichardsLensProblem, EndTime, 3000);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::RichardsLensProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 3000;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(RichardsLensProblem, InitialTimeStepSize, 100);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::RichardsLensProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 100;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(RichardsLensProblem, GridFile, "./data/richardslens_24x16.dgf");
|
||||
|
@ -126,10 +126,20 @@ template<class TypeTag>
|
||||
struct NewtonWriteConvergence<TypeTag, TTag::WaterAirBaseProblem> { static constexpr bool value = false; };
|
||||
|
||||
// The default for the end time of the simulation (1 year)
|
||||
SET_SCALAR_PROP(WaterAirBaseProblem, EndTime, 1.0 * 365 * 24 * 60 * 60);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::WaterAirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0 * 365 * 24 * 60 * 60;
|
||||
};
|
||||
|
||||
// The default for the initial time step size of the simulation
|
||||
SET_SCALAR_PROP(WaterAirBaseProblem, InitialTimeStepSize, 250);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::WaterAirBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 250;
|
||||
};
|
||||
|
||||
// The default DGF file to load
|
||||
SET_STRING_PROP(WaterAirBaseProblem, GridFile, "./data/waterair.dgf");
|
||||
|
@ -50,7 +50,12 @@ struct EnableStorageCache<TypeTag, TTag::ReservoirNcpVcfvProblem> { static const
|
||||
|
||||
// reduce the base epsilon for the finite difference method to 10^-11. for some reason
|
||||
// the simulator converges better with this. (TODO: use automatic differentiation?)
|
||||
SET_SCALAR_PROP(ReservoirNcpVcfvProblem, BaseEpsilon, 1e-11);
|
||||
template<class TypeTag>
|
||||
struct BaseEpsilon<TypeTag, TTag::ReservoirNcpVcfvProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-11;
|
||||
};
|
||||
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
@ -119,15 +119,40 @@ template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::Tutorial1Problem> { static constexpr bool value = false; }; /*@\label{tutorial1:gravity}@*/
|
||||
|
||||
// define how long the simulation should run [s]
|
||||
SET_SCALAR_PROP(Tutorial1Problem, EndTime, 100e3); /*@\label{tutorial1:default-params-begin}@*/
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::Tutorial1Problem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 100e3;
|
||||
}; /*@\label{tutorial1:default-params-begin}@*/
|
||||
|
||||
// define the size of the initial time step [s]
|
||||
SET_SCALAR_PROP(Tutorial1Problem, InitialTimeStepSize, 125.0);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::Tutorial1Problem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 125.0;
|
||||
};
|
||||
|
||||
// define the physical size of the problem's domain [m]
|
||||
SET_SCALAR_PROP(Tutorial1Problem, DomainSizeX, 300.0); /*@\label{tutorial1:grid-default-params-begin}@*/
|
||||
SET_SCALAR_PROP(Tutorial1Problem, DomainSizeY, 60.0);
|
||||
SET_SCALAR_PROP(Tutorial1Problem, DomainSizeZ, 0.0);
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, TTag::Tutorial1Problem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 300.0;
|
||||
}; /*@\label{tutorial1:grid-default-params-begin}@*/
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, TTag::Tutorial1Problem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 60.0;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, TTag::Tutorial1Problem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.0;
|
||||
};
|
||||
|
||||
// // define the number of cells used for discretizing the physical domain
|
||||
template<class TypeTag>
|
||||
|
@ -49,9 +49,24 @@ struct PriVarOscilationThreshold { using type = UndefinedProperty; };
|
||||
template<class TypeTag, class MyTypeTag>
|
||||
struct ProjectSaturations { using type = UndefinedProperty; };
|
||||
|
||||
SET_SCALAR_PROP(NewtonMethod, DpMaxRel, 0.3);
|
||||
SET_SCALAR_PROP(NewtonMethod, DsMax, 0.2);
|
||||
SET_SCALAR_PROP(NewtonMethod, PriVarOscilationThreshold, 1e-5);
|
||||
template<class TypeTag>
|
||||
struct DpMaxRel<TypeTag, TTag::NewtonMethod>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.3;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct DsMax<TypeTag, TTag::NewtonMethod>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.2;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct PriVarOscilationThreshold<TypeTag, TTag::NewtonMethod>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-5;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct ProjectSaturations<TypeTag, TTag::NewtonMethod> { static constexpr bool value = false; };
|
||||
|
||||
|
@ -220,10 +220,20 @@ template<class TypeTag>
|
||||
struct Linearizer<TypeTag, TTag::FvBaseDiscretization> { using type = Opm::FvBaseLinearizer<TypeTag>; };
|
||||
|
||||
//! use an unlimited time step size by default
|
||||
SET_SCALAR_PROP(FvBaseDiscretization, MaxTimeStepSize, std::numeric_limits<Scalar>::infinity());
|
||||
template<class TypeTag>
|
||||
struct MaxTimeStepSize<TypeTag, TTag::FvBaseDiscretization>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = std::numeric_limits<type>::infinity();
|
||||
};
|
||||
|
||||
//! By default, accept any time step larger than zero
|
||||
SET_SCALAR_PROP(FvBaseDiscretization, MinTimeStepSize, 0.0);
|
||||
template<class TypeTag>
|
||||
struct MinTimeStepSize<TypeTag, TTag::FvBaseDiscretization>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 0.0;
|
||||
};
|
||||
|
||||
//! Disable grid adaptation by default
|
||||
template<class TypeTag>
|
||||
@ -270,10 +280,20 @@ struct EnableThermodynamicHints<TypeTag, TTag::FvBaseDiscretization> { static co
|
||||
// approximation accurately. Assuming that the value for the current solution is quite
|
||||
// close to the final value, a reduction of 3 orders of magnitude in the defect should be
|
||||
// sufficient...
|
||||
SET_SCALAR_PROP(FvBaseDiscretization, LinearSolverTolerance, 1e-3);
|
||||
template<class TypeTag>
|
||||
struct LinearSolverTolerance<TypeTag, TTag::FvBaseDiscretization>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-3;
|
||||
};
|
||||
|
||||
// use default initialization based on rule-of-thumb of Newton tolerance
|
||||
SET_SCALAR_PROP(FvBaseDiscretization, LinearSolverAbsTolerance, -1.);
|
||||
template<class TypeTag>
|
||||
struct LinearSolverAbsTolerance<TypeTag, TTag::FvBaseDiscretization>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = -1.;
|
||||
};
|
||||
|
||||
//! Set the history size of the time discretization to 2 (for implicit euler)
|
||||
template<class TypeTag>
|
||||
|
@ -74,7 +74,12 @@ SET_TYPE_PROP(FlashModel, FlashSolver,
|
||||
GetPropType<TypeTag, Properties::FluidSystem>>);
|
||||
|
||||
//! Let the flash solver choose its tolerance by default
|
||||
SET_SCALAR_PROP(FlashModel, FlashTolerance, -1.0);
|
||||
template<class TypeTag>
|
||||
struct FlashTolerance<TypeTag, TTag::FlashModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = -1.0;
|
||||
};
|
||||
|
||||
//! the Model property
|
||||
template<class TypeTag>
|
||||
|
@ -122,11 +122,26 @@ template<class TypeTag>
|
||||
struct Indices<TypeTag, TTag::NcpModel> { using type = Opm::NcpIndices<TypeTag, 0>; };
|
||||
|
||||
//! The unmodified weight for the pressure primary variable
|
||||
SET_SCALAR_PROP(NcpModel, NcpPressureBaseWeight, 1.0);
|
||||
template<class TypeTag>
|
||||
struct NcpPressureBaseWeight<TypeTag, TTag::NcpModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
//! The weight for the saturation primary variables
|
||||
SET_SCALAR_PROP(NcpModel, NcpSaturationsBaseWeight, 1.0);
|
||||
template<class TypeTag>
|
||||
struct NcpSaturationsBaseWeight<TypeTag, TTag::NcpModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
//! The unmodified weight for the fugacity primary variables
|
||||
SET_SCALAR_PROP(NcpModel, NcpFugacitiesBaseWeight, 1.0e-6);
|
||||
template<class TypeTag>
|
||||
struct NcpFugacitiesBaseWeight<TypeTag, TTag::NcpModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0e-6;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
@ -130,10 +130,20 @@ template<class TypeTag>
|
||||
struct NewtonWriteConvergence<TypeTag, TTag::NewtonMethod> { static constexpr bool value = false; };
|
||||
template<class TypeTag>
|
||||
struct NewtonVerbose<TypeTag, TTag::NewtonMethod> { static constexpr bool value = true; };
|
||||
SET_SCALAR_PROP(NewtonMethod, NewtonTolerance, 1e-8);
|
||||
template<class TypeTag>
|
||||
struct NewtonTolerance<TypeTag, TTag::NewtonMethod>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e-8;
|
||||
};
|
||||
// set the abortion tolerace to some very large value. if not
|
||||
// overwritten at run-time this basically disables abortions
|
||||
SET_SCALAR_PROP(NewtonMethod, NewtonMaxError, 1e100);
|
||||
template<class TypeTag>
|
||||
struct NewtonMaxError<TypeTag, TTag::NewtonMethod>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e100;
|
||||
};
|
||||
template<class TypeTag>
|
||||
struct NewtonTargetIterations<TypeTag, TTag::NewtonMethod> { static constexpr int value = 10; };
|
||||
template<class TypeTag>
|
||||
|
@ -120,13 +120,28 @@ template<class TypeTag>
|
||||
struct EnableDiffusion<TypeTag, TTag::PvsModel> { static constexpr bool value = false; };
|
||||
|
||||
//! The basis value for the weight of the pressure primary variable
|
||||
SET_SCALAR_PROP(PvsModel, PvsPressureBaseWeight, 1.0);
|
||||
template<class TypeTag>
|
||||
struct PvsPressureBaseWeight<TypeTag, TTag::PvsModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
//! The basis value for the weight of the saturation primary variables
|
||||
SET_SCALAR_PROP(PvsModel, PvsSaturationsBaseWeight, 1.0);
|
||||
template<class TypeTag>
|
||||
struct PvsSaturationsBaseWeight<TypeTag, TTag::PvsModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
//! The basis value for the weight of the mole fraction primary variables
|
||||
SET_SCALAR_PROP(PvsModel, PvsMoleFractionsBaseWeight, 1.0);
|
||||
template<class TypeTag>
|
||||
struct PvsMoleFractionsBaseWeight<TypeTag, TTag::PvsModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
@ -244,13 +244,28 @@ template<class TypeTag>
|
||||
struct PrintParameters<TypeTag, TTag::NumericModel> { static constexpr int value = 2; };
|
||||
|
||||
//! The default value for the simulation's end time
|
||||
SET_SCALAR_PROP(NumericModel, EndTime, -1e35);
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, TTag::NumericModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = -1e35;
|
||||
};
|
||||
|
||||
//! The default value for the simulation's initial time step size
|
||||
SET_SCALAR_PROP(NumericModel, InitialTimeStepSize, -1e35);
|
||||
template<class TypeTag>
|
||||
struct InitialTimeStepSize<TypeTag, TTag::NumericModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = -1e35;
|
||||
};
|
||||
|
||||
//! The default value for the simulation's restart time
|
||||
SET_SCALAR_PROP(NumericModel, RestartTime, -1e35);
|
||||
template<class TypeTag>
|
||||
struct RestartTime<TypeTag, TTag::NumericModel>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = -1e35;
|
||||
};
|
||||
|
||||
//! By default, do not force any time steps
|
||||
SET_STRING_PROP(NumericModel, PredeterminedTimeStepsFile, "");
|
||||
|
@ -60,7 +60,12 @@ struct ParallelAmgLinearSolver { using InheritsFrom = std::tuple<ParallelBaseLin
|
||||
template<class TypeTag>
|
||||
struct AmgCoarsenTarget<TypeTag, TTag::ParallelAmgLinearSolver> { static constexpr int value = 5000; };
|
||||
|
||||
SET_SCALAR_PROP(ParallelAmgLinearSolver, LinearSolverMaxError, 1e7);
|
||||
template<class TypeTag>
|
||||
struct LinearSolverMaxError<TypeTag, TTag::ParallelAmgLinearSolver>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e7;
|
||||
};
|
||||
|
||||
SET_TYPE_PROP(ParallelAmgLinearSolver, LinearSolverBackend,
|
||||
Opm::Linear::ParallelAmgBackend<TypeTag>);
|
||||
|
@ -392,7 +392,12 @@ template<class TypeTag>
|
||||
struct LinearSolverVerbosity<TypeTag, TTag::ParallelBaseLinearSolver> { static constexpr int value = 0; };
|
||||
|
||||
//! set the preconditioner relaxation parameter to 1.0 by default
|
||||
SET_SCALAR_PROP(ParallelBaseLinearSolver, PreconditionerRelaxation, 1.0);
|
||||
template<class TypeTag>
|
||||
struct PreconditionerRelaxation<TypeTag, TTag::ParallelBaseLinearSolver>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
//! set the preconditioner order to 0 by default
|
||||
template<class TypeTag>
|
||||
|
@ -52,7 +52,12 @@ SET_TYPE_PROP(ParallelBiCGStabLinearSolver,
|
||||
LinearSolverBackend,
|
||||
Opm::Linear::ParallelBiCGStabSolverBackend<TypeTag>);
|
||||
|
||||
SET_SCALAR_PROP(ParallelBiCGStabLinearSolver, LinearSolverMaxError, 1e7);
|
||||
template<class TypeTag>
|
||||
struct LinearSolverMaxError<TypeTag, TTag::ParallelBiCGStabLinearSolver>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1e7;
|
||||
};
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user