mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #1393 from andlaus/minimal_changes_for_blackoil_energy
Minimal changes for blackoil energy
This commit is contained in:
commit
d211c1927f
@ -76,6 +76,12 @@ SET_BOOL_PROP(EclFlowProblem, ExportGlobalTransmissibility, true);
|
|||||||
// default in flow is to formulate the equations in surface volumes
|
// default in flow is to formulate the equations in surface volumes
|
||||||
SET_BOOL_PROP(EclFlowProblem, BlackoilConserveSurfaceVolume, true);
|
SET_BOOL_PROP(EclFlowProblem, BlackoilConserveSurfaceVolume, true);
|
||||||
SET_BOOL_PROP(EclFlowProblem, UseVolumetricResidual, false);
|
SET_BOOL_PROP(EclFlowProblem, UseVolumetricResidual, false);
|
||||||
|
|
||||||
|
// disable all extensions supported by black oil model. this should not really be
|
||||||
|
// necessary but it makes things a bit more explicit
|
||||||
|
SET_BOOL_PROP(EclFlowProblem, EnablePolymer, false);
|
||||||
|
SET_BOOL_PROP(EclFlowProblem, EnableSolvent, false);
|
||||||
|
SET_BOOL_PROP(EclFlowProblem, EnableEnergy, false);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
@ -37,11 +37,24 @@
|
|||||||
namespace Ewoms {
|
namespace Ewoms {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowGasOilProblem, INHERITS_FROM(EclFlowProblem));
|
NEW_TYPE_TAG(EclFlowGasOilProblem, INHERITS_FROM(EclFlowProblem));
|
||||||
|
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_TYPE_PROP(EclFlowGasOilProblem, Indices,
|
SET_PROP(EclFlowGasOilProblem, Indices)
|
||||||
Ewoms::BlackOilTwoPhaseIndices<GET_PROP_VALUE(TypeTag, EnableSolvent)?1:0,
|
{
|
||||||
GET_PROP_VALUE(TypeTag, EnablePolymer)?1:0,
|
private:
|
||||||
/*PVOffset=*/0, /*disabledCompIdx=*/1>);
|
// it is unfortunately not possible to simply use 'TypeTag' here because this leads
|
||||||
|
// to cyclic definitions of some properties. if this happens the compiler error
|
||||||
|
// messages unfortunately are *really* confusing and not really helpful.
|
||||||
|
typedef TTAG(EclFlowProblem) BaseTypeTag;
|
||||||
|
typedef typename GET_PROP_TYPE(BaseTypeTag, FluidSystem) FluidSystem;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef Ewoms::BlackOilTwoPhaseIndices<GET_PROP_VALUE(TypeTag, EnableSolvent),
|
||||||
|
GET_PROP_VALUE(TypeTag, EnablePolymer),
|
||||||
|
GET_PROP_VALUE(TypeTag, EnableEnergy),
|
||||||
|
/*PVOffset=*/0,
|
||||||
|
/*disabledCompIdx=*/FluidSystem::waterCompIdx> type;
|
||||||
|
};
|
||||||
}}
|
}}
|
||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
@ -37,11 +37,24 @@
|
|||||||
namespace Ewoms {
|
namespace Ewoms {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowOilWaterProblem, INHERITS_FROM(EclFlowProblem));
|
NEW_TYPE_TAG(EclFlowOilWaterProblem, INHERITS_FROM(EclFlowProblem));
|
||||||
|
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_TYPE_PROP(EclFlowOilWaterProblem, Indices,
|
SET_PROP(EclFlowOilWaterProblem, Indices)
|
||||||
Ewoms::BlackOilTwoPhaseIndices<GET_PROP_VALUE(TypeTag, EnableSolvent)?1:0,
|
{
|
||||||
GET_PROP_VALUE(TypeTag, EnablePolymer)?1:0,
|
private:
|
||||||
/*PVOffset=*/0, /*disabledCompIdx=*/2>);
|
// it is unfortunately not possible to simply use 'TypeTag' here because this leads
|
||||||
|
// to cyclic definitions of some properties. if this happens the compiler error
|
||||||
|
// messages unfortunately are *really* confusing and not really helpful.
|
||||||
|
typedef TTAG(EclFlowProblem) BaseTypeTag;
|
||||||
|
typedef typename GET_PROP_TYPE(BaseTypeTag, FluidSystem) FluidSystem;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef Ewoms::BlackOilTwoPhaseIndices<GET_PROP_VALUE(TypeTag, EnableSolvent),
|
||||||
|
GET_PROP_VALUE(TypeTag, EnablePolymer),
|
||||||
|
GET_PROP_VALUE(TypeTag, EnableEnergy),
|
||||||
|
/*PVOffset=*/0,
|
||||||
|
/*disabledCompIdx=*/FluidSystem::gasCompIdx> type;
|
||||||
|
};
|
||||||
}}
|
}}
|
||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
@ -39,10 +39,23 @@ namespace Properties {
|
|||||||
NEW_TYPE_TAG(EclFlowOilWaterPolymerProblem, INHERITS_FROM(EclFlowProblem));
|
NEW_TYPE_TAG(EclFlowOilWaterPolymerProblem, INHERITS_FROM(EclFlowProblem));
|
||||||
SET_BOOL_PROP(EclFlowOilWaterPolymerProblem, EnablePolymer, true);
|
SET_BOOL_PROP(EclFlowOilWaterPolymerProblem, EnablePolymer, true);
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_TYPE_PROP(EclFlowOilWaterPolymerProblem, Indices,
|
//! The indices required by the model
|
||||||
Ewoms::BlackOilTwoPhaseIndices<GET_PROP_VALUE(TypeTag, EnableSolvent) ? 1 : 0,
|
SET_PROP(EclFlowOilWaterPolymerProblem, Indices)
|
||||||
GET_PROP_VALUE(TypeTag, EnablePolymer) ? 1 : 0,
|
{
|
||||||
/*PVOffset =*/ 0, /*disabledCompIdx=*/ 2>);
|
private:
|
||||||
|
// it is unfortunately not possible to simply use 'TypeTag' here because this leads
|
||||||
|
// to cyclic definitions of some properties. if this happens the compiler error
|
||||||
|
// messages unfortunately are *really* confusing and not really helpful.
|
||||||
|
typedef TTAG(EclFlowProblem) BaseTypeTag;
|
||||||
|
typedef typename GET_PROP_TYPE(BaseTypeTag, FluidSystem) FluidSystem;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef Ewoms::BlackOilTwoPhaseIndices<GET_PROP_VALUE(TypeTag, EnableSolvent),
|
||||||
|
GET_PROP_VALUE(TypeTag, EnablePolymer),
|
||||||
|
GET_PROP_VALUE(TypeTag, EnableEnergy),
|
||||||
|
/*PVOffset=*/0,
|
||||||
|
/*disabledCompIdx=*/FluidSystem::gasCompIdx> type;
|
||||||
|
};
|
||||||
}}
|
}}
|
||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
Loading…
Reference in New Issue
Block a user