https://mooseframework.inl.gov
PorousFlowCapillaryPressureVG.h
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 
10 #pragma once
11 
13 
21 {
22 public:
24 
26 
27  virtual Real capillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
28  virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
29  virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
30 
31  virtual Real effectiveSaturation(Real pc, unsigned qp = 0) const override;
32  virtual Real dEffectiveSaturation(Real pc, unsigned qp = 0) const override;
33  virtual Real d2EffectiveSaturation(Real pc, unsigned qp = 0) const override;
34 
35 protected:
37  const Real _m;
39  const Real _alpha;
41  const Real _s_scale;
44 };
const Real _m
van Genuchten exponent m
virtual Real d2EffectiveSaturation(Real pc, unsigned qp=0) const override
Second derivative of effective saturation wrt capillary pressure.
Real saturation(Real pc, unsigned qp=0) const
Saturation as a function of capillary pressure.
virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Derivative of raw capillary pressure wrt true saturation.
Base class for capillary pressure for multiphase flow in porous media.
virtual Real effectiveSaturation(Real pc, unsigned qp=0) const override
Effective saturation as a function of capillary pressure.
virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Second derivative of raw capillary pressure wrt true saturation.
const Real _alpha
van Genuchten capillary coefficient alpha
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _s_scale
Capillary pressure = f(Seff * s_scale) - pc_sscale, where f is the van Genuchten function. For almost all simulations s_scale=1 will be appropriate.
const InputParameters & parameters() const
const Real _pc_sscale
pc_sscale = f(s_scale), where f is the van Genuchten function
PorousFlowCapillaryPressureVG(const InputParameters &parameters)
van Genuchten form of capillary pressure.
virtual Real dEffectiveSaturation(Real pc, unsigned qp=0) const override
Derivative of effective saturation wrt capillary pressure.
virtual Real capillaryPressureCurve(Real saturation, unsigned qp=0) const override
Raw capillary pressure curve (does not include logarithmic extension)