27 #ifndef OPM_THREE_PHASE_PARKER_VAN_GENUCHTEN_PARAMS_HPP
28 #define OPM_THREE_PHASE_PARKER_VAN_GENUCHTEN_PARAMS_HPP
30 #include <dune/common/fvector.hh>
48 template<
class TraitsT>
54 typedef TraitsT Traits;
55 typedef typename Traits::Scalar Scalar;
68 { EnsureFinalized::check();
return vgAlpha_; }
82 { EnsureFinalized::check();
return vgM_; }
91 { vgM_ = m; vgN_ = 1/(1 - vgM_); }
98 { EnsureFinalized::check();
return vgN_; }
107 { vgN_ = n; vgM_ = 1 - 1/vgN_; }
113 { EnsureFinalized::check();
return Swr_; }
125 { EnsureFinalized::check();
return Snr_; }
137 { EnsureFinalized::check();
return Sgr_; }
146 { EnsureFinalized::check();
return Swrx_; }
160 void setBetaGN(Scalar input)
167 { EnsureFinalized::check();
return betaNW_; }
169 Scalar betaGN()
const
170 { EnsureFinalized::check();
return betaGN_; }
176 { krRegardsSnr_ = input; }
181 { EnsureFinalized::check();
return krRegardsSnr_; }
183 void checkDefined()
const
185 Valgrind::CheckDefined(vgAlpha_);
186 Valgrind::CheckDefined(vgM_);
187 Valgrind::CheckDefined(vgN_);
188 Valgrind::CheckDefined(Swr_);
189 Valgrind::CheckDefined(Snr_);
190 Valgrind::CheckDefined(Sgr_);
191 Valgrind::CheckDefined(Swrx_);
192 Valgrind::CheckDefined(betaNW_);
193 Valgrind::CheckDefined(betaGN_);
194 Valgrind::CheckDefined(krRegardsSnr_);
Default implementation for asserting finalization of parameter objects.
Some templates to wrap the valgrind client request macros.
Default implementation for asserting finalization of parameter objects.
Definition: EnsureFinalized.hpp:47
void finalize()
Mark the object as finalized.
Definition: EnsureFinalized.hpp:75
Specification of the material params for the three-phase van Genuchten capillary pressure model.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:50
void setVgN(Scalar n)
Set the shape parameter of van Genuchten's curve.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:106
void setVgM(Scalar m)
Set the shape parameter of van Genuchten's curve.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:90
Scalar Snr() const
Return the residual non-wetting saturation.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:124
Scalar vgAlpha() const
Return the shape parameter of van Genuchten's curve.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:67
void setSwrx(Scalar input)
Set the residual gas saturation.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:151
void setkrRegardsSnr(bool input)
defines if residual n-phase saturation should be regarded in its relative permeability.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:175
Scalar Sgr() const
Return the residual gas saturation.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:136
Scalar Swr() const
Return the residual wetting saturation.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:112
void setSnr(Scalar input)
Set the residual non-wetting saturation.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:130
Scalar vgM() const
Return the shape parameter of van Genuchten's curve.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:81
Scalar vgN() const
Return the shape parameter of van Genuchten's curve.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:97
void setBetaNW(Scalar input)
defines the scaling parameters of capillary pressure between the phases (=1 for Gas-Water)
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:157
void setSgr(Scalar input)
Set the residual gas saturation.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:142
void setVgAlpha(Scalar v)
Set the shape parameter of van Genuchten's curve.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:74
bool krRegardsSnr() const
Calls if residual n-phase saturation should be regarded in its relative permeability.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:180
void setSwr(Scalar input)
Set the residual wetting saturation.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:118
Scalar betaNW() const
Return the values for the beta scaling parameters of capillary pressure between the phases.
Definition: ThreePhaseParkerVanGenuchtenParams.hpp:166