Go to the documentation of this file.
21 params.addRequiredParam<Real>(
"dens0",
"Reference density of fluid. Eg 1000");
22 params.addRequiredParam<Real>(
"bulk_mod",
"Bulk modulus of fluid. Eg 2E9");
23 params.addParam<Real>(
"cut_limit",
25 "For porepressure > cut_limit, density = dens0*Exp(pressure/bulk). For "
26 "porepressure < cut_limie, density = cubic*dens0*Exp(pressure/bulk), where "
27 "cubic=1 for pressure=cut_limit, and cubic=0 for pressure<=zero_point");
28 params.addParam<Real>(
"zero_point",
30 "For porepressure > cut_limit, density = dens0*Exp(pressure/bulk). For "
31 "porepressure < cut_limie, density = cubic*dens0*Exp(pressure/bulk), where "
32 "cubic=1 for pressure=cut_limit, and cubic=0 for pressure<=zero_point");
33 params.addClassDescription(
34 "Fluid density assuming constant bulk modulus. dens0 * Exp(pressure/bulk)");
40 _dens0(getParam<Real>(
"dens0")),
41 _bulk(getParam<Real>(
"bulk_mod")),
42 _cut_limit(getParam<Real>(
"cut_limit")),
43 _zero_point(getParam<Real>(
"zero_point")),
44 _c3(std::
pow(_cut_limit - _zero_point, 3))
47 mooseError(
"RichardsDensityConstantbulkCut: zero_point must be less than cut_limit");
62 return modifier * unmodified;
73 return unmodified /
_bulk;
78 return (modifier /
_bulk + dmodifier) * unmodified;
95 return (modifier /
_bulk /
_bulk + 2 * dmodifier /
_bulk + d2modifier) * unmodified;
Real ddensity(Real p) const
derivative of fluid density wrt porepressure
Real _cut_limit
where the cubic starts
Real _zero_point
where the density is zero
Fluid density assuming constant bulk modulus, for p>cut_limit Then following a cubic for zero_point <...
Real density(Real p) const
fluid density as a function of porepressure
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
InputParameters validParams< RichardsDensityConstBulkCut >()
RichardsDensityConstBulkCut(const InputParameters ¶meters)
Real d2density(Real p) const
second derivative of fluid density wrt porepressure
InputParameters validParams< RichardsDensity >()
Base class for fluid density as a function of porepressure The functions density, ddensity and d2dens...
registerMooseObject("RichardsApp", RichardsDensityConstBulkCut)
Real _c3
(cut_limit-zero_point)^3
Real _dens0
density = _dens0*exp(p/_bulk), modified by cubic
Real _bulk
density = _dens0*exp(p/_bulk), modified by cubic