mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-11-02 09:16:07 -06:00
changed: move the DomainSize(X|Y|Z) parameters to Opm::Parameters
This commit is contained in:
1 parent
6b11559bf4
commit
fdf0179c5a
10 files changed
+154
-142
No files matched your search
@@ -53,7 +53,6 @@
|
||||
#include <dune/common/fmatrix.hh>
|
||||
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
namespace Opm {
|
||||
@@ -224,28 +223,6 @@ struct Vanguard<TypeTag, TTag::CO2PTBaseProblem> {
|
||||
using type = Opm::StructuredGridVanguard<TypeTag>;
|
||||
};
|
||||
|
||||
//\Note: from the Julia code, the problem is a 1D problem with 3X1 cell.
|
||||
//\Note: DomainSizeX is 3.0 meters
|
||||
//\Note: DomainSizeY is 1.0 meters
|
||||
template <class TypeTag>
|
||||
struct DomainSizeX<TypeTag, TTag::CO2PTBaseProblem> {
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 300; // meter
|
||||
};
|
||||
|
||||
template <class TypeTag>
|
||||
struct DomainSizeY<TypeTag, TTag::CO2PTBaseProblem> {
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
// DomainSizeZ is not needed, while to keep structuredgridvanguard.hh compile
|
||||
template <class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, TTag::CO2PTBaseProblem> {
|
||||
using type = GetPropType<TypeTag, Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct CellsX<TypeTag, TTag::CO2PTBaseProblem> { static constexpr unsigned value = 30; };
|
||||
template<class TypeTag>
|
||||
@@ -263,6 +240,31 @@ struct EnableEnergy<TypeTag, TTag::CO2PTBaseProblem> {
|
||||
|
||||
namespace Opm::Parameters {
|
||||
|
||||
//\Note: from the Julia code, the problem is a 1D problem with 3X1 cell.
|
||||
//\Note: DomainSizeX is 3.0 meters
|
||||
//\Note: DomainSizeY is 1.0 meters
|
||||
template <class TypeTag>
|
||||
struct DomainSizeX<TypeTag, Properties::TTag::CO2PTBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 300; // meter
|
||||
};
|
||||
|
||||
template <class TypeTag>
|
||||
struct DomainSizeY<TypeTag, Properties::TTag::CO2PTBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
// DomainSizeZ is not needed, while to keep structuredgridvanguard.hh compile
|
||||
template <class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, Properties::TTag::CO2PTBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
// The default for the end time of the simulation
|
||||
template <class TypeTag>
|
||||
struct EndTime<TypeTag, Properties::TTag::CO2PTBaseProblem>
|
||||
|
||||
@@ -110,26 +110,6 @@ struct EnableDiffusion<TypeTag, TTag::DiffusionBaseProblem> { static constexpr b
|
||||
template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::DiffusionBaseProblem> { static constexpr bool value = false; };
|
||||
|
||||
// define the properties specific for the diffusion problem
|
||||
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 unsigned value = 250; };
|
||||
template<class TypeTag>
|
||||
@@ -141,6 +121,28 @@ struct CellsZ<TypeTag, TTag::DiffusionBaseProblem> { static constexpr unsigned v
|
||||
|
||||
namespace Opm::Parameters {
|
||||
|
||||
// define the properties specific for the diffusion problem
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, Properties::TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, Properties::TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, Properties::TTag::DiffusionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
// The default for the end time of the simulation
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, Properties::TTag::DiffusionBaseProblem>
|
||||
|
||||
@@ -136,26 +136,6 @@ struct EnableConstraints<TypeTag, TTag::FingerBaseProblem> { static constexpr in
|
||||
template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::FingerBaseProblem> { static constexpr bool value = true; };
|
||||
|
||||
// define the properties specific for the finger problem
|
||||
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;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct InitialWaterSaturation<TypeTag, TTag::FingerBaseProblem>
|
||||
{
|
||||
@@ -174,6 +154,28 @@ struct CellsZ<TypeTag, TTag::FingerBaseProblem> { static constexpr unsigned valu
|
||||
|
||||
namespace Opm::Parameters {
|
||||
|
||||
// define the properties specific for the finger problem
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, Properties::TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 0.1;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, Properties::TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 0.3;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, Properties::TTag::FingerBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 0.1;
|
||||
};
|
||||
|
||||
// The default for the end time of the simulation
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, Properties::TTag::FingerBaseProblem>
|
||||
|
||||
@@ -175,25 +175,6 @@ struct LensUpperRightZ<TypeTag, TTag::LensBaseProblem>
|
||||
static constexpr type value = 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 unsigned value = 48; };
|
||||
template<class TypeTag>
|
||||
@@ -209,6 +190,27 @@ struct VtkWriteIntrinsicPermeabilities<TypeTag, TTag::LensBaseProblem> { static
|
||||
|
||||
namespace Opm::Parameters {
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, Properties::TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 6.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, Properties::TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 4.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, Properties::TTag::LensBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
// enable the cache for intensive quantities by default for this problem
|
||||
template<class TypeTag>
|
||||
struct EnableIntensiveQuantityCache<TypeTag, Properties::TTag::LensBaseProblem>
|
||||
|
||||
@@ -127,26 +127,6 @@ struct VtkWriteFilterVelocities<TypeTag, TTag::PowerInjectionBaseProblem> { stat
|
||||
template<class TypeTag>
|
||||
struct EnableGravity<TypeTag, TTag::PowerInjectionBaseProblem> { static constexpr bool value = false; };
|
||||
|
||||
// define the properties specific for the power injection problem
|
||||
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 unsigned value = 250; };
|
||||
template<class TypeTag>
|
||||
@@ -158,6 +138,28 @@ struct CellsZ<TypeTag, TTag::PowerInjectionBaseProblem> { static constexpr unsig
|
||||
|
||||
namespace Opm::Parameters {
|
||||
|
||||
// define the properties specific for the power injection problem
|
||||
template<class TypeTag>
|
||||
struct DomainSizeX<TypeTag, Properties::TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 100.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeY<TypeTag, Properties::TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
template<class TypeTag>
|
||||
struct DomainSizeZ<TypeTag, Properties::TTag::PowerInjectionBaseProblem>
|
||||
{
|
||||
using type = GetPropType<TypeTag, Properties::Scalar>;
|
||||
static constexpr type value = 1.0;
|
||||
};
|
||||
|
||||
// The default for the end time of the simulation
|
||||
template<class TypeTag>
|
||||
struct EndTime<TypeTag, Properties::TTag::PowerInjectionBaseProblem>
|
||||
|
||||
Reference in new issue
Block a user