https://mooseframework.inl.gov
PorousFlowRogersStallybrassClements.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 {
14 Real
15 effectiveSaturation(Real pc, Real shift, Real scale)
16 {
17  Real x = (pc - shift) / scale;
18  Real ex = std::exp(x);
19  return std::pow(1.0 + ex, -0.5);
20 }
21 
22 Real
23 dEffectiveSaturation(Real pc, Real shift, Real scale)
24 {
25  Real x = (pc - shift) / scale;
26  Real ex = std::exp(x);
27  return -0.5 * ex * std::pow(1.0 + ex, -1.5) / scale;
28 }
29 
30 Real
31 d2EffectiveSaturation(Real pc, Real shift, Real scale)
32 {
33  Real x = (pc - shift) / scale;
34  Real ex = std::exp(x);
35  return (0.75 * ex * ex * std::pow(1.0 + ex, -2.5) - 0.5 * ex * std::pow(1.0 + ex, -1.5)) / scale /
36  scale;
37 }
38 }
Real dEffectiveSaturation(Real pc, Real shift, Real scale)
Derivative of effective saturation wrt capillary pressure.
void scale(MeshBase &mesh, const Real xs, const Real ys=0., const Real zs=0.)
const std::vector< double > x
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Rogers-Stallybrass-Clements version of effective saturation as a function of capillary pressure...
Real d2EffectiveSaturation(Real pc, Real shift, Real scale)
Second derivative of effective saturation wrt capillary pressure.
Real effectiveSaturation(Real pc, Real shift, Real scale)
Effective saturation as a function of capillary pressure.
MooseUnits pow(const MooseUnits &, int)