www.mooseframework.org
PorousFlowCapillaryPressureBC.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
10 
11 template <>
12 InputParameters
14 {
15  InputParameters params = validParams<PorousFlowCapillaryPressure>();
16  params.addRequiredParam<Real>("lambda", "Brooks-Corey exponent lambda");
17  params.addRequiredRangeCheckedParam<Real>(
18  "pe", "pe > 0", "Brooks-Corey entry pressure. Must be positive");
19  params.addClassDescription("Brooks-Corey capillary pressure");
20  return params;
21 }
22 
24  : PorousFlowCapillaryPressure(parameters),
25  _lambda(getParam<Real>("lambda")),
26  _pe(getParam<Real>("pe"))
27 {
28 }
29 
30 Real
32 {
33  Real seff = effectiveSaturationFromSaturation(saturation);
35 }
36 
37 Real
39 {
40  Real seff = effectiveSaturationFromSaturation(saturation);
42 }
43 
44 Real
46 {
47  Real seff = effectiveSaturationFromSaturation(saturation);
49  _dseff_ds;
50 }
51 
52 Real
54 {
56 }
57 
58 Real
60 {
62 }
63 
64 Real
66 {
68 }
Real capillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Capillary pressure as a function of effective saturation.
Real effectiveSaturation(Real pc, Real pe, Real lambda)
Effective saturation as a function of capillary pressure Note: seff = 1 for p >= 0.
InputParameters validParams< PorousFlowCapillaryPressure >()
virtual Real effectiveSaturation(Real pc) const override
Effective saturation as a function of capillary pressure.
virtual Real dEffectiveSaturation(Real pc) const override
Derivative of effective saturation wrt capillary pressure.
Real dCapillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Derivative of capillary pressure wrt effective saturation.
const Real _lambda
Brooks-Corey exponent lambda.
Base class for capillary pressure for multiphase flow in porous media.
virtual Real capillaryPressureCurve(Real saturation) const override
Raw capillary pressure curve (does not include logarithmic extension)
const Real _pc_max
Maximum capillary pressure (Pa). Note: must be <= 0.
Real d2CapillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Second derivative of capillary pressure wrt effective saturation.
Real effectiveSaturationFromSaturation(Real saturation) const
Effective saturation of liquid phase given liquid saturation and residual liquid saturation.
Real dEffectiveSaturation(Real pc, Real pe, Real lambda)
Derivative of effective saturation wrt porepressure.
Real d2EffectiveSaturation(Real pc, Real pe, Real lambda)
Second derivative of effective saturation wrt porepressure.
virtual Real d2EffectiveSaturation(Real pc) const override
Second derivative of effective saturation wrt capillary pressure.
const Real _pe
Threshold entry pressure.
virtual Real d2CapillaryPressureCurve(Real saturation) const override
Second derivative of raw capillary pressure wrt true saturation.
const Real _dseff_ds
Derivative of effective saturation with respect to saturation.
PorousFlowCapillaryPressureBC(const InputParameters &parameters)
void FORTRAN_CALL() saturation(double &P, double &T, int &N, int &nerr)
virtual Real dCapillaryPressureCurve(Real saturation) const override
Derivative of raw capillary pressure wrt true saturation.
InputParameters validParams< PorousFlowCapillaryPressureBC >()