26 "A RichardsDensity UserObject that defines the fluid density as a function of pressure.");
28 "The other variable in the 2-phase system. If " 29 "Variable=porepressure, then other_var should be the " 30 "saturation Variable, and vice-versa.");
32 "var_is_porepressure",
33 "This flag is needed to correctly calculate the Jacobian entries. If " 34 "set to true, this Kernel will assume it is describing the mass of " 35 "the phase with porepressure as its Variable (eg, the liquid phase). " 36 "If set to false, this Kernel will assumed it is describing the mass " 37 "of the phase with saturation as its variable (eg, the gas phase)");
45 _other_var_nodal(coupledDofValues(
"other_var")),
46 _other_var_num(coupled(
"other_var")),
47 _var_is_pp(getParam<bool>(
"var_is_porepressure")),
48 _porosity(getMaterialProperty<
Real>(
"porosity"))
unsigned int _other_var_num
variable number of the other variable
const RichardsDensity & _density
virtual Real ddensity(Real p) const =0
derivative of fluid density wrt porepressure This must be over-ridden in derived classes to provide a...
static const std::string density
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Q2PNodalMass(const InputParameters ¶meters)
virtual Real density(Real p) const =0
fluid density as a function of porepressure This must be over-ridden in derived classes to provide an...
const VariableTestValue & _test
const VariableValue & _other_var_nodal
the other variable (this is porepressure if the Variable is saturation)
bool _var_is_pp
whether the "other variable" is actually porepressure
const MaterialProperty< Real > & _porosity
current value of the porosity
virtual Real computeQpResidual()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const DoFValue & dofValues() const override
fluid_mass/dt lumped to the nodes
Base class for fluid density as a function of porepressure The functions density, ddensity and d2dens...
virtual Real computeQpJacobian()
static InputParameters validParams()
static InputParameters validParams()
registerMooseObject("RichardsApp", Q2PNodalMass)