OGS
|
This class handles the computation of the capillary pressure, \( p_c(S_l) \), with the capillary pressure regularization.
For the regularized van Genuchten model, please refer to [19].
For the van Genuchten capillary pressure mode,
Definition at line 31 of file CapillaryPressureRegularizedVanGenuchten.h.
#include <CapillaryPressureRegularizedVanGenuchten.h>
Public Member Functions | |
CapillaryPressureRegularizedVanGenuchten (double const residual_liquid_saturation, double const maximum_liquid_saturation, double const exponent, double const p_b) | |
void | checkScale () const override |
PropertyDataType | value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override |
PropertyDataType | dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override |
Public Member Functions inherited from MaterialPropertyLib::Property | |
virtual | ~Property () |
virtual PropertyDataType | initialValue (ParameterLib::SpatialPosition const &pos, double const t) const |
virtual PropertyDataType | value () const |
virtual PropertyDataType | value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
virtual PropertyDataType | dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
virtual PropertyDataType | d2Value (VariableArray const &variable_array, Variable const variable1, Variable const variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
Default implementation: 2nd derivative of any constant property is zero. | |
virtual void | setProperties (std::vector< std::unique_ptr< Phase > > const &phases) |
Default implementation: | |
void | setScale (std::variant< Medium *, Phase *, Component * > scale) |
template<typename T > | |
T | initialValue (ParameterLib::SpatialPosition const &pos, double const t) const |
template<typename T > | |
T | value () const |
template<typename T > | |
T | value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | d2Value (VariableArray const &variable_array, Variable const &variable1, Variable const &variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
Private Member Functions | |
double | getPcBarvGSg (double const Sg) const |
double | getSBar (double const Sg) const |
double | getPcvGSg (double const Sg) const |
double | getdPcdSvGBar (double const Sg) const |
Gets \(\frac{\partial p_c}{\partial {\bar S}_g }\). | |
double | getdPcdSvG (double const Sg) const |
Gets \(\frac{\partial p_c}{\partial {S}_g }\). | |
Private Attributes | |
double const | Sg_r_ |
Residual saturation of gas phase. | |
double const | Sg_max_ |
Maximum saturation of gas phase. | |
double const | m_ |
double const | p_b_ |
double const | PcBarvGSg_Sg_max_ |
double const | dPcdSvGBarSg_max_ |
Static Private Attributes | |
static constexpr double | xi_ = 1e-5 |
parameter in regularized van Genuchten model | |
Additional Inherited Members | |
Protected Attributes inherited from MaterialPropertyLib::Property | |
std::string | name_ |
PropertyDataType | value_ |
The single value of a property. | |
PropertyDataType | dvalue_ |
std::variant< Medium *, Phase *, Component * > | scale_ |
MaterialPropertyLib::CapillaryPressureRegularizedVanGenuchten::CapillaryPressureRegularizedVanGenuchten | ( | double const | residual_liquid_saturation, |
double const | maximum_liquid_saturation, | ||
double const | exponent, | ||
double const | p_b ) |
Definition at line 32 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References MaterialPropertyLib::checkVanGenuchtenExponentRange(), and m_.
|
inlineoverridevirtual |
Reimplemented from MaterialPropertyLib::Property.
Definition at line 40 of file CapillaryPressureRegularizedVanGenuchten.h.
References OGS_FATAL, and MaterialPropertyLib::Property::scale_.
|
overridevirtual |
Reimplemented from MaterialPropertyLib::Property.
Definition at line 70 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References MaterialPropertyLib::checkSaturationRange(), dPcdSvGBarSg_max_, getdPcdSvGBar(), MaterialPropertyLib::liquid_saturation, MaterialPropertyLib::VariableArray::liquid_saturation, OGS_FATAL, Sg_max_, and Sg_r_.
|
private |
Gets \(\frac{\partial p_c}{\partial {S}_g }\).
Definition at line 125 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References m_, p_b_, Sg_max_, and Sg_r_.
Referenced by getdPcdSvGBar().
|
private |
Gets \(\frac{\partial p_c}{\partial {\bar S}_g }\).
Definition at line 118 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References getdPcdSvG(), getSBar(), and xi_.
Referenced by dValue().
|
private |
Gets regularized capillary pressure via the saturation of the non-wetting phase.
Definition at line 99 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References getPcvGSg(), getSBar(), Sg_max_, Sg_r_, and xi_.
Referenced by value().
|
private |
Gets capillary pressure via the non-wetting phase saturation with the original van Genuchten model.
Definition at line 111 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References m_, p_b_, Sg_max_, and Sg_r_.
Referenced by getPcBarvGSg().
|
private |
Gets regularized saturation via the saturation of the non-wetting phase.
Definition at line 106 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References Sg_max_, Sg_r_, and xi_.
Referenced by getdPcdSvGBar(), and getPcBarvGSg().
|
overridevirtual |
Reimplemented from MaterialPropertyLib::Property.
Definition at line 48 of file CapillaryPressureRegularizedVanGenuchten.cpp.
References MaterialPropertyLib::checkSaturationRange(), dPcdSvGBarSg_max_, getPcBarvGSg(), MaterialPropertyLib::VariableArray::liquid_saturation, PcBarvGSg_Sg_max_, Sg_max_, and Sg_r_.
|
private |
Definition at line 74 of file CapillaryPressureRegularizedVanGenuchten.h.
|
private |
Exponent.
Definition at line 66 of file CapillaryPressureRegularizedVanGenuchten.h.
Referenced by CapillaryPressureRegularizedVanGenuchten(), getdPcdSvG(), and getPcvGSg().
|
private |
Capillary pressure scaling factor. Sometimes, it is called apparent gas entry pressure.
Definition at line 69 of file CapillaryPressureRegularizedVanGenuchten.h.
Referenced by getdPcdSvG(), and getPcvGSg().
|
private |
Definition at line 73 of file CapillaryPressureRegularizedVanGenuchten.h.
Referenced by value().
|
private |
Maximum saturation of gas phase.
Definition at line 65 of file CapillaryPressureRegularizedVanGenuchten.h.
Referenced by dValue(), getdPcdSvG(), getPcBarvGSg(), getPcvGSg(), getSBar(), and value().
|
private |
Residual saturation of gas phase.
Definition at line 64 of file CapillaryPressureRegularizedVanGenuchten.h.
Referenced by dValue(), getdPcdSvG(), getPcBarvGSg(), getPcvGSg(), getSBar(), and value().
|
staticconstexprprivate |
parameter in regularized van Genuchten model
Definition at line 71 of file CapillaryPressureRegularizedVanGenuchten.h.
Referenced by getdPcdSvGBar(), getPcBarvGSg(), and getSBar().