28#ifndef PARKERVANGEN_PARAMS_3P_HH
29#define PARKERVANGEN_PARAMS_3P_HH
31#include <dune/common/fvector.hh>
40template<
class ScalarT>
47 {betaGw_ = betaNw_ = betaGn_ = 1.0;}
50 Dune::FieldVector<Scalar, 4> residualSaturation,
Scalar betaNw = 1.0,
55 setSwr(residualSaturation[0]);
56 setSnr(residualSaturation[1]);
57 setSgr(residualSaturation[2]);
96 { vgm_ = m; vgn_ = 1/(1 - vgm_); }
113 { vgn_ = n; vgm_ = 1 - 1/vgn_; }
128 DUNE_THROW(Dune::NotImplemented,
"sgr for three phases not required and therefore not implemented");
130 DUNE_THROW(Dune::InvalidStateException,
"Invalid phase index " << phaseIdx);
138 setSwr(residualSaturation[0]);
139 setSnr(residualSaturation[1]);
140 setSgr(residualSaturation[2]);
192 std::cerr <<
"swrx for three phases not implemented anymore. Equals swr" << std::endl;
202 std::cerr <<
"swrx for three phases not implemented anymore. Equals swr" << std::endl;
233 { krRegardsSnr_ = input; }
239 {
return krRegardsSnr_; }
253 { rhoBulk_ = input; }
Reference implementation of a van Genuchten params.
Definition: parkervangen3pparams.hh:42
ScalarT Scalar
Definition: parkervangen3pparams.hh:44
Scalar vgm() const
Return the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:85
Scalar satResidual(int phaseIdx) const
Return the residual saturation.
Definition: parkervangen3pparams.hh:119
void setKdNAPL(Scalar input)
Set the adsorption coefficient.
Definition: parkervangen3pparams.hh:265
Scalar snr() const
Return the residual non-wetting saturation.
Definition: parkervangen3pparams.hh:160
Scalar rhoBulk() const
Return the bulk density of the porous medium in .
Definition: parkervangen3pparams.hh:245
void setResiduals(Dune::FieldVector< Scalar, 3 > residualSaturation)
Set all residual saturations.
Definition: parkervangen3pparams.hh:136
Scalar sgr() const
Return the residual gas saturation.
Definition: parkervangen3pparams.hh:173
bool krRegardsSnr() const
Calls if residual n-phase saturation should be regarded in its relative permeability.
Definition: parkervangen3pparams.hh:238
void setBetaGn(Scalar input)
Definition: parkervangen3pparams.hh:210
void setVgAlpha(Scalar v)
Set the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:78
void setSnr(Scalar input)
Set the residual non-wetting saturation.
Definition: parkervangen3pparams.hh:167
void setRhoBulk(Scalar input)
Set the bulk density of the porous medium.
Definition: parkervangen3pparams.hh:252
void setVgn(Scalar n)
Set the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:112
Scalar betaGn() const
Definition: parkervangen3pparams.hh:222
Scalar KdNAPL() const
Return the adsorption coefficient.
Definition: parkervangen3pparams.hh:258
Scalar betaNw() const
Return the values for the beta scaling parameters of capillary pressure between the phases.
Definition: parkervangen3pparams.hh:219
void setVgm(Scalar m)
Set the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:95
void setSwr(Scalar input)
Set the residual wetting saturation.
Definition: parkervangen3pparams.hh:154
void setKrRegardsSnr(bool input)
defines if residual n-phase saturation should be regarded in its relative permeability.
Definition: parkervangen3pparams.hh:232
void setSwrx(Scalar v)
Set the residual total liquid saturation.
Definition: parkervangen3pparams.hh:200
void setSgr(Scalar input)
Set the residual gas saturation.
Definition: parkervangen3pparams.hh:182
Scalar swr() const
Return the residual wetting saturation.
Definition: parkervangen3pparams.hh:147
Scalar betaGw() const
Definition: parkervangen3pparams.hh:225
Scalar swrx() const
Set the residual total liquid saturation.
Definition: parkervangen3pparams.hh:190
Scalar vgAlpha() const
Return the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:70
Scalar vgn() const
Return the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:102
ParkerVanGen3PParams()
Definition: parkervangen3pparams.hh:46
void setBetaGw(Scalar input)
Definition: parkervangen3pparams.hh:213
void setBetaNw(Scalar input)
defines the scaling parameters of capillary pressure between the phases (=1 for Gas-Water)
Definition: parkervangen3pparams.hh:207
ParkerVanGen3PParams(Scalar vgAlpha, Scalar vgn, Scalar KdNAPL, Scalar rhoBulk, Dune::FieldVector< Scalar, 4 > residualSaturation, Scalar betaNw=1.0, Scalar betaGn=1.0, Scalar betaGw=1.0, bool regardSnr=false)
Definition: parkervangen3pparams.hh:49