www.mooseframework.org
PorousFlowCapillaryPressureVG.h
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 
10 #pragma once
11 
13 
15 
16 template <>
18 
26 {
27 public:
28  PorousFlowCapillaryPressureVG(const InputParameters & parameters);
29 
30  virtual Real capillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
31  virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
32  virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
33 
34  virtual Real effectiveSaturation(Real pc, unsigned qp = 0) const override;
35  virtual Real dEffectiveSaturation(Real pc, unsigned qp = 0) const override;
36  virtual Real d2EffectiveSaturation(Real pc, unsigned qp = 0) const override;
37 
38 protected:
40  const Real _m;
42  const Real _alpha;
44  const Real _s_scale;
46  const Real _pc_sscale;
47 };
48 
PorousFlowCapillaryPressureVG::_pc_sscale
const Real _pc_sscale
pc_sscale = f(s_scale), where f is the van Genuchten function
Definition: PorousFlowCapillaryPressureVG.h:46
PorousFlowCapillaryPressureVG::capillaryPressureCurve
virtual Real capillaryPressureCurve(Real saturation, unsigned qp=0) const override
Raw capillary pressure curve (does not include logarithmic extension)
Definition: PorousFlowCapillaryPressureVG.C:49
PorousFlowCapillaryPressureVG::_m
const Real _m
van Genuchten exponent m
Definition: PorousFlowCapillaryPressureVG.h:40
PorousFlowCapillaryPressure
Base class for capillary pressure for multiphase flow in porous media.
Definition: PorousFlowCapillaryPressure.h:39
PorousFlowCapillaryPressureVG::d2EffectiveSaturation
virtual Real d2EffectiveSaturation(Real pc, unsigned qp=0) const override
Second derivative of effective saturation wrt capillary pressure.
Definition: PorousFlowCapillaryPressureVG.C:86
PorousFlowCapillaryPressure.h
PorousFlowCapillaryPressureVG::dCapillaryPressureCurve
virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Derivative of raw capillary pressure wrt true saturation.
Definition: PorousFlowCapillaryPressureVG.C:56
PorousFlowCapillaryPressureVG::d2CapillaryPressureCurve
virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Second derivative of raw capillary pressure wrt true saturation.
Definition: PorousFlowCapillaryPressureVG.C:64
PorousFlowCapillaryPressureVG::_alpha
const Real _alpha
van Genuchten capillary coefficient alpha
Definition: PorousFlowCapillaryPressureVG.h:42
PorousFlowCapillaryPressureVG::effectiveSaturation
virtual Real effectiveSaturation(Real pc, unsigned qp=0) const override
Effective saturation as a function of capillary pressure.
Definition: PorousFlowCapillaryPressureVG.C:72
PorousFlowCapillaryPressureVG::dEffectiveSaturation
virtual Real dEffectiveSaturation(Real pc, unsigned qp=0) const override
Derivative of effective saturation wrt capillary pressure.
Definition: PorousFlowCapillaryPressureVG.C:79
PorousFlowCapillaryPressureVG
van Genuchten form of capillary pressure.
Definition: PorousFlowCapillaryPressureVG.h:25
PorousFlowCapillaryPressureVG::_s_scale
const Real _s_scale
Capillary pressure = f(Seff * s_scale) - pc_sscale, where f is the van Genuchten function....
Definition: PorousFlowCapillaryPressureVG.h:44
PorousFlowCapillaryPressureVG::PorousFlowCapillaryPressureVG
PorousFlowCapillaryPressureVG(const InputParameters &parameters)
Definition: PorousFlowCapillaryPressureVG.C:39
validParams< PorousFlowCapillaryPressureVG >
InputParameters validParams< PorousFlowCapillaryPressureVG >()
Definition: PorousFlowCapillaryPressureVG.C:17
PorousFlowCapillaryPressure::saturation
Real saturation(Real pc, unsigned qp=0) const
Saturation as a function of capillary pressure.
Definition: PorousFlowCapillaryPressure.C:97