28 #ifndef OPM_FLUID_STATE_SATURATION_MODULES_HPP
29 #define OPM_FLUID_STATE_SATURATION_MODULES_HPP
42 template <
class Scalar,
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<Scalar>(fs.saturation(phaseIdx));
85 Valgrind::CheckDefined(saturation_);
89 Scalar saturation_[numPhases];
96 template <
class Scalar>
107 {
throw std::runtime_error(
"Saturation is not provided by this fluid state"); }
113 template <
class Flu
idState>
Some templates to wrap the valgrind client request macros.
Module for the modular fluid state which stores the saturations explicitly.
Definition: FluidStateSaturationModules.hpp:46
void checkDefined() const
Make sure that all attributes are defined.
Definition: FluidStateSaturationModules.hpp:83
void setSaturation(unsigned phaseIdx, const Scalar &value)
Set the saturation of a phase [-].
Definition: FluidStateSaturationModules.hpp:60
const Scalar & saturation(unsigned phaseIdx) const
The saturation of a fluid phase [-].
Definition: FluidStateSaturationModules.hpp:54
void assign(const FluidState &fs)
Retrieve all parameters from an arbitrary fluid state.
Definition: FluidStateSaturationModules.hpp:68
Module for the modular fluid state which does not the saturations but throws std::logic_error instead...
Definition: FluidStateSaturationModules.hpp:98
void assign(const FluidState &)
Retrieve all parameters from an arbitrary fluid state.
Definition: FluidStateSaturationModules.hpp:114
void checkDefined() const
Make sure that all attributes are defined.
Definition: FluidStateSaturationModules.hpp:125
const Scalar & saturation(unsigned) const
The saturation of a fluid phase [-].
Definition: FluidStateSaturationModules.hpp:106