mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-11-26 03:00:17 -06:00
changed: remove NEW_TYPE_TAG macro usage
This commit is contained in:
parent
914053ac3c
commit
e8248b44ff
@ -43,7 +43,11 @@ class EbosProblem;
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosTypeTag, INHERITS_FROM(BlackOilModel, EclBaseProblem, FlowModelParameters));
|
namespace TTag {
|
||||||
|
struct EbosTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<FlowModelParameters, EclBaseProblem, BlackOilModel>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Set the problem class
|
// Set the problem class
|
||||||
SET_TYPE_PROP(EbosTypeTag, Problem, Opm::EbosProblem<TypeTag>);
|
SET_TYPE_PROP(EbosTypeTag, Problem, Opm::EbosProblem<TypeTag>);
|
||||||
|
@ -53,7 +53,11 @@ public:
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosAltIdxTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosAltIdxTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// use a fluid system with different indices than the default
|
// use a fluid system with different indices than the default
|
||||||
SET_PROP(EbosAltIdxTypeTag, FluidSystem)
|
SET_PROP(EbosAltIdxTypeTag, FluidSystem)
|
||||||
|
@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosBrineTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosBrineTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// enable the brine extension of the black oil model
|
// enable the brine extension of the black oil model
|
||||||
SET_BOOL_PROP(EbosBrineTypeTag, EnableBrine, true);
|
SET_BOOL_PROP(EbosBrineTypeTag, EnableBrine, true);
|
||||||
|
@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosFoamTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosFoamTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// enable the foam extension of the black oil model
|
// enable the foam extension of the black oil model
|
||||||
SET_BOOL_PROP(EbosFoamTypeTag, EnableFoam, true);
|
SET_BOOL_PROP(EbosFoamTypeTag, EnableFoam, true);
|
||||||
|
@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosGasOilTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosGasOilTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
//! The indices indices which only enable oil and water
|
//! The indices indices which only enable oil and water
|
||||||
SET_PROP(EbosGasOilTypeTag, Indices)
|
SET_PROP(EbosGasOilTypeTag, Indices)
|
||||||
|
@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosOilWaterTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosOilWaterTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
//! The indices indices which only enable oil and water
|
//! The indices indices which only enable oil and water
|
||||||
SET_PROP(EbosOilWaterTypeTag, Indices)
|
SET_PROP(EbosOilWaterTypeTag, Indices)
|
||||||
|
@ -31,7 +31,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosOilWaterPolymerTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosOilWaterPolymerTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// enable the polymer extension of the black oil model
|
// enable the polymer extension of the black oil model
|
||||||
SET_BOOL_PROP(EbosOilWaterPolymerTypeTag, EnablePolymer, true);
|
SET_BOOL_PROP(EbosOilWaterPolymerTypeTag, EnablePolymer, true);
|
||||||
|
@ -33,7 +33,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosPlainTypeTag, INHERITS_FROM(BlackOilModel, EclBaseProblem));
|
namespace TTag {
|
||||||
|
struct EbosPlainTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EclBaseProblem, BlackOilModel>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Opm::Properties
|
} // namespace Opm::Properties
|
||||||
|
|
||||||
|
@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosPolymerTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosPolymerTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// enable the polymer extension of the black oil model
|
// enable the polymer extension of the black oil model
|
||||||
SET_BOOL_PROP(EbosPolymerTypeTag, EnablePolymer, true);
|
SET_BOOL_PROP(EbosPolymerTypeTag, EnablePolymer, true);
|
||||||
|
@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosSolventTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosSolventTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// enable the solvent extension of the black oil model
|
// enable the solvent extension of the black oil model
|
||||||
SET_BOOL_PROP(EbosSolventTypeTag, EnableSolvent, true);
|
SET_BOOL_PROP(EbosSolventTypeTag, EnableSolvent, true);
|
||||||
|
@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EbosThermalTypeTag, INHERITS_FROM(EbosTypeTag));
|
namespace TTag {
|
||||||
|
struct EbosThermalTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// enable the energy extension of the black oil model
|
// enable the energy extension of the black oil model
|
||||||
SET_BOOL_PROP(EbosThermalTypeTag, EnableEnergy, true);
|
SET_BOOL_PROP(EbosThermalTypeTag, EnableEnergy, true);
|
||||||
|
@ -42,7 +42,11 @@ class EclAluGridVanguard;
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclAluGridVanguard, INHERITS_FROM(EclBaseVanguard));
|
namespace TTag {
|
||||||
|
struct EclAluGridVanguard {
|
||||||
|
using InheritsFrom = std::tuple<EclBaseVanguard>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// declare the properties
|
// declare the properties
|
||||||
SET_TYPE_PROP(EclAluGridVanguard, Vanguard, Opm::EclAluGridVanguard<TypeTag>);
|
SET_TYPE_PROP(EclAluGridVanguard, Vanguard, Opm::EclAluGridVanguard<TypeTag>);
|
||||||
|
@ -67,7 +67,9 @@ class EclBaseVanguard;
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclBaseVanguard);
|
namespace TTag {
|
||||||
|
struct EclBaseVanguard {};
|
||||||
|
}
|
||||||
|
|
||||||
// declare the properties required by the for the ecl simulator vanguard
|
// declare the properties required by the for the ecl simulator vanguard
|
||||||
NEW_PROP_TAG(EquilGrid);
|
NEW_PROP_TAG(EquilGrid);
|
||||||
|
@ -49,7 +49,11 @@ class EclCpGridVanguard;
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclCpGridVanguard, INHERITS_FROM(EclBaseVanguard));
|
namespace TTag {
|
||||||
|
struct EclCpGridVanguard {
|
||||||
|
using InheritsFrom = std::tuple<EclBaseVanguard>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// declare the properties
|
// declare the properties
|
||||||
SET_TYPE_PROP(EclCpGridVanguard, Vanguard, Opm::EclCpGridVanguard<TypeTag>);
|
SET_TYPE_PROP(EclCpGridVanguard, Vanguard, Opm::EclCpGridVanguard<TypeTag>);
|
||||||
|
@ -47,7 +47,9 @@
|
|||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
// create new type tag for the Ecl-output
|
// create new type tag for the Ecl-output
|
||||||
NEW_TYPE_TAG(EclOutputBlackOil);
|
namespace TTag {
|
||||||
|
struct EclOutputBlackOil {};
|
||||||
|
}
|
||||||
|
|
||||||
NEW_PROP_TAG(ForceDisableFluidInPlaceOutput);
|
NEW_PROP_TAG(ForceDisableFluidInPlaceOutput);
|
||||||
|
|
||||||
|
@ -39,7 +39,11 @@ class EclPolyhedralGridVanguard;
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclPolyhedralGridVanguard, INHERITS_FROM(EclBaseVanguard));
|
namespace TTag {
|
||||||
|
struct EclPolyhedralGridVanguard {
|
||||||
|
using InheritsFrom = std::tuple<EclBaseVanguard>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// declare the properties
|
// declare the properties
|
||||||
SET_TYPE_PROP(EclPolyhedralGridVanguard, Vanguard, Opm::EclPolyhedralGridVanguard<TypeTag>);
|
SET_TYPE_PROP(EclPolyhedralGridVanguard, Vanguard, Opm::EclPolyhedralGridVanguard<TypeTag>);
|
||||||
|
@ -118,12 +118,21 @@ class EclProblem;
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
|
namespace TTag {
|
||||||
|
|
||||||
#if EBOS_USE_ALUGRID
|
#if EBOS_USE_ALUGRID
|
||||||
NEW_TYPE_TAG(EclBaseProblem, INHERITS_FROM(EclAluGridVanguard, EclOutputBlackOil, VtkEclTracer));
|
struct EclBaseProblem {
|
||||||
|
using InheritstFrom = std::tuple<VtkEclTracer, EclOutputBlackOil, EclAluGridVanguard>;
|
||||||
|
};
|
||||||
#else
|
#else
|
||||||
NEW_TYPE_TAG(EclBaseProblem, INHERITS_FROM(EclCpGridVanguard, EclOutputBlackOil, VtkEclTracer));
|
struct EclBaseProblem {
|
||||||
//NEW_TYPE_TAG(EclBaseProblem, INHERITS_FROM(EclPolyhedralGridVanguard, EclOutputBlackOil, VtkEclTracer));
|
using InheritsFrom = std::tuple<VtkEclTracer, EclOutputBlackOil, EclCpGridVanguard>;
|
||||||
|
};
|
||||||
|
//struct EclBaseProblem {
|
||||||
|
// using InheritsFrom = std::tuple<VtkEclTracer, EclOutputBlackOil, EclPolyhedralGridVanguard>;
|
||||||
|
//};
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// The class which deals with ECL wells
|
// The class which deals with ECL wells
|
||||||
NEW_PROP_TAG(EclWellModel);
|
NEW_PROP_TAG(EclWellModel);
|
||||||
@ -431,8 +440,8 @@ class EclProblem : public GetPropType<TypeTag, Properties::BaseProblem>
|
|||||||
using Simulator = GetPropType<TypeTag, Properties::Simulator>;
|
using Simulator = GetPropType<TypeTag, Properties::Simulator>;
|
||||||
using Element = typename GridView::template Codim<0>::Entity;
|
using Element = typename GridView::template Codim<0>::Entity;
|
||||||
using ElementContext = GetPropType<TypeTag, Properties::ElementContext>;
|
using ElementContext = GetPropType<TypeTag, Properties::ElementContext>;
|
||||||
using EclMaterialLawManager = typename GET_PROP(TypeTag, MaterialLaw)::EclMaterialLawManager;
|
using EclMaterialLawManager = typename GetProp<TypeTag, Properties::MaterialLaw>::EclMaterialLawManager;
|
||||||
using EclThermalLawManager = typename GET_PROP(TypeTag, SolidEnergyLaw)::EclThermalLawManager;
|
using EclThermalLawManager = typename GetProp<TypeTag, Properties::SolidEnergyLaw>::EclThermalLawManager;
|
||||||
using MaterialLawParams = typename EclMaterialLawManager::MaterialLawParams;
|
using MaterialLawParams = typename EclMaterialLawManager::MaterialLawParams;
|
||||||
using SolidEnergyLawParams = typename EclThermalLawManager::SolidEnergyLawParams;
|
using SolidEnergyLawParams = typename EclThermalLawManager::SolidEnergyLawParams;
|
||||||
using ThermalConductionLawParams = typename EclThermalLawManager::ThermalConductionLawParams;
|
using ThermalConductionLawParams = typename EclThermalLawManager::ThermalConductionLawParams;
|
||||||
@ -521,7 +530,7 @@ public:
|
|||||||
int paramIdx,
|
int paramIdx,
|
||||||
int posParamIdx OPM_UNUSED)
|
int posParamIdx OPM_UNUSED)
|
||||||
{
|
{
|
||||||
typedef typename GET_PROP(TypeTag, ParameterMetaData) ParamsMeta;
|
using ParamsMeta = GetProp<TypeTag, Properties::ParameterMetaData>;
|
||||||
Dune::ParameterTree& tree = ParamsMeta::tree();
|
Dune::ParameterTree& tree = ParamsMeta::tree();
|
||||||
|
|
||||||
std::string param = argv[paramIdx];
|
std::string param = argv[paramIdx];
|
||||||
|
@ -43,7 +43,9 @@
|
|||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
// create new type tag for the VTK tracer output
|
// create new type tag for the VTK tracer output
|
||||||
NEW_TYPE_TAG(VtkEclTracer);
|
namespace TTag {
|
||||||
|
struct VtkEclTracer {};
|
||||||
|
}
|
||||||
|
|
||||||
// create the property tags needed for the tracer model
|
// create the property tags needed for the tracer model
|
||||||
NEW_PROP_TAG(VtkWriteEclTracerConcentration);
|
NEW_PROP_TAG(VtkWriteEclTracerConcentration);
|
||||||
|
@ -26,7 +26,11 @@
|
|||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclFlowProblemSimple, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowProblemSimple {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
SET_BOOL_PROP(EclFlowProblemSimple, MatrixAddWellContributions, true);
|
SET_BOOL_PROP(EclFlowProblemSimple, MatrixAddWellContributions, true);
|
||||||
SET_INT_PROP(EclFlowProblemSimple, LinearSolverVerbosity,0);
|
SET_INT_PROP(EclFlowProblemSimple, LinearSolverVerbosity,0);
|
||||||
@ -50,7 +54,11 @@ namespace Opm {
|
|||||||
public:
|
public:
|
||||||
typedef Opm::BlackOilFluidSystem<Scalar> type;
|
typedef Opm::BlackOilFluidSystem<Scalar> type;
|
||||||
};
|
};
|
||||||
//NEW_TYPE_TAG(EclFlowProblem, INHERITS_FROM(BlackOilModel, EclBaseProblem));
|
// namespace TTag {
|
||||||
|
// struct EclFlowProblemSimple {
|
||||||
|
// using InheritsFrom = std::tuple<EclBaseProblem, BlackOilModel>;
|
||||||
|
// };
|
||||||
|
// }
|
||||||
SET_TYPE_PROP(EclFlowProblemSimple, IntensiveQuantities, Opm::BlackOilIntensiveQuantities<TypeTag>);
|
SET_TYPE_PROP(EclFlowProblemSimple, IntensiveQuantities, Opm::BlackOilIntensiveQuantities<TypeTag>);
|
||||||
//SET_TYPE_PROP(EclFlowProblemSimple, LinearSolverBackend, Opm::ISTLSolverEbos<TypeTag>);
|
//SET_TYPE_PROP(EclFlowProblemSimple, LinearSolverBackend, Opm::ISTLSolverEbos<TypeTag>);
|
||||||
//SET_TAG_PROP(EclFlowProblemSimple, LinearSolverSplice, ParallelBiCGStabLinearSolver);
|
//SET_TAG_PROP(EclFlowProblemSimple, LinearSolverSplice, ParallelBiCGStabLinearSolver);
|
||||||
|
@ -31,7 +31,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowBrineProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowBrineProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowBrineProblem, EnableBrine, true);
|
SET_BOOL_PROP(EclFlowBrineProblem, EnableBrine, true);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -31,7 +31,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowEnergyProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowEnergyProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowEnergyProblem, EnableEnergy, true);
|
SET_BOOL_PROP(EclFlowEnergyProblem, EnableEnergy, true);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -31,7 +31,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowFoamProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowFoamProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowFoamProblem, EnableFoam, true);
|
SET_BOOL_PROP(EclFlowFoamProblem, EnableFoam, true);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -36,7 +36,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowGasOilProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowGasOilProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_PROP(EclFlowGasOilProblem, Indices)
|
SET_PROP(EclFlowGasOilProblem, Indices)
|
||||||
|
@ -36,7 +36,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowOilWaterProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowOilWaterProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_PROP(EclFlowOilWaterProblem, Indices)
|
SET_PROP(EclFlowOilWaterProblem, Indices)
|
||||||
|
@ -36,7 +36,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowOilWaterBrineProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowOilWaterBrineProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowOilWaterBrineProblem, EnableBrine, true);
|
SET_BOOL_PROP(EclFlowOilWaterBrineProblem, EnableBrine, true);
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_PROP(EclFlowOilWaterBrineProblem, Indices)
|
SET_PROP(EclFlowOilWaterBrineProblem, Indices)
|
||||||
|
@ -36,7 +36,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowOilWaterPolymerProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowOilWaterPolymerProblem {
|
||||||
|
using InheritsFrom = std::tuple<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
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
|
@ -36,7 +36,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowOilWaterPolymerInjectivityProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowOilWaterPolymerInjectivityProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowOilWaterPolymerInjectivityProblem, EnablePolymer, true);
|
SET_BOOL_PROP(EclFlowOilWaterPolymerInjectivityProblem, EnablePolymer, true);
|
||||||
SET_BOOL_PROP(EclFlowOilWaterPolymerInjectivityProblem, EnablePolymerMW, true);
|
SET_BOOL_PROP(EclFlowOilWaterPolymerInjectivityProblem, EnablePolymerMW, true);
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
|
@ -31,7 +31,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowPolymerProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowPolymerProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowPolymerProblem, EnablePolymer, true);
|
SET_BOOL_PROP(EclFlowPolymerProblem, EnablePolymer, true);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -31,7 +31,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
namespace Properties {
|
namespace Properties {
|
||||||
NEW_TYPE_TAG(EclFlowSolventProblem, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowSolventProblem {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowSolventProblem, EnableSolvent, true);
|
SET_BOOL_PROP(EclFlowSolventProblem, EnableSolvent, true);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -25,7 +25,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclFlowProblemSimple, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowProblemSimple {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_PROP(EclFlowProblemSimple, Indices)
|
SET_PROP(EclFlowProblemSimple, Indices)
|
||||||
{
|
{
|
||||||
|
@ -24,7 +24,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclFlowProblemSimple, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct EclFlowProblemSimple {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(EclFlowProblemSimple, EnableEnergy, true);
|
SET_BOOL_PROP(EclFlowProblemSimple, EnableEnergy, true);
|
||||||
//! The indices required by the model
|
//! The indices required by the model
|
||||||
SET_PROP(EclFlowProblemSimple, Indices)
|
SET_PROP(EclFlowProblemSimple, Indices)
|
||||||
|
@ -71,7 +71,12 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(EclFlowProblem, INHERITS_FROM(BlackOilModel, EclBaseProblem, FlowNonLinearSolver, FlowModelParameters, FlowTimeSteppingParameters));
|
namespace TTag {
|
||||||
|
struct EclFlowProblem {
|
||||||
|
using InheritsFrom = std::tuple<FlowTimeSteppingParameters, FlowModelParameters,
|
||||||
|
FlowNonLinearSolver, EclBaseProblem, BlackOilModel>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_STRING_PROP(EclFlowProblem, OutputDir, "");
|
SET_STRING_PROP(EclFlowProblem, OutputDir, "");
|
||||||
SET_BOOL_PROP(EclFlowProblem, EnableDebuggingChecks, false);
|
SET_BOOL_PROP(EclFlowProblem, EnableDebuggingChecks, false);
|
||||||
// default in flow is to formulate the equations in surface volumes
|
// default in flow is to formulate the equations in surface volumes
|
||||||
|
@ -27,7 +27,9 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(FlowModelParameters);
|
namespace TTag {
|
||||||
|
struct FlowModelParameters {};
|
||||||
|
}
|
||||||
|
|
||||||
NEW_PROP_TAG(DbhpMaxRel);
|
NEW_PROP_TAG(DbhpMaxRel);
|
||||||
NEW_PROP_TAG(DwellFractionMax);
|
NEW_PROP_TAG(DwellFractionMax);
|
||||||
|
@ -69,7 +69,7 @@ namespace Opm
|
|||||||
class FlowMainEbos
|
class FlowMainEbos
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename GET_PROP(TypeTag, MaterialLaw)::EclMaterialLawManager MaterialLawManager;
|
using MaterialLawManager = typename GetProp<TypeTag, Properties::MaterialLaw>::EclMaterialLawManager;
|
||||||
using EbosSimulator = GetPropType<TypeTag, Properties::Simulator>;
|
using EbosSimulator = GetPropType<TypeTag, Properties::Simulator>;
|
||||||
using Grid = GetPropType<TypeTag, Properties::Grid>;
|
using Grid = GetPropType<TypeTag, Properties::Grid>;
|
||||||
using GridView = GetPropType<TypeTag, Properties::GridView>;
|
using GridView = GetPropType<TypeTag, Properties::GridView>;
|
||||||
@ -89,7 +89,7 @@ namespace Opm
|
|||||||
// Read the command line parameters. Throws an exception if something goes wrong.
|
// Read the command line parameters. Throws an exception if something goes wrong.
|
||||||
static int setupParameters_(int argc, char** argv)
|
static int setupParameters_(int argc, char** argv)
|
||||||
{
|
{
|
||||||
using ParamsMeta = typename GET_PROP(TypeTag, ParameterMetaData);
|
using ParamsMeta = GetProp<TypeTag, Properties::ParameterMetaData>;
|
||||||
if (!ParamsMeta::registrationOpen()) {
|
if (!ParamsMeta::registrationOpen()) {
|
||||||
// We have already successfully run setupParameters_().
|
// We have already successfully run setupParameters_().
|
||||||
// For the dynamically chosen runs (as from the main flow
|
// For the dynamically chosen runs (as from the main flow
|
||||||
|
@ -67,7 +67,11 @@ namespace Opm::Properties {
|
|||||||
|
|
||||||
// this is a dummy type tag that is used to setup the parameters before the actual
|
// this is a dummy type tag that is used to setup the parameters before the actual
|
||||||
// simulator.
|
// simulator.
|
||||||
NEW_TYPE_TAG(FlowEarlyBird, INHERITS_FROM(EclFlowProblem));
|
namespace TTag {
|
||||||
|
struct FlowEarlyBird {
|
||||||
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Opm::Properties
|
} // namespace Opm::Properties
|
||||||
|
|
||||||
|
@ -36,7 +36,9 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(FlowNonLinearSolver);
|
namespace TTag {
|
||||||
|
struct FlowNonLinearSolver {};
|
||||||
|
}
|
||||||
|
|
||||||
NEW_PROP_TAG(NewtonMaxRelax);
|
NEW_PROP_TAG(NewtonMaxRelax);
|
||||||
NEW_PROP_TAG(FlowNewtonMaxIterations);
|
NEW_PROP_TAG(FlowNewtonMaxIterations);
|
||||||
|
@ -41,7 +41,9 @@ class ISTLSolverEbos;
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(FlowIstlSolverParams);
|
namespace TTag {
|
||||||
|
struct FlowIstlSolverParams {};
|
||||||
|
}
|
||||||
|
|
||||||
NEW_PROP_TAG(LinearSolverReduction);
|
NEW_PROP_TAG(LinearSolverReduction);
|
||||||
NEW_PROP_TAG(IluRelaxation);
|
NEW_PROP_TAG(IluRelaxation);
|
||||||
|
@ -56,7 +56,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(FlowIstlSolver, INHERITS_FROM(FlowIstlSolverParams));
|
namespace TTag {
|
||||||
|
struct FlowIstlSolver {
|
||||||
|
using InheritsFrom = std::tuple<FlowIstlSolverParams>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
template <class TypeTag, class MyTypeTag>
|
template <class TypeTag, class MyTypeTag>
|
||||||
struct EclWellModel;
|
struct EclWellModel;
|
||||||
|
@ -35,7 +35,11 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(FlowIstlSolverFlexible, INHERITS_FROM(FlowIstlSolverParams));
|
namespace TTag {
|
||||||
|
struct FlowIstlSolverFlexible {
|
||||||
|
using InheritsFrom = std::tuple<FlowIstlSolverParams>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Opm::Properties
|
} // namespace Opm::Properties
|
||||||
|
|
||||||
|
@ -19,7 +19,9 @@
|
|||||||
|
|
||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
NEW_TYPE_TAG(FlowTimeSteppingParameters);
|
namespace TTag {
|
||||||
|
struct FlowTimeSteppingParameters {};
|
||||||
|
}
|
||||||
|
|
||||||
NEW_PROP_TAG(SolverRestartFactor);
|
NEW_PROP_TAG(SolverRestartFactor);
|
||||||
NEW_PROP_TAG(SolverGrowthFactor);
|
NEW_PROP_TAG(SolverGrowthFactor);
|
||||||
|
@ -76,13 +76,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROPERTIES
|
namespace Opm::Properties {
|
||||||
|
namespace TTag {
|
||||||
NEW_TYPE_TAG(TestEclOutputTypeTag, INHERITS_FROM(BlackOilModel, EclBaseProblem));
|
struct TestEclOutputTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EclBaseProblem, BlackOilModel>;
|
||||||
|
};
|
||||||
|
}
|
||||||
SET_BOOL_PROP(TestEclOutputTypeTag, EnableGravity, false);
|
SET_BOOL_PROP(TestEclOutputTypeTag, EnableGravity, false);
|
||||||
SET_BOOL_PROP(TestEclOutputTypeTag, EnableAsyncEclOutput, false);
|
SET_BOOL_PROP(TestEclOutputTypeTag, EnableAsyncEclOutput, false);
|
||||||
|
|
||||||
END_PROPERTIES
|
} // namespace Opm::Properties
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
std::unique_ptr<Opm::EclIO::ESmry> readsum(const std::string& base)
|
std::unique_ptr<Opm::EclIO::ESmry> readsum(const std::string& base)
|
||||||
|
@ -70,11 +70,13 @@
|
|||||||
throw std::runtime_error("Test condition failed"); \
|
throw std::runtime_error("Test condition failed"); \
|
||||||
}
|
}
|
||||||
|
|
||||||
BEGIN_PROPERTIES
|
namespace Opm::Properties {
|
||||||
|
namespace TTag {
|
||||||
NEW_TYPE_TAG(TestEquilTypeTag, INHERITS_FROM(BlackOilModel, EclBaseProblem));
|
struct TestEquilTypeTag {
|
||||||
|
using InheritsFrom = std::tuple<EclBaseProblem, BlackOilModel>;
|
||||||
END_PROPERTIES
|
};
|
||||||
|
}
|
||||||
|
} // namespace Opm::Properties
|
||||||
|
|
||||||
template <class TypeTag>
|
template <class TypeTag>
|
||||||
std::unique_ptr<Opm::GetPropType<TypeTag, Opm::Properties::Simulator>>
|
std::unique_ptr<Opm::GetPropType<TypeTag, Opm::Properties::Simulator>>
|
||||||
|
Loading…
Reference in New Issue
Block a user