https://mooseframework.inl.gov
PorousFlowCapillaryPressureRSC.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 
18 {
19 public:
21 
23 
24  virtual Real capillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
25  virtual Real dCapillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
26  virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp = 0) const override;
27 
28  virtual Real effectiveSaturation(Real pc, unsigned qp = 0) const override;
29  virtual Real dEffectiveSaturation(Real pc, unsigned qp = 0) const override;
30  virtual Real d2EffectiveSaturation(Real pc, unsigned qp = 0) const override;
31 
32 protected:
38  const Real _shift;
40  const Real _scale;
41 };
const Real _oil_viscosity
Oil viscosity (which must be twice the water viscocity in this formulation)
virtual Real d2EffectiveSaturation(Real pc, unsigned qp=0) const override
Second 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)
Real saturation(Real pc, unsigned qp=0) const
Saturation as a function of capillary pressure.
const Real _shift
Shift. seff_water = 1/Sqrt(1 + Exp((Pc - shift)/scale)), where scale = 0.25 * scale_ratio * oil_visco...
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 effectiveSaturation(Real pc, unsigned qp=0) const override
Effective saturation as a function of capillary pressure.
PorousFlowCapillaryPressureRSC(const InputParameters &parameters)
virtual Real dEffectiveSaturation(Real pc, unsigned qp=0) const override
Derivative of effective saturation wrt capillary pressure.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real d2CapillaryPressureCurve(Real saturation, unsigned qp=0) const override
Second derivative of raw capillary pressure wrt true saturation.
const InputParameters & parameters() const
const Real _scale_ratio
Scale ratio: porosity/permeability/beta^2, where beta is chosen by the user.
const Real _scale
Scale = 0.25 * scale_ratio * oil_viscosity.
Rogers-Stallybrass-Clements form of capillary pressure.