28#ifndef OPM_FLUID_STATE_TEMPERATURE_MODULES_HPP
29#define OPM_FLUID_STATE_TEMPERATURE_MODULES_HPP
44template <
class ValueType,
47class FluidStateExplicitTemperatureModule
50 FluidStateExplicitTemperatureModule()
57 {
return temperature_[phaseIdx]; }
63 { temperature_[phaseIdx] = value; }
69 template <
class Flu
idState>
72 for (
unsigned phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
73 temperature_[phaseIdx] = fs.temperature(phaseIdx);
91 std::array<ValueType, numPhases> temperature_{};
98template <
class ValueT,
100 class Implementation>
101class FluidStateEquilibriumTemperatureModule
104 FluidStateEquilibriumTemperatureModule()
111 {
return temperature_; }
117 { temperature_ = value; }
123 template <
class Flu
idState>
126 temperature_ = decay<ValueT>(fs.temperature(0));
129 for (
unsigned phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
130 assert(std::abs(scalarValue(fs.temperature(phaseIdx))
131 - scalarValue(temperature_)) < 1e-30);
157template <
class ValueT>
158class FluidStateNullTemperatureModule
161 FluidStateNullTemperatureModule()
168 {
throw std::runtime_error(
"Temperature is not provided by this fluid state"); }
174 template <
class Flu
idState>
Some templates to wrap the valgrind client request macros.
OPM_HOST_DEVICE void SetUndefined(const T &value)
Make the memory on which an object resides undefined in valgrind runs.
Definition Valgrind.hpp:174
OPM_HOST_DEVICE bool CheckDefined(const T &value)
Make valgrind complain if any of the memory occupied by an object is undefined.
Definition Valgrind.hpp:76
void setTemperature(const ValueT &value)
Set the temperature of a phase [-].
Definition FluidStateTemperatureModules.hpp:116
const ValueT & temperature(unsigned) const
The temperature of a fluid phase [-].
Definition FluidStateTemperatureModules.hpp:110
void assign(const FluidState &fs)
Retrieve all parameters from an arbitrary fluid state.
Definition FluidStateTemperatureModules.hpp:124
void checkDefined() const
Make sure that all attributes are defined.
Definition FluidStateTemperatureModules.hpp:144
const ValueType & temperature(unsigned phaseIdx) const
The temperature of a fluid phase [-].
Definition FluidStateTemperatureModules.hpp:56
void assign(const FluidState &fs)
Retrieve all parameters from an arbitrary fluid state.
Definition FluidStateTemperatureModules.hpp:70
void setTemperature(unsigned phaseIdx, const ValueType &value)
Set the temperature of a phase [-].
Definition FluidStateTemperatureModules.hpp:62
void checkDefined() const
Make sure that all attributes are defined.
Definition FluidStateTemperatureModules.hpp:85
const ValueT & temperature(unsigned) const
The temperature of a fluid phase [-].
Definition FluidStateTemperatureModules.hpp:167
void checkDefined() const
Make sure that all attributes are defined.
Definition FluidStateTemperatureModules.hpp:186
void assign(const FluidState &)
Retrieve all parameters from an arbitrary fluid state.
Definition FluidStateTemperatureModules.hpp:175
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30