mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
move LensProblem parameters to TypeTag-free parameter system
This commit is contained in:
parent
0d7bba7f4f
commit
9a572e1c16
@ -41,6 +41,7 @@
|
|||||||
#include <opm/material/fluidstates/ImmiscibleFluidState.hpp>
|
#include <opm/material/fluidstates/ImmiscibleFluidState.hpp>
|
||||||
#include <opm/material/fluidsystems/TwoPhaseImmiscibleFluidSystem.hpp>
|
#include <opm/material/fluidsystems/TwoPhaseImmiscibleFluidSystem.hpp>
|
||||||
|
|
||||||
|
#include <opm/models/common/multiphasebaseparameters.hh>
|
||||||
#include <opm/models/common/transfluxmodule.hh>
|
#include <opm/models/common/transfluxmodule.hh>
|
||||||
|
|
||||||
#include <opm/models/discretization/common/fvbaseadlocallinearizer.hh>
|
#include <opm/models/discretization/common/fvbaseadlocallinearizer.hh>
|
||||||
@ -124,67 +125,24 @@ public:
|
|||||||
|
|
||||||
namespace Opm::Parameters {
|
namespace Opm::Parameters {
|
||||||
|
|
||||||
// declare the properties specific for the lens problem
|
|
||||||
template<class TypeTag, class MyTypeTag>
|
|
||||||
struct LensLowerLeftX { using type = Properties::UndefinedProperty; };
|
|
||||||
|
|
||||||
template<class TypeTag, class MyTypeTag>
|
|
||||||
struct LensLowerLeftY { using type = Properties::UndefinedProperty; };
|
|
||||||
|
|
||||||
template<class TypeTag, class MyTypeTag>
|
|
||||||
struct LensLowerLeftZ { using type = Properties::UndefinedProperty; };
|
|
||||||
|
|
||||||
template<class TypeTag, class MyTypeTag>
|
|
||||||
struct LensUpperRightX { using type = Properties::UndefinedProperty; };
|
|
||||||
|
|
||||||
template<class TypeTag, class MyTypeTag>
|
|
||||||
struct LensUpperRightY { using type = Properties::UndefinedProperty; };
|
|
||||||
|
|
||||||
template<class TypeTag, class MyTypeTag>
|
|
||||||
struct LensUpperRightZ { using type = Properties::UndefinedProperty; };
|
|
||||||
|
|
||||||
// define the properties specific for the lens problem
|
// define the properties specific for the lens problem
|
||||||
template<class TypeTag>
|
template<class Scalar>
|
||||||
struct LensLowerLeftX<TypeTag, Properties::TTag::LensBaseProblem>
|
struct LensLowerLeftX { static constexpr Scalar value = 1.0; };
|
||||||
{
|
|
||||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
|
||||||
static constexpr type value = 1.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class TypeTag>
|
template<class Scalar>
|
||||||
struct LensLowerLeftY<TypeTag, Properties::TTag::LensBaseProblem>
|
struct LensLowerLeftY { static constexpr Scalar value = 2.0; };
|
||||||
{
|
|
||||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
|
||||||
static constexpr type value = 2.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class TypeTag>
|
template<class Scalar>
|
||||||
struct LensLowerLeftZ<TypeTag, Properties::TTag::LensBaseProblem>
|
struct LensLowerLeftZ { static constexpr Scalar value = 0.0; };
|
||||||
{
|
|
||||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
|
||||||
static constexpr type value = 0.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class TypeTag>
|
template<class Scalar>
|
||||||
struct LensUpperRightX<TypeTag, Properties::TTag::LensBaseProblem>
|
struct LensUpperRightX { static constexpr Scalar value = 4.0; };
|
||||||
{
|
|
||||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
|
||||||
static constexpr type value = 4.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class TypeTag>
|
template<class Scalar>
|
||||||
struct LensUpperRightY<TypeTag, Properties::TTag::LensBaseProblem>
|
struct LensUpperRightY { static constexpr Scalar value = 3.0; };
|
||||||
{
|
|
||||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
|
||||||
static constexpr type value = 3.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class TypeTag>
|
template<class Scalar>
|
||||||
struct LensUpperRightZ<TypeTag, Properties::TTag::LensBaseProblem>
|
struct LensUpperRightZ { static constexpr Scalar value = 1.0; };
|
||||||
{
|
|
||||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
|
||||||
static constexpr type value = 1.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Opm::Parameters
|
} // namespace Opm::Parameters
|
||||||
|
|
||||||
@ -274,14 +232,14 @@ public:
|
|||||||
FluidSystem::init();
|
FluidSystem::init();
|
||||||
|
|
||||||
temperature_ = 273.15 + 20; // -> 20°C
|
temperature_ = 273.15 + 20; // -> 20°C
|
||||||
lensLowerLeft_[0] = Parameters::get<TypeTag, Parameters::LensLowerLeftX>();
|
lensLowerLeft_[0] = Parameters::Get<Parameters::LensLowerLeftX<Scalar>>();
|
||||||
lensLowerLeft_[1] = Parameters::get<TypeTag, Parameters::LensLowerLeftY>();
|
lensLowerLeft_[1] = Parameters::Get<Parameters::LensLowerLeftY<Scalar>>();
|
||||||
lensUpperRight_[0] = Parameters::get<TypeTag, Parameters::LensUpperRightX>();
|
lensUpperRight_[0] = Parameters::Get<Parameters::LensUpperRightX<Scalar>>();
|
||||||
lensUpperRight_[1] = Parameters::get<TypeTag, Parameters::LensUpperRightY>();
|
lensUpperRight_[1] = Parameters::Get<Parameters::LensUpperRightY<Scalar>>();
|
||||||
|
|
||||||
if constexpr (dim == 3) {
|
if constexpr (dim == 3) {
|
||||||
lensLowerLeft_[2] = Parameters::get<TypeTag, Parameters::LensLowerLeftZ>();
|
lensLowerLeft_[2] = Parameters::Get<Parameters::LensLowerLeftZ<Scalar>>();
|
||||||
lensUpperRight_[2] = Parameters::get<TypeTag, Parameters::LensUpperRightZ>();
|
lensUpperRight_[2] = Parameters::Get<Parameters::LensUpperRightZ<Scalar>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// residual saturations
|
// residual saturations
|
||||||
@ -315,19 +273,19 @@ public:
|
|||||||
{
|
{
|
||||||
ParentType::registerParameters();
|
ParentType::registerParameters();
|
||||||
|
|
||||||
Parameters::registerParam<TypeTag, Parameters::LensLowerLeftX>
|
Parameters::Register<Parameters::LensLowerLeftX<Scalar>>
|
||||||
("The x-coordinate of the lens' lower-left corner [m].");
|
("The x-coordinate of the lens' lower-left corner [m].");
|
||||||
Parameters::registerParam<TypeTag, Parameters::LensLowerLeftY>
|
Parameters::Register<Parameters::LensLowerLeftY<Scalar>>
|
||||||
("The y-coordinate of the lens' lower-left corner [m].");
|
("The y-coordinate of the lens' lower-left corner [m].");
|
||||||
Parameters::registerParam<TypeTag, Parameters::LensUpperRightX>
|
Parameters::Register<Parameters::LensUpperRightX<Scalar>>
|
||||||
("The x-coordinate of the lens' upper-right corner [m].");
|
("The x-coordinate of the lens' upper-right corner [m].");
|
||||||
Parameters::registerParam<TypeTag, Parameters::LensUpperRightY>
|
Parameters::Register<Parameters::LensUpperRightY<Scalar>>
|
||||||
("The y-coordinate of the lens' upper-right corner [m].");
|
("The y-coordinate of the lens' upper-right corner [m].");
|
||||||
|
|
||||||
if constexpr (dim == 3) {
|
if constexpr (dim == 3) {
|
||||||
Parameters::registerParam<TypeTag, Parameters::LensLowerLeftZ>
|
Parameters::Register<Parameters::LensLowerLeftZ<Scalar>>
|
||||||
("The z-coordinate of the lens' lower-left corner [m].");
|
("The z-coordinate of the lens' lower-left corner [m].");
|
||||||
Parameters::registerParam<TypeTag, Parameters::LensUpperRightZ>
|
Parameters::Register<Parameters::LensUpperRightZ<Scalar>>
|
||||||
("The z-coordinate of the lens' upper-right corner [m].");
|
("The z-coordinate of the lens' upper-right corner [m].");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user