diff --git a/examples/lens_immiscible_ecfv_ad.cpp b/examples/lens_immiscible_ecfv_ad.cpp index 9a91e1ab7..0df0537cd 100644 --- a/examples/lens_immiscible_ecfv_ad.cpp +++ b/examples/lens_immiscible_ecfv_ad.cpp @@ -28,10 +28,10 @@ */ #include "config.h" -#include "lens_immiscible_ecfv_ad.hh" - #include +#include "lens_immiscible_ecfv_ad.hh" + int main(int argc, char **argv) { typedef TTAG(LensProblemEcfvAd) ProblemTypeTag; diff --git a/examples/lens_immiscible_ecfv_ad_23.cpp b/examples/lens_immiscible_ecfv_ad_23.cpp index 9c79a7587..7a24e7eb6 100644 --- a/examples/lens_immiscible_ecfv_ad_23.cpp +++ b/examples/lens_immiscible_ecfv_ad_23.cpp @@ -28,11 +28,13 @@ */ #include "config.h" -#include "lens_immiscible_ecfv_ad.hh" - #include #include +#include + +#include "lens_immiscible_ecfv_ad.hh" + BEGIN_PROPERTIES // Use Dune-grid's GeometryGrid< YaspGrid > diff --git a/examples/lens_immiscible_ecfv_ad_cu1.cpp b/examples/lens_immiscible_ecfv_ad_cu1.cpp index bcfc7142c..b0aff7f66 100644 --- a/examples/lens_immiscible_ecfv_ad_cu1.cpp +++ b/examples/lens_immiscible_ecfv_ad_cu1.cpp @@ -34,10 +34,10 @@ */ #include "config.h" -#include "lens_immiscible_ecfv_ad.hh" - #include +#include "lens_immiscible_ecfv_ad.hh" + // fake forward declaration to prevent esoteric compiler warning int mainCU1(int argc, char **argv); diff --git a/examples/lens_immiscible_ecfv_ad_cu2.cpp b/examples/lens_immiscible_ecfv_ad_cu2.cpp index c6d1d5df8..7dede5a9f 100644 --- a/examples/lens_immiscible_ecfv_ad_cu2.cpp +++ b/examples/lens_immiscible_ecfv_ad_cu2.cpp @@ -34,10 +34,10 @@ */ #include "config.h" -#include "lens_immiscible_ecfv_ad.hh" - #include +#include "lens_immiscible_ecfv_ad.hh" + // fake forward declaration to prevent esoteric compiler warning int mainCU2(int argc, char **argv); diff --git a/examples/problems/co2injectionproblem.hh b/examples/problems/co2injectionproblem.hh index cfeb36c1b..3f5a7b531 100644 --- a/examples/problems/co2injectionproblem.hh +++ b/examples/problems/co2injectionproblem.hh @@ -73,7 +73,9 @@ BEGIN_PROPERTIES NEW_TYPE_TAG(Co2InjectionBaseProblem); // declare the CO2 injection problem specific property tags - +NEW_PROP_TAG(MaxDepth); +NEW_PROP_TAG(Temperature); +NEW_PROP_TAG(SimulationName); // Set the grid type SET_TYPE_PROP(Co2InjectionBaseProblem, Grid, Dune::YaspGrid<2>); diff --git a/examples/problems/fingerproblem.hh b/examples/problems/fingerproblem.hh index b18978cfe..7e4db6bec 100644 --- a/examples/problems/fingerproblem.hh +++ b/examples/problems/fingerproblem.hh @@ -77,6 +77,7 @@ SET_TYPE_PROP(FingerBaseProblem, #endif // declare the properties used by the finger problem +NEW_PROP_TAG(InitialWaterSaturation); // Set the problem property SET_TYPE_PROP(FingerBaseProblem, Problem, Opm::FingerProblem); diff --git a/examples/problems/groundwaterproblem.hh b/examples/problems/groundwaterproblem.hh index 0d9393e2d..4f62c59ee 100644 --- a/examples/problems/groundwaterproblem.hh +++ b/examples/problems/groundwaterproblem.hh @@ -55,6 +55,14 @@ BEGIN_PROPERTIES NEW_TYPE_TAG(GroundWaterBaseProblem); +NEW_PROP_TAG(LensLowerLeftX); +NEW_PROP_TAG(LensLowerLeftY); +NEW_PROP_TAG(LensLowerLeftZ); +NEW_PROP_TAG(LensUpperRightX); +NEW_PROP_TAG(LensUpperRightY); +NEW_PROP_TAG(LensUpperRightZ); +NEW_PROP_TAG(Permeability); +NEW_PROP_TAG(PermeabilityLens); SET_PROP(GroundWaterBaseProblem, Fluid) { diff --git a/examples/problems/lensproblem.hh b/examples/problems/lensproblem.hh index bb7575739..ecf3feaf4 100644 --- a/examples/problems/lensproblem.hh +++ b/examples/problems/lensproblem.hh @@ -61,6 +61,13 @@ BEGIN_PROPERTIES NEW_TYPE_TAG(LensBaseProblem, INHERITS_FROM(StructuredGridVanguard)); // declare the properties specific for the lens problem +NEW_PROP_TAG(LensLowerLeftX); +NEW_PROP_TAG(LensLowerLeftY); +NEW_PROP_TAG(LensLowerLeftZ); +NEW_PROP_TAG(LensUpperRightX); +NEW_PROP_TAG(LensUpperRightY); +NEW_PROP_TAG(LensUpperRightZ); + // Set the problem property SET_TYPE_PROP(LensBaseProblem, Problem, Opm::LensProblem); diff --git a/examples/problems/reservoirproblem.hh b/examples/problems/reservoirproblem.hh index c1bfed2db..5598ce4c1 100644 --- a/examples/problems/reservoirproblem.hh +++ b/examples/problems/reservoirproblem.hh @@ -62,8 +62,13 @@ BEGIN_PROPERTIES NEW_TYPE_TAG(ReservoirBaseProblem); // Maximum depth of the reservoir +NEW_PROP_TAG(MaxDepth); + // The temperature inside the reservoir +NEW_PROP_TAG(Temperature); + // The width of producer/injector wells as a fraction of the width of the spatial domain +NEW_PROP_TAG(WellWidth); // Set the grid type SET_TYPE_PROP(ReservoirBaseProblem, Grid, Dune::YaspGrid<2>); diff --git a/opm/models/blackoil/blackoilmodel.hh b/opm/models/blackoil/blackoilmodel.hh index 42ada382c..4d240da2d 100644 --- a/opm/models/blackoil/blackoilmodel.hh +++ b/opm/models/blackoil/blackoilmodel.hh @@ -153,12 +153,9 @@ private: public: typedef Scalar type; - static const Scalar value; + static constexpr Scalar value = 1.0/(30.0*4184.0*alpha); }; -PROP_STATIC_CONST_MEMBER_DEFINITION_PREFIX_(BlackOilModel, BlackOilEnergyScalingFactor) - ::value = 1.0/(30*4184.0*alpha); - // by default, ebos formulates the conservation equations in terms of mass not surface // volumes SET_BOOL_PROP(BlackOilModel, BlackoilConserveSurfaceVolume, false); diff --git a/opm/models/common/multiphasebasemodel.hh b/opm/models/common/multiphasebasemodel.hh index 45721966b..087121d4b 100644 --- a/opm/models/common/multiphasebasemodel.hh +++ b/opm/models/common/multiphasebasemodel.hh @@ -50,11 +50,6 @@ class MultiPhaseBaseModel; BEGIN_PROPERTIES -namespace TTag { -struct ParallelBiCGStabLinearSolver; -struct FiniteDifferenceLocalLinearizer; -} - //! The generic type tag for problems using the immiscible multi-phase model NEW_TYPE_TAG(MultiPhaseBaseModel, INHERITS_FROM(VtkMultiPhase, VtkTemperature)); diff --git a/opm/models/discretization/common/fvbaseproperties.hh b/opm/models/discretization/common/fvbaseproperties.hh index 59b982ca9..90cd8cbd8 100644 --- a/opm/models/discretization/common/fvbaseproperties.hh +++ b/opm/models/discretization/common/fvbaseproperties.hh @@ -31,10 +31,10 @@ #define EWOMS_FV_BASE_PROPERTIES_HH #include "fvbasenewtonmethod.hh" -#include "fvbaseproperties.hh" #include "fvbasefdlocallinearizer.hh" #include +#include #include #include @@ -254,6 +254,8 @@ SET_TAG_PROP(FvBaseDiscretization, LocalLinearizerSplice, FiniteDifferenceLocalL //! Specify if experimental features should be enabled or not. +SET_TYPE_PROP(NumericModel, Vanguard, Opm::DgfVanguard); + END_PROPERTIES #endif diff --git a/opm/models/io/dgfvanguard.hh b/opm/models/io/dgfvanguard.hh index 7e90e7509..69a55cfdf 100644 --- a/opm/models/io/dgfvanguard.hh +++ b/opm/models/io/dgfvanguard.hh @@ -41,7 +41,6 @@ BEGIN_PROPERTIES - END_PROPERTIES namespace Opm { @@ -67,13 +66,8 @@ public: */ static void registerParameters() { -// #define EWOMS_REGISTER_PARAM(TypeTag, ParamType, ParamName, Description) -// ::Opm::Parameters::registerParam( -// #ParamName, #ParamName, Description) -// EWOMS_REGISTER_PARAM(TypeTag, std::string, GridFile, -// "The file name of the DGF file to load"); - ::Opm::Parameters::template registerParam - ("GridFile", "GridFile", "The file name of the DGF file to load"); + EWOMS_REGISTER_PARAM(TypeTag, std::string, GridFile, + "The file name of the DGF file to load"); EWOMS_REGISTER_PARAM(TypeTag, unsigned, GridGlobalRefinements, "The number of global refinements of the grid " "executed after it was loaded"); @@ -197,10 +191,6 @@ private: FractureMapper fractureMapper_; }; -namespace Properties { -SET_TYPE_PROP(NumericModel, Vanguard, Opm::DgfVanguard); -} - } // namespace Opm #endif diff --git a/opm/models/utils/basicproperties.hh b/opm/models/utils/basicproperties.hh index 27a13982b..1ce23c5ed 100644 --- a/opm/models/utils/basicproperties.hh +++ b/opm/models/utils/basicproperties.hh @@ -54,6 +54,7 @@ #include + BEGIN_PROPERTIES /////////////////////////////////// @@ -205,6 +206,75 @@ NEW_PROP_TAG(VtkWriteSolidInternalEnergy); NEW_PROP_TAG(VtkWriteThermalConductivity); NEW_PROP_TAG(VtkWriteInternalEnergies); NEW_PROP_TAG(VtkWriteEnthalpies); +NEW_PROP_TAG(VtkWriteMassFractions); +NEW_PROP_TAG(VtkWriteMoleFractions); +NEW_PROP_TAG(VtkWriteTotalMassFractions); +NEW_PROP_TAG(VtkWriteTotalMoleFractions); +NEW_PROP_TAG(VtkWriteMolarities); +NEW_PROP_TAG(VtkWriteFugacities); +NEW_PROP_TAG(VtkWriteFugacityCoeffs); +NEW_PROP_TAG(VtkWriteEffectiveDiffusionCoefficients); +NEW_PROP_TAG(VtkWriteDiffusionCoefficients); +NEW_PROP_TAG(VtkWriteTortuosities); +NEW_PROP_TAG(VtkWritePhasePresence); +NEW_PROP_TAG(VtkWriteSolventSaturation); +NEW_PROP_TAG(VtkWriteSolventDensity); +NEW_PROP_TAG(VtkWriteSolventViscosity); +NEW_PROP_TAG(VtkWriteSolventMobility); +NEW_PROP_TAG(EnableSolvent); +NEW_PROP_TAG(BlackoilConserveSurfaceVolume); +NEW_PROP_TAG(VtkWritePolymerConcentration); +NEW_PROP_TAG(VtkWritePolymerDeadPoreVolume); +NEW_PROP_TAG(VtkWritePolymerViscosityCorrection); +NEW_PROP_TAG(VtkWriteWaterViscosityCorrection); +NEW_PROP_TAG(VtkWritePolymerRockDensity); +NEW_PROP_TAG(VtkWritePolymerAdsorption); +NEW_PROP_TAG(EnablePolymer); +NEW_PROP_TAG(EnablePolymerMW); +NEW_PROP_TAG(VtkWriteRockInternalEnergy); +NEW_PROP_TAG(VtkWriteTotalThermalConductivity); +NEW_PROP_TAG(VtkWriteFluidInternalEnergies); +NEW_PROP_TAG(VtkWriteFluidEnthalpies); +NEW_PROP_TAG(BlackOilEnergyScalingFactor); +NEW_PROP_TAG(EnableTemperature); +NEW_PROP_TAG(EnableFoam); +NEW_PROP_TAG(EnableBrine); +NEW_PROP_TAG(DpMaxRel); +NEW_PROP_TAG(DsMax); +NEW_PROP_TAG(PriVarOscilationThreshold); +NEW_PROP_TAG(VtkWriteGasDissolutionFactor); +NEW_PROP_TAG(VtkWriteOilVaporizationFactor); +NEW_PROP_TAG(VtkWriteOilFormationVolumeFactor); +NEW_PROP_TAG(VtkWriteGasFormationVolumeFactor); +NEW_PROP_TAG(VtkWriteWaterFormationVolumeFactor); +NEW_PROP_TAG(VtkWriteOilSaturationPressure); +NEW_PROP_TAG(VtkWriteGasSaturationPressure); +NEW_PROP_TAG(VtkWriteSaturationRatios); +NEW_PROP_TAG(VtkWriteSaturatedOilGasDissolutionFactor); +NEW_PROP_TAG(VtkWriteSaturatedGasOilVaporizationFactor); +NEW_PROP_TAG(VtkWritePrimaryVarsMeaning); +NEW_PROP_TAG(VtkWriteFractureSaturations); +NEW_PROP_TAG(VtkWriteFractureMobilities); +NEW_PROP_TAG(VtkWriteFractureRelativePermeabilities); +NEW_PROP_TAG(VtkWriteFracturePorosity); +NEW_PROP_TAG(VtkWriteFractureIntrinsicPermeabilities); +NEW_PROP_TAG(VtkWriteFractureFilterVelocities); +NEW_PROP_TAG(VtkWriteFractureVolumeFraction); +NEW_PROP_TAG(UseTwoPointGradients); + +NEW_PROP_TAG(PvsVerbosity); +NEW_PROP_TAG(PvsPressureBaseWeight); +NEW_PROP_TAG(PvsSaturationsBaseWeight); +NEW_PROP_TAG(PvsMoleFractionsBaseWeight); +NEW_PROP_TAG(NcpPressureBaseWeight); +NEW_PROP_TAG(NcpSaturationsBaseWeight); +NEW_PROP_TAG(NcpFugacitiesBaseWeight); +NEW_PROP_TAG(FluidSystemPressureLow); +NEW_PROP_TAG(FluidSystemPressureHigh); +NEW_PROP_TAG(FluidSystemNumPressure); +NEW_PROP_TAG(FluidSystemTemperatureLow); +NEW_PROP_TAG(FluidSystemTemperatureHigh); +NEW_PROP_TAG(FluidSystemNumTemperature); NEW_PROP_TAG(IntensiveQuantities); NEW_PROP_TAG(BoundaryContext); @@ -223,6 +293,7 @@ NEW_PROP_TAG(DomainSizeY); NEW_PROP_TAG(DomainSizeZ); NEW_PROP_TAG(ElementMapper); NEW_PROP_TAG(EnableAsyncVtkOutput); +NEW_PROP_TAG(EnableDiffusion); NEW_PROP_TAG(EnableEnergy); NEW_PROP_TAG(EnableGravity); NEW_PROP_TAG(EnableGridAdaptation); @@ -253,6 +324,8 @@ NEW_PROP_TAG(UseVolumetricResidual); NEW_PROP_TAG(VertexMapper); NEW_PROP_TAG(SolidEnergyLawParams); NEW_PROP_TAG(ThermalConductionLawParams); +NEW_PROP_TAG(FlashSolver); +NEW_PROP_TAG(FlashTolerance); NEW_PROP_TAG(BaseProblem); NEW_PROP_TAG(ConstraintsContext); @@ -275,11 +348,16 @@ NEW_PROP_TAG(Overlap); NEW_PROP_TAG(OverlappingScalarProduct); NEW_PROP_TAG(OverlappingLinearOperator); +NEW_PROP_TAG(LiquidPhaseIndex); +NEW_PROP_TAG(GasPhaseIndex); +NEW_PROP_TAG(LiquidComponentIndex); +NEW_PROP_TAG(GasComponentIndex); +NEW_PROP_TAG(WettingFluid); +NEW_PROP_TAG(NonWettingFluid); //! the preconditioner used by the linear solver NEW_PROP_TAG(PreconditionerWrapper); - //! The floating point type used internally by the linear solver NEW_PROP_TAG(LinearSolverScalar); @@ -316,6 +394,9 @@ NEW_PROP_TAG(LinearSolverMaxIterations); NEW_PROP_TAG(LinearSolverMaxError); +NEW_PROP_TAG(GMResRestart); +NEW_PROP_TAG(LinearSolverWrapper); + NEW_PROP_TAG(LinearSolverSplice); NEW_PROP_TAG(LocalLinearizerSplice); NEW_PROP_TAG(SpatialDiscretizationSplice); @@ -428,7 +509,6 @@ SET_SCALAR_PROP(NumericModel, RestartTime, -1e35); //! By default, do not force any time steps SET_STRING_PROP(NumericModel, PredeterminedTimeStepsFile, ""); - END_PROPERTIES #endif diff --git a/opm/models/utils/start.hh b/opm/models/utils/start.hh index b48d46f93..1b09980fa 100644 --- a/opm/models/utils/start.hh +++ b/opm/models/utils/start.hh @@ -27,6 +27,7 @@ #ifndef EWOMS_START_HH #define EWOMS_START_HH +#include #include // the following header is not required here, but it must be included before // dune/common/densematrix.hh because of some c++ ideosyncrasies diff --git a/tests/models/test_propertysystem.cpp b/tests/models/test_propertysystem.cpp index 3d7cc76ac..a7071e9be 100644 --- a/tests/models/test_propertysystem.cpp +++ b/tests/models/test_propertysystem.cpp @@ -32,6 +32,7 @@ #include "config.h" #include +#include #include @@ -120,10 +121,6 @@ SET_INT_PROP(Pickup, Payload, 5); SET_INT_PROP(HummerH1, TopSpeed, GET_PROP_VALUE(TTAG(Pickup), TopSpeed)); -/////////////////// -// Unmount the canon from the Hummer -UNSET_PROP(HummerH1, CanonCaliber); - END_PROPERTIES @@ -176,23 +173,6 @@ int main() std::cout << "(HummerH1, GasUsage) = " << GET_PROP_VALUE(TTAG(HummerH1), GasUsage) << "\n"; std::cout << "(HummerH1, Payload) = " << GET_PROP_VALUE(TTAG(HummerH1), Payload) << "\n"; std::cout << "(HummerH1, AutomaticTransmission) = " << GET_PROP_VALUE(TTAG(HummerH1), AutomaticTransmission) << "\n"; - // CanonCaliber is explcitly unset for the Hummer -> this would not compile: - // std::cout << "(HummerH1, CanonCaliber) = " << GET_PROP_VALUE(TTAG(HummerH1), CanonCaliber) << "\n"; - - std::cout << "\n"; - std::cout << "---------------------------------------\n"; - std::cout << "-- Diagnostic messages\n"; - std::cout << "---------------------------------------\n"; - - std::cout << "---- All properties for Sedan ---\n"; - Opm::Properties::printValues(); - - std::cout << "---- Message for (HummerH1, CanonCaliber) ---\n" - << PROP_DIAGNOSTIC(TTAG(HummerH1), CanonCaliber); - std::cout << "---- Message for (HummerH1, GasUsage) ---\n" - << PROP_DIAGNOSTIC(TTAG(HummerH1), GasUsage); - std::cout << "---- Message for (HummerH1, AutomaticTransmission) ---\n" - << PROP_DIAGNOSTIC(TTAG(HummerH1), AutomaticTransmission); return 0; }