28#ifndef OPM_FLUID_STATE_SATURATION_MODULES_HPP
29#define OPM_FLUID_STATE_SATURATION_MODULES_HPP
42template <
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];
96template <
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
const Scalar & 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:83
void setSaturation(unsigned phaseIdx, const Scalar &value)
Set the saturation of a phase [-].
Definition FluidStateSaturationModules.hpp:60
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
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30