28 #ifndef OPM_FLUID_STATE_SATURATION_MODULES_HPP 29 #define OPM_FLUID_STATE_SATURATION_MODULES_HPP 42 template <
class ValueType,
49 { Valgrind::SetUndefined(saturation_); }
55 {
return saturation_[phaseIdx]; }
61 { saturation_[phaseIdx] =
value; }
67 template <
class Flu
idState>
70 for (
unsigned phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
71 saturation_[phaseIdx] = decay<ValueType>(fs.saturation(phaseIdx));
85 Valgrind::CheckDefined(saturation_);
89 std::array<ValueType, numPhases> saturation_{};
96 template <
class ValueT>
107 {
throw std::runtime_error(
"Saturation is not provided by this fluid state"); }
113 template <
class Flu
idState>
const ValueType & saturation(unsigned phaseIdx) const
The saturation of a fluid phase [-].
Definition: FluidStateSaturationModules.hpp:54
void checkDefined() const
Make sure that all attributes are defined.
Definition: FluidStateSaturationModules.hpp:125
const ValueT & saturation(unsigned) const
The saturation of a fluid phase [-].
Definition: FluidStateSaturationModules.hpp:106
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
void checkDefined() const
Make sure that all attributes are defined.
Definition: FluidStateSaturationModules.hpp:83
void assign(const FluidState &)
Retrieve all parameters from an arbitrary fluid state.
Definition: FluidStateSaturationModules.hpp:114
Module for the modular fluid state which does not the saturations but throws std::logic_error instead...
Definition: FluidStateSaturationModules.hpp:97
Module for the modular fluid state which stores the saturations explicitly.
Definition: FluidStateSaturationModules.hpp:45
void setSaturation(unsigned phaseIdx, const ValueType &value)
Set the saturation of a phase [-].
Definition: FluidStateSaturationModules.hpp:60
Some templates to wrap the valgrind client request macros.
void assign(const FluidState &fs)
Retrieve all parameters from an arbitrary fluid state.
Definition: FluidStateSaturationModules.hpp:68