move VtkBlackoilEnergyModule parameters to TypeTag-free parameter system

This commit is contained in:
Arne Morten Kvarving 2024-07-05 17:49:51 +02:00
parent 19e8c394cf
commit 4853860d46
2 changed files with 13 additions and 45 deletions

View File

@ -73,8 +73,7 @@ namespace Opm::Properties {
namespace TTag { namespace TTag {
//! The type tag for the black-oil problems //! The type tag for the black-oil problems
struct BlackOilModel { using InheritsFrom = std::tuple<VtkBlackOilEnergy, struct BlackOilModel { using InheritsFrom = std::tuple<VtkBlackOilPolymer,
VtkBlackOilPolymer,
VtkBlackOilSolvent, VtkBlackOilSolvent,
VtkBlackOil, VtkBlackOil,
MultiPhaseBaseModel, MultiPhaseBaseModel,

View File

@ -41,44 +41,13 @@
#include <opm/models/utils/parametersystem.hh> #include <opm/models/utils/parametersystem.hh>
#include <opm/models/utils/propertysystem.hh> #include <opm/models/utils/propertysystem.hh>
namespace Opm::Properties::TTag {
// create new type tag for the VTK multi-phase output
struct VtkBlackOilEnergy {};
} // namespace Opm::Properties::TTag
namespace Opm::Parameters { namespace Opm::Parameters {
// create the property tags needed for the energy module
template<class TypeTag, class MyTypeTag>
struct VtkWriteRockInternalEnergy { using type = Properties::UndefinedProperty; };
template<class TypeTag, class MyTypeTag>
struct VtkWriteTotalThermalConductivity { using type = Properties::UndefinedProperty; };
template<class TypeTag, class MyTypeTag>
struct VtkWriteFluidInternalEnergies { using type = Properties::UndefinedProperty; };
template<class TypeTag, class MyTypeTag>
struct VtkWriteFluidEnthalpies { using type = Properties::UndefinedProperty; };
// set default values for what quantities to output // set default values for what quantities to output
template<class TypeTag> struct VtkWriteRockInternalEnergy { static constexpr bool value = true; };
struct VtkWriteRockInternalEnergy<TypeTag, Properties::TTag::VtkBlackOilEnergy> struct VtkWriteTotalThermalConductivity { static constexpr bool value = true; };
{ static constexpr bool value = true; }; struct VtkWriteFluidInternalEnergies { static constexpr bool value = true; };
struct VtkWriteFluidEnthalpies { static constexpr bool value = true; };
template<class TypeTag>
struct VtkWriteTotalThermalConductivity<TypeTag, Properties::TTag::VtkBlackOilEnergy>
{ static constexpr bool value = true; };
template<class TypeTag>
struct VtkWriteFluidInternalEnergies<TypeTag, Properties::TTag::VtkBlackOilEnergy>
{ static constexpr bool value = true; };
template<class TypeTag>
struct VtkWriteFluidEnthalpies<TypeTag, Properties::TTag::VtkBlackOilEnergy>
{ static constexpr bool value = true; };
} // namespace Opm::Parameters } // namespace Opm::Parameters
@ -123,15 +92,15 @@ public:
if (!enableEnergy) if (!enableEnergy)
return; return;
Parameters::registerParam<TypeTag, Parameters::VtkWriteRockInternalEnergy> Parameters::Register<Parameters::VtkWriteRockInternalEnergy>
("Include the volumetric internal energy of rock " ("Include the volumetric internal energy of rock "
"in the VTK output files"); "in the VTK output files");
Parameters::registerParam<TypeTag, Parameters::VtkWriteTotalThermalConductivity> Parameters::Register<Parameters::VtkWriteTotalThermalConductivity>
("Include the total thermal conductivity of the medium and the fluids " ("Include the total thermal conductivity of the medium and the fluids "
"in the VTK output files"); "in the VTK output files");
Parameters::registerParam<TypeTag, Parameters::VtkWriteFluidInternalEnergies> Parameters::Register<Parameters::VtkWriteFluidInternalEnergies>
("Include the internal energies of the fluids in the VTK output files"); ("Include the internal energies of the fluids in the VTK output files");
Parameters::registerParam<TypeTag, Parameters::VtkWriteFluidEnthalpies> Parameters::Register<Parameters::VtkWriteFluidEnthalpies>
("Include the enthalpies of the fluids in the VTK output files"); ("Include the enthalpies of the fluids in the VTK output files");
} }
@ -225,25 +194,25 @@ public:
private: private:
static bool rockInternalEnergyOutput_() static bool rockInternalEnergyOutput_()
{ {
static bool val = Parameters::get<TypeTag, Parameters::VtkWriteRockInternalEnergy>(); static bool val = Parameters::Get<Parameters::VtkWriteRockInternalEnergy>();
return val; return val;
} }
static bool totalThermalConductivityOutput_() static bool totalThermalConductivityOutput_()
{ {
static bool val = Parameters::get<TypeTag, Parameters::VtkWriteTotalThermalConductivity>(); static bool val = Parameters::Get<Parameters::VtkWriteTotalThermalConductivity>();
return val; return val;
} }
static bool fluidInternalEnergiesOutput_() static bool fluidInternalEnergiesOutput_()
{ {
static bool val = Parameters::get<TypeTag, Parameters::VtkWriteFluidInternalEnergies>(); static bool val = Parameters::Get<Parameters::VtkWriteFluidInternalEnergies>();
return val; return val;
} }
static bool fluidEnthalpiesOutput_() static bool fluidEnthalpiesOutput_()
{ {
static bool val = Parameters::get<TypeTag, Parameters::VtkWriteFluidEnthalpies>(); static bool val = Parameters::Get<Parameters::VtkWriteFluidEnthalpies>();
return val; return val;
} }