https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PorousFlowCapillaryPressureBC.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
12
14
17{
19 params.addRequiredParam<Real>("lambda", "Brooks-Corey exponent lambda");
21 "pe", "pe > 0", "Brooks-Corey entry pressure. Must be positive");
22 params.addClassDescription("Brooks-Corey capillary pressure");
23 return params;
24}
25
27 : PorousFlowCapillaryPressure(parameters),
28 _lambda(getParam<Real>("lambda")),
29 _pe(getParam<Real>("pe"))
30{
31}
32
33Real
39
40Real
46
47Real
54
55Real
60
61Real
66
67Real
registerMooseObject("PorousFlowApp", PorousFlowCapillaryPressureBC)
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
Brooks-Corey effective saturation, capillary pressure and relative permeability functions.
virtual Real dEffectiveSaturation(Real pc, unsigned qp=0) const override
Derivative of effective saturation wrt capillary pressure.
const Real _lambda
Brooks-Corey exponent lambda.
virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Second derivative of raw capillary pressure wrt true saturation.
virtual Real effectiveSaturation(Real pc, unsigned qp=0) const override
Effective saturation as a function of capillary pressure.
const Real _pe
Threshold entry pressure.
virtual Real d2EffectiveSaturation(Real pc, unsigned qp=0) const override
Second derivative of effective saturation wrt capillary pressure.
virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Derivative of raw capillary pressure wrt true saturation.
PorousFlowCapillaryPressureBC(const InputParameters &parameters)
virtual Real capillaryPressureCurve(Real saturation, unsigned qp=0) const override
Raw capillary pressure curve (does not include logarithmic extension)
Base class for capillary pressure for multiphase flow in porous media.
const Real _pc_max
Maximum capillary pressure (Pa). Note: must be <= 0.
const Real _dseff_ds
Derivative of effective saturation with respect to saturation.
Real saturation(Real pc, unsigned qp=0) const
Saturation as a function of capillary pressure.
Real effectiveSaturationFromSaturation(Real saturation) const
Effective saturation of liquid phase given liquid saturation and residual liquid saturation.
Real capillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Capillary pressure as a function of effective saturation.
Real d2EffectiveSaturation(Real pc, Real pe, Real lambda)
Second derivative of effective saturation wrt porepressure.
Real dCapillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Derivative of capillary pressure wrt effective saturation.
Real dEffectiveSaturation(Real pc, Real pe, Real lambda)
Derivative of effective saturation wrt porepressure.
Real d2CapillaryPressure(Real seff, Real pe, Real lambda, Real pc_max)
Second derivative of capillary pressure wrt effective saturation.
Real effectiveSaturation(Real pc, Real pe, Real lambda)
Effective saturation as a function of capillary pressure Note: seff = 1 for p >= 0.