https://mooseframework.inl.gov
PorousFlowCapillaryPressureConst.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 
11 
13 
16 {
18  params.addRangeCheckedParam<Real>(
19  "pc", 0.0, "pc >= 0", "Constant capillary pressure (Pa). Default is 0");
20  params.addClassDescription("Constant capillary pressure");
21  return params;
22 }
23 
25  const InputParameters & parameters)
26  : PorousFlowCapillaryPressure(parameters), _pc(getParam<Real>("pc"))
27 {
28  // Set _log_ext to false as the logarithmic extension is not necessary in this object
29  _log_ext = false;
30 }
31 
32 Real
33 PorousFlowCapillaryPressureConst::effectiveSaturation(Real /*pc*/, unsigned /*qp*/) const
34 {
35  return 1.0;
36 }
37 
38 Real
39 PorousFlowCapillaryPressureConst::dEffectiveSaturation(Real /*pc*/, unsigned /*qp*/) const
40 {
41  return 0.0;
42 }
43 
44 Real
46 {
47  return 0.0;
48 }
49 
50 Real
51 PorousFlowCapillaryPressureConst::capillaryPressureCurve(Real /*saturation*/, unsigned /*qp*/) const
52 {
53  return _pc;
54 }
55 
56 Real
58  unsigned /*qp*/) const
59 {
60  return 0.0;
61 }
62 
63 Real
65  unsigned /*qp*/) const
66 {
67  return 0.0;
68 }
PorousFlowCapillaryPressureConst(const InputParameters &parameters)
virtual Real d2EffectiveSaturation(Real pc, unsigned qp=0) const override
Second derivative of effective saturation wrt capillary pressure.
registerMooseObject("PorousFlowApp", PorousFlowCapillaryPressureConst)
virtual Real effectiveSaturation(Real pc, unsigned qp=0) const override
Effective saturation as a function of capillary pressure.
static InputParameters validParams()
Base class for capillary pressure for multiphase flow in porous media.
virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Derivative of raw capillary pressure wrt true saturation.
virtual Real capillaryPressureCurve(Real saturation, unsigned qp=0) const override
Raw capillary pressure curve (does not include logarithmic extension)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _pc
Constant capillary pressure (Pa)
void addClassDescription(const std::string &doc_string)
bool _log_ext
Flag to use a logarithmic extension for low saturation.
void addRangeCheckedParam(const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)
virtual Real dEffectiveSaturation(Real pc, unsigned qp=0) const override
Derivative of effective saturation wrt capillary pressure.
virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Second derivative of raw capillary pressure wrt true saturation.