24 "For porepressure > cut_limit, density = dens0*Exp(pressure/bulk). For " 25 "porepressure < cut_limie, density = cubic*dens0*Exp(pressure/bulk), where " 26 "cubic=1 for pressure=cut_limit, and cubic=0 for pressure<=zero_point");
29 "For porepressure > cut_limit, density = dens0*Exp(pressure/bulk). For " 30 "porepressure < cut_limie, density = cubic*dens0*Exp(pressure/bulk), where " 31 "cubic=1 for pressure=cut_limit, and cubic=0 for pressure<=zero_point");
33 "Fluid density assuming constant bulk modulus. dens0 * Exp(pressure/bulk)");
39 _dens0(getParam<
Real>(
"dens0")),
40 _bulk(getParam<
Real>(
"bulk_mod")),
41 _cut_limit(getParam<
Real>(
"cut_limit")),
42 _zero_point(getParam<
Real>(
"zero_point")),
43 _c3(
std::
pow(_cut_limit - _zero_point, 3))
46 mooseError(
"RichardsDensityConstantbulkCut: zero_point must be less than cut_limit");
61 return modifier * unmodified;
72 return unmodified /
_bulk;
77 return (modifier /
_bulk + dmodifier) * unmodified;
94 return (modifier /
_bulk /
_bulk + 2 * dmodifier /
_bulk + d2modifier) * unmodified;
registerMooseObject("RichardsApp", RichardsDensityConstBulkCut)
Real _cut_limit
where the cubic starts
Real d2density(Real p) const
second derivative of fluid density wrt porepressure
static InputParameters validParams()
static InputParameters validParams()
Real _dens0
density = _dens0*exp(p/_bulk), modified by cubic
Real _bulk
density = _dens0*exp(p/_bulk), modified by cubic
Real density(Real p) const
fluid density as a function of porepressure
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real _c3
(cut_limit-zero_point)^3
void mooseError(Args &&... args) const
Base class for fluid density as a function of porepressure The functions density, ddensity and d2dens...
Fluid density assuming constant bulk modulus, for p>cut_limit Then following a cubic for zero_point <...
Real ddensity(Real p) const
derivative of fluid density wrt porepressure
Real _zero_point
where the density is zero
RichardsDensityConstBulkCut(const InputParameters ¶meters)