Skip to content
Snippets Groups Projects
Commit b2fc7d5d authored by wenqing's avatar wenqing
Browse files

[SaturationVanGenuchten] Documentation and moving private section to bottom

parent 9a5422a1
No related branches found
No related tags found
No related merge requests found
...@@ -15,20 +15,38 @@ namespace MaterialPropertyLib ...@@ -15,20 +15,38 @@ namespace MaterialPropertyLib
class Medium; class Medium;
class Phase; class Phase;
class Component; class Component;
/**
/// The van Genuchten soil characteristics function. * \brief The van Genuchten capillary pressure model.
/// *
/// This property must be a medium property, it computes the saturation of the * \f[p_c(S)=p_b (S_e^{-1/m}-1)^{1-m}\f]
/// wetting phase as function of capillary pressure. * with
* \f[S_e=\frac{S-S_r}{S_{\mbox{max}}-S_r}\f]
* where
* \f{eqnarray*}{
* &p_b& \mbox{ entry pressure,}\\
* &S_r& \mbox{ residual saturation,}\\
* &S_{\mbox{max}}& \mbox{ maximum saturation,}\\
* &m(<=1) & \mbox{ exponent.}\\
* \f}
*
* Note:
* \f[m=1/(1-n)\f].
*
* If \f$\alpha\f$ instead of \f$p_b\f$ is available, \f$p_b\f$ can
* be calculated
* as
* \f[p_b=\rho g/\alpha\f]
*
* If the capillary pressure is known, the saturation can be
* obtained by this model with
* \f[S(p_c)=
* \left( \left(\dfrac{p_c}{p_b}\right)^{\frac{1}{m}} +1\right)^{-m}
* (S_{\mbox{max}}-S_r) +S_r \f]
* class SaturationVanGenuchten handles the computations associated
* with \f$S(p_c)\f$.
*/
class SaturationVanGenuchten final : public Property class SaturationVanGenuchten final : public Property
{ {
private:
Medium* _medium = nullptr;
double const _S_L_res;
double const _S_L_max;
double const _m;
double const _p_b;
public: public:
SaturationVanGenuchten(double const residual_liquid_saturation, SaturationVanGenuchten(double const residual_liquid_saturation,
double const residual_gas_saturation, double const residual_gas_saturation,
...@@ -63,5 +81,12 @@ public: ...@@ -63,5 +81,12 @@ public:
ParameterLib::SpatialPosition const& /*pos*/, ParameterLib::SpatialPosition const& /*pos*/,
double const /*t*/, double const /*t*/,
double const /*dt*/) const override; double const /*dt*/) const override;
private:
Medium* _medium = nullptr;
double const _S_L_res;
double const _S_L_max;
double const _m;
double const _p_b;
}; };
} // namespace MaterialPropertyLib } // namespace MaterialPropertyLib
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment