www.mooseframework.org
RichardsDensityConstBulk.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 // Fluid density assuming constant bulk modulus
11 //
13 
15 
18 {
20  params.addRequiredParam<Real>("dens0", "Reference density of fluid. Eg 1000");
21  params.addRequiredParam<Real>("bulk_mod", "Bulk modulus of fluid. Eg 2E9");
22  params.addClassDescription(
23  "Fluid density assuming constant bulk modulus. dens0 * Exp(pressure/bulk)");
24  return params;
25 }
26 
28  : RichardsDensity(parameters), _dens0(getParam<Real>("dens0")), _bulk(getParam<Real>("bulk_mod"))
29 {
30 }
31 
32 Real
34 {
35  return _dens0 * std::exp(p / _bulk);
36 }
37 
38 Real
40 {
41  return density(p) / _bulk;
42 }
43 
44 Real
46 {
47  return density(p) / _bulk / _bulk;
48 }
Real _dens0
density = _dens0*exp(p/_bulk)
Real density(Real p) const
fluid density as a function of porepressure
Real d2density(Real p) const
second derivative of fluid density wrt porepressure
Real _bulk
density = _dens0*exp(p/_bulk)
Fluid density assuming constant bulk modulus.
static InputParameters validParams()
RichardsDensityConstBulk(const InputParameters &parameters)
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
registerMooseObject("RichardsApp", RichardsDensityConstBulk)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real ddensity(Real p) const
derivative of fluid density wrt porepressure
void addClassDescription(const std::string &doc_string)
Base class for fluid density as a function of porepressure The functions density, ddensity and d2dens...