27#ifndef OPM_ECL_THERMAL_LAW_MANAGER_HPP
28#define OPM_ECL_THERMAL_LAW_MANAGER_HPP
31#error "Eclipse input support in opm-common is required to use the ECL thermal law manager!"
52template <
class Scalar,
class Flu
idSystem>
57 using SolidEnergyLawParams =
typename SolidEnergyLaw::Params;
58 using HeatcrLawParams =
typename SolidEnergyLawParams::HeatcrLawParams;
59 using SpecrockLawParams =
typename SolidEnergyLawParams::SpecrockLawParams;
62 using ThermalConductionLawParams =
typename ThermalConductionLaw::Params;
64 void initParamsForElements(
const EclipseState& eclState,
size_t numElems);
66 const SolidEnergyLawParams& solidEnergyLawParams(
unsigned elemIdx)
const;
68 const ThermalConductionLawParams& thermalConductionLawParams(
unsigned elemIdx)
const;
74 void initHeatcr_(
const EclipseState& eclState,
size_t numElems);
79 void initSpecrock_(
const EclipseState& eclState,
size_t numElems);
84 void initNullRockEnergy_();
89 void initThconr_(
const EclipseState& eclState,
size_t numElems);
94 void initThc_(
const EclipseState& eclState,
size_t numElems);
102 EclThermalConductionApproach thermalConductivityApproach_ = EclThermalConductionApproach::Undefined;
103 EclSolidEnergyApproach solidEnergyApproach_ = EclSolidEnergyApproach::Undefined;
105 std::vector<unsigned> elemToSatnumIdx_;
107 std::vector<SolidEnergyLawParams> solidEnergyLawParams_;
108 std::vector<ThermalConductionLawParams> thermalConductionLawParams_;
The default implementation of a parameter object for the ECL thermal law.
Provides the energy storage relation of rock.
The default implementation of a parameter object for the ECL thermal law.
Implements the total thermal conductivity and rock enthalpy relations used by ECL.
Provides the energy storage relation of rock.
Definition EclSolidEnergyLawMultiplexer.hpp:50
Implements the total thermal conductivity and rock enthalpy relations used by ECL.
Definition EclThermalConductionLawMultiplexer.hpp:50
Provides an simple way to create and manage the thermal law objects for a complete ECL deck.
Definition EclThermalLawManager.hpp:54
Definition EclipseState.hpp:57
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30