Implementation of the Brooks-Corey capillary pressure <-> saturation relation. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vice versa.
More...
#include <dumux/material/fluidmatrixinteractions/2p/brookscorey.hh>
Implementation of the Brooks-Corey capillary pressure <-> saturation relation. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vice versa.
For general info: EffToAbsLaw
- See also
- BrooksCoreyParams
|
template<class Scalar = double> |
static Params< Scalar > | makeParams (const std::string ¶mGroup) |
| Construct from a subgroup from the global parameter tree. More...
|
|
template<class Scalar > |
static Scalar | pc (Scalar swe, const Params< Scalar > ¶ms) |
| The capillary pressure-saturation curve according to Brooks & Corey. More...
|
|
template<class Scalar > |
static Scalar | swe (Scalar pc, const Params< Scalar > ¶ms) |
| The saturation-capillary pressure curve according to Brooks & Corey. More...
|
|
template<class Scalar > |
static Scalar | endPointPc (const Params< Scalar > ¶ms) |
| The capillary pressure at Swe = 1.0 also called end point capillary pressure. More...
|
|
template<class Scalar > |
static Scalar | dpc_dswe (Scalar swe, const Params< Scalar > ¶ms) |
| The partial derivative of the capillary pressure w.r.t. the effective saturation according to Brooks & Corey. More...
|
|
template<class Scalar > |
static Scalar | dswe_dpc (Scalar pc, const Params< Scalar > ¶ms) |
| The partial derivative of the effective saturation w.r.t. the capillary pressure according to Brooks & Corey. More...
|
|
template<class Scalar > |
static Scalar | krw (Scalar swe, const Params< Scalar > ¶ms) |
| The relative permeability for the wetting phase of the medium implied by the Brooks-Corey parameterization. More...
|
|
template<class Scalar > |
static Scalar | dkrw_dswe (Scalar swe, const Params< Scalar > ¶ms) |
| The derivative of the relative permeability for the wetting phase with regard to the wetting saturation of the medium implied by the Brooks-Corey parameterization. More...
|
|
template<class Scalar > |
static Scalar | krn (Scalar swe, const Params< Scalar > ¶ms) |
| The relative permeability for the non-wetting phase of the medium as implied by the Brooks-Corey parameterization. More...
|
|
template<class Scalar > |
static Scalar | dkrn_dswe (Scalar swe, const Params< Scalar > ¶ms) |
| The derivative of the relative permeability for the non-wetting phase in regard to the wetting saturation of the medium as implied by the Brooks-Corey parameterization. More...
|
|
◆ dkrn_dswe()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::dkrn_dswe |
( |
Scalar |
swe, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The derivative of the relative permeability for the non-wetting phase in regard to the wetting saturation of the medium as implied by the Brooks-Corey parameterization.
- Parameters
-
swe | The mobile saturation of the wetting phase. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Derivative of the relative permeability of the non-wetting phase w.r.t. effective wetting phase saturation calculated as implied by Brooks & Corey.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
◆ dkrw_dswe()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::dkrw_dswe |
( |
Scalar |
swe, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The derivative of the relative permeability for the wetting phase with regard to the wetting saturation of the medium implied by the Brooks-Corey parameterization.
- Parameters
-
swe | The mobile saturation of the wetting phase. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Derivative of the relative permeability of the wetting phase w.r.t. effective wetting phase saturation calculated as implied by Brooks & Corey.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
◆ dpc_dswe()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::dpc_dswe |
( |
Scalar |
swe, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The partial derivative of the capillary pressure w.r.t. the effective saturation according to Brooks & Corey.
This is equivalent to \(\mathrm{\frac{\partial p_c}{\partial \overline{S}_w} = -\frac{p_{ce}}{\lambda} \overline{S}_w^{-1/\lambda - 1} }\)
- Parameters
-
swe | Effective saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\) |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Partial derivative of \(\mathrm{[p_c]}\) w.r.t. effective saturation according to Brooks & Corey.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
◆ dswe_dpc()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::dswe_dpc |
( |
Scalar |
pc, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The partial derivative of the effective saturation w.r.t. the capillary pressure according to Brooks & Corey.
- Parameters
-
pc | Capillary pressure \(\mathrm{[p_c]}\) in \(\mathrm{[Pa]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Partial derivative of effective saturation w.r.t. \(\mathrm{[p_c]}\) according to Brooks & Corey.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
◆ endPointPc()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::endPointPc |
( |
const Params< Scalar > & |
params | ) |
|
|
inlinestatic |
The capillary pressure at Swe = 1.0 also called end point capillary pressure.
- Parameters
-
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
◆ krn()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::krn |
( |
Scalar |
swe, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The relative permeability for the non-wetting phase of the medium as implied by the Brooks-Corey parameterization.
- Parameters
-
swe | The mobile saturation of the wetting phase. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Relative permeability of the non-wetting phase calculated as implied by Brooks & Corey.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
◆ krw()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::krw |
( |
Scalar |
swe, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The relative permeability for the wetting phase of the medium implied by the Brooks-Corey parameterization.
- Parameters
-
swe | The mobile saturation of the wetting phase. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Relative permeability of the wetting phase calculated as implied by Brooks & Corey.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
◆ makeParams()
template<class Scalar = double>
static Params< Scalar > Dumux::FluidMatrix::BrooksCorey::makeParams |
( |
const std::string & |
paramGroup | ) |
|
|
inlinestatic |
Construct from a subgroup from the global parameter tree.
- Note
- This will give you nice error messages if a mandatory parameter is missing
◆ pc()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::pc |
( |
Scalar |
swe, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The capillary pressure-saturation curve according to Brooks & Corey.
The Brooks-Corey empirical capillary pressure <-> saturation function is given by
\(\mathrm{ p_c = p_{ce}\overline{S}_w^{-1/\lambda} }\)
- Parameters
-
swe | Effective saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\) |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Capillary pressure calculated by Brooks & Corey constitutive relation.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
◆ swe()
template<class Scalar >
static Scalar Dumux::FluidMatrix::BrooksCorey::swe |
( |
Scalar |
pc, |
|
|
const Params< Scalar > & |
params |
|
) |
| |
|
inlinestatic |
The saturation-capillary pressure curve according to Brooks & Corey.
This is the inverse of the capillary pressure-saturation curve: \(\mathrm{ \overline{S}_w = (\frac{p_c}{p_{ce}})^{-\lambda}}\)
- Parameters
-
pc | Capillary pressure \(\mathrm{[p_c]}\) in \(\mathrm{[Pa]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
- Returns
- Effective wetting phase saturation calculated as inverse of BrooksCorey constitutive relation.
- Note
- Instead of undefined behaviour if pc is not in the valid range, we return a valid number, by clamping the input.
The documentation for this class was generated from the following file: