Go to the documentation of this file.
12 #include "MooseVariable.h"
20 InputParameters params = validParams<TimeKernel>();
21 params.addRequiredParam<UserObjectName>(
22 "PorousFlowDictator",
"The UserObject that holds the list of PorousFlow variable names.");
23 params.addRequiredCoupledVar(
24 "conc_var",
"The variable that represents the concentration of desorped species");
25 params.addClassDescription(
"Desorped_mass * rate_of_solid_volumetric_expansion");
30 const InputParameters & parameters)
31 : TimeKernel(parameters),
33 _conc_var_number(coupled(
"conc_var")),
34 _conc(coupledValue(
"conc_var")),
35 _porosity(getMaterialProperty<Real>(
"PorousFlow_porosity_qp")),
36 _dporosity_dvar(getMaterialProperty<std::vector<Real>>(
"dPorousFlow_porosity_qp_dvar")),
38 getMaterialProperty<std::vector<
RealGradient>>(
"dPorousFlow_porosity_qp_dgradvar")),
39 _strain_rate_qp(getMaterialProperty<Real>(
"PorousFlow_volumetric_strain_rate_qp")),
40 _dstrain_rate_qp_dvar(getMaterialProperty<std::vector<
RealGradient>>(
41 "dPorousFlow_volumetric_strain_rate_qp_dvar"))
72 return _test[_i][_qp] * deriv;
80 return _test[_i][_qp] * deriv;
virtual Real computeQpResidual() override
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< std::vector< RealGradient > > & _dporosity_dgradvar
d(porosity)/d(grad PorousFlow variable)
VectorValue< Real > RealGradient
const MaterialProperty< Real > & _strain_rate_qp
strain rate
bool notPorousFlowVariable(unsigned int moose_var_num) const
Returns true if moose_var_num is not a porous flow variabe.
Real computeQpJac(unsigned int jvar) const
Derivative of the residual with respect to the Moose variable with variable number jvar.
PorousFlowDesorpedMassVolumetricExpansion(const InputParameters ¶meters)
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
unsigned int porousFlowVariableNum(unsigned int moose_var_num) const
The PorousFlow variable number.
virtual Real computeQpJacobian() override
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
const unsigned int _conc_var_number
The MOOSE variable number of the concentration variable.
const MaterialProperty< std::vector< Real > > & _dporosity_dvar
d(porosity)/d(PorousFlow variable)
InputParameters validParams< PorousFlowDesorpedMassVolumetricExpansion >()
const MaterialProperty< std::vector< RealGradient > > & _dstrain_rate_qp_dvar
d(strain rate)/d(PorousFlow variable)
const MaterialProperty< Real > & _porosity
Porosity.
Kernel = desorped_mass * d(volumetric_strain)/dt which is not lumped to the nodes.
const VariableValue & _conc
The concentration variable.
registerMooseObject("PorousFlowApp", PorousFlowDesorpedMassVolumetricExpansion)