28#ifndef OPM_FLUID_STATE_SATURATION_MODULES_HPP
29#define OPM_FLUID_STATE_SATURATION_MODULES_HPP
42template <
class ValueType,
45class FluidStateExplicitSaturationModule
48 FluidStateExplicitSaturationModule()
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));
89 std::array<ValueType, numPhases> saturation_{};
96template <
class ValueT>
97class FluidStateNullSaturationModule
100 FluidStateNullSaturationModule()
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.
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 assign(const FluidState &fs)
Retrieve all parameters from an arbitrary fluid state.
Definition FluidStateSaturationModules.hpp:68
void setSaturation(unsigned phaseIdx, const ValueType &value)
Set the saturation of a phase [-].
Definition FluidStateSaturationModules.hpp:60
void checkDefined() const
Make sure that all attributes are defined.
Definition FluidStateSaturationModules.hpp:83
const ValueType & saturation(unsigned phaseIdx) const
The saturation of a fluid phase [-].
Definition FluidStateSaturationModules.hpp:54
const ValueT & saturation(unsigned) const
The saturation of a fluid phase [-].
Definition FluidStateSaturationModules.hpp:106
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
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30