www.mooseframework.org
PorousFlowCapillaryPressureBC.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 #include "PorousFlowBrooksCorey.h"
12 
14 
15 template <>
16 InputParameters
18 {
19  InputParameters params = validParams<PorousFlowCapillaryPressure>();
20  params.addRequiredParam<Real>("lambda", "Brooks-Corey exponent lambda");
21  params.addRequiredRangeCheckedParam<Real>(
22  "pe", "pe > 0", "Brooks-Corey entry pressure. Must be positive");
23  params.addClassDescription("Brooks-Corey capillary pressure");
24  return params;
25 }
26 
28  : PorousFlowCapillaryPressure(parameters),
29  _lambda(getParam<Real>("lambda")),
30  _pe(getParam<Real>("pe"))
31 {
32 }
33 
34 Real
35 PorousFlowCapillaryPressureBC::capillaryPressureCurve(Real saturation, unsigned /*qp*/) const
36 {
39 }
40 
41 Real
42 PorousFlowCapillaryPressureBC::dCapillaryPressureCurve(Real saturation, unsigned /*qp*/) const
43 {
46 }
47 
48 Real
49 PorousFlowCapillaryPressureBC::d2CapillaryPressureCurve(Real saturation, unsigned /*qp*/) const
50 {
53  _dseff_ds;
54 }
55 
56 Real
58 {
60 }
61 
62 Real
64 {
66 }
67 
68 Real
70 {
72 }
PorousFlowBrooksCorey::capillaryPressure
Real capillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Capillary pressure as a function of effective saturation.
Definition: PorousFlowBrooksCorey.C:42
PorousFlowCapillaryPressureBC::capillaryPressureCurve
virtual Real capillaryPressureCurve(Real saturation, unsigned qp=0) const override
Raw capillary pressure curve (does not include logarithmic extension)
Definition: PorousFlowCapillaryPressureBC.C:35
PorousFlowBrooksCorey::dEffectiveSaturation
Real dEffectiveSaturation(Real pc, Real pe, Real lambda)
Derivative of effective saturation wrt porepressure.
Definition: PorousFlowBrooksCorey.C:24
PorousFlowBrooksCorey::d2EffectiveSaturation
Real d2EffectiveSaturation(Real pc, Real pe, Real lambda)
Second derivative of effective saturation wrt porepressure.
Definition: PorousFlowBrooksCorey.C:33
PorousFlowBrooksCorey::effectiveSaturation
Real effectiveSaturation(Real pc, Real pe, Real lambda)
Effective saturation as a function of capillary pressure Note: seff = 1 for p >= 0.
Definition: PorousFlowBrooksCorey.C:15
PorousFlowCapillaryPressureBC::d2EffectiveSaturation
virtual Real d2EffectiveSaturation(Real pc, unsigned qp=0) const override
Second derivative of effective saturation wrt capillary pressure.
Definition: PorousFlowCapillaryPressureBC.C:69
PorousFlowCapillaryPressureBC::_lambda
const Real _lambda
Brooks-Corey exponent lambda.
Definition: PorousFlowCapillaryPressureBC.h:41
PorousFlowCapillaryPressure
Base class for capillary pressure for multiphase flow in porous media.
Definition: PorousFlowCapillaryPressure.h:39
registerMooseObject
registerMooseObject("PorousFlowApp", PorousFlowCapillaryPressureBC)
PorousFlowBrooksCorey::d2CapillaryPressure
Real d2CapillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Second derivative of capillary pressure wrt effective saturation.
Definition: PorousFlowBrooksCorey.C:68
PorousFlowCapillaryPressureBC::dCapillaryPressureCurve
virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Derivative of raw capillary pressure wrt true saturation.
Definition: PorousFlowCapillaryPressureBC.C:42
PorousFlowCapillaryPressure::effectiveSaturationFromSaturation
Real effectiveSaturationFromSaturation(Real saturation) const
Effective saturation of liquid phase given liquid saturation and residual liquid saturation.
Definition: PorousFlowCapillaryPressure.C:91
PorousFlowBrooksCorey.h
PorousFlowCapillaryPressureBC::d2CapillaryPressureCurve
virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Second derivative of raw capillary pressure wrt true saturation.
Definition: PorousFlowCapillaryPressureBC.C:49
PorousFlowCapillaryPressureBC::effectiveSaturation
virtual Real effectiveSaturation(Real pc, unsigned qp=0) const override
Effective saturation as a function of capillary pressure.
Definition: PorousFlowCapillaryPressureBC.C:57
PorousFlowCapillaryPressureBC
Brooks-Corey effective saturation, capillary pressure and relative permeability functions.
Definition: PorousFlowCapillaryPressureBC.h:26
PorousFlowCapillaryPressureBC::_pe
const Real _pe
Threshold entry pressure.
Definition: PorousFlowCapillaryPressureBC.h:43
validParams< PorousFlowCapillaryPressureBC >
InputParameters validParams< PorousFlowCapillaryPressureBC >()
Definition: PorousFlowCapillaryPressureBC.C:17
PorousFlowCapillaryPressure::_pc_max
const Real _pc_max
Maximum capillary pressure (Pa). Note: must be <= 0.
Definition: PorousFlowCapillaryPressure.h:231
PorousFlowCapillaryPressureBC::PorousFlowCapillaryPressureBC
PorousFlowCapillaryPressureBC(const InputParameters &parameters)
Definition: PorousFlowCapillaryPressureBC.C:27
PorousFlowCapillaryPressureBC::dEffectiveSaturation
virtual Real dEffectiveSaturation(Real pc, unsigned qp=0) const override
Derivative of effective saturation wrt capillary pressure.
Definition: PorousFlowCapillaryPressureBC.C:63
PorousFlowCapillaryPressureBC.h
validParams< PorousFlowCapillaryPressure >
InputParameters validParams< PorousFlowCapillaryPressure >()
Definition: PorousFlowCapillaryPressure.C:14
PorousFlowBrooksCorey::dCapillaryPressure
Real dCapillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Derivative of capillary pressure wrt effective saturation.
Definition: PorousFlowBrooksCorey.C:53
PorousFlowCapillaryPressure::saturation
Real saturation(Real pc, unsigned qp=0) const
Saturation as a function of capillary pressure.
Definition: PorousFlowCapillaryPressure.C:97
PorousFlowCapillaryPressure::_dseff_ds
const Real _dseff_ds
Derivative of effective saturation with respect to saturation.
Definition: PorousFlowCapillaryPressure.h:227