Moose::GenericType< Real, is_ad > GenericReal
const MaterialProperty< unsigned int > *const _nearest_qp
The nearest qp to the node (always non-AD)
const bool _strain_at_nearest_qp
Whether the porosity uses the volumetric strain at the closest quadpoint.
static InputParameters validParams()
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Real computeQpJac(unsigned int pvar) const
Derivative of residual with respect to PorousFlow variable number pvar (non-AD path only) ...
const MaterialProperty< Real > & _rock_energy_nodal_old
Old value of nodal rock energy density (always non-AD)
const MaterialProperty< std::vector< RealGradient > > *const _dporosity_dgradvar
d(porosity)/d(grad PorousFlow variable) at qps – null for AD path
const unsigned int _num_phases
Number of fluid phases.
const InputParameters & parameters() const
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_density_dvar
d(nodal fluid density)/d(PorousFlow variable) – null for AD path or if !_fluid_present ...
const MaterialProperty< std::vector< Real > > *const _energy_nodal_old
Old value of internal energy of the phases, evaluated at the nodes (always non-AD); null if !_fluid_p...
const GenericMaterialProperty< Real, is_ad > & _rock_energy_nodal
Nodal rock energy density (AD or non-AD)
const MaterialProperty< std::vector< Real > > *const _dporosity_dvar
d(porosity)/d(PorousFlow variable) at nodes – null for AD path
PorousFlowEnergyTimeDerivativeTempl(const InputParameters ¶meters)
const MaterialProperty< std::vector< std::vector< Real > > > *const _denergy_nodal_dvar
d(internal energy)/d(PorousFlow variable) – null for AD path or if !_fluid_present ...
virtual GenericReal< is_ad > computeQpResidual() override
const bool _fluid_present
Whether _num_phases > 0 (ie. there is a fluid present)
const GenericMaterialProperty< std::vector< Real >, is_ad > *const _energy_nodal
Internal energy of the phases, evaluated at the nodes (AD or non-AD); null if !_fluid_present.
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
PorousFlowEnergyTimeDerivativeTempl< false > PorousFlowEnergyTimeDerivative
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_saturation_nodal_dvar
d(nodal fluid saturation)/d(PorousFlow variable) – null for AD path or if !_fluid_present ...
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const bool _var_is_porflow_var
Whether the Variable for this Kernel is a PorousFlow variable according to the Dictator.
const GenericMaterialProperty< std::vector< Real >, is_ad > *const _fluid_saturation_nodal
Nodal fluid saturation (AD or non-AD); null if !_fluid_present.
usingGenericKernelMembers
const MaterialProperty< std::vector< Real > > *const _drock_energy_nodal_dvar
d(nodal rock energy density)/d(PorousFlow variable) – null for AD path
const std::string _base_name
base name used in the Tensor Mechanics strain calculator
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpJacobian() override
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
const GenericMaterialProperty< std::vector< Real >, is_ad > *const _fluid_density
Nodal fluid density (AD or non-AD); null if !_fluid_present.
const MaterialProperty< std::vector< Real > > *const _fluid_density_old
Old value of nodal fluid density (always non-AD); null if !_fluid_present.
Kernel = (heat_energy - heat_energy_old)/dt It is lumped to the nodes.
const GenericMaterialProperty< Real, is_ad > & _porosity
Porosity at the nodes (AD or non-AD depending on is_ad)
const MaterialProperty< Real > & _porosity_old
Old value of porosity (always non-AD)
const bool _has_total_strain
Whether there is a Material called _base_name_total_strain.
const MaterialProperty< RankTwoTensor > *const _total_strain_old
Old value of total strain calculated by a Tensor Mechanics strain calculator, if it exists...
Base class for PorousFlow kernels that use mass-lumped (nodal) material properties.
const MaterialProperty< std::vector< Real > > *const _fluid_saturation_nodal_old
Old value of fluid saturation (always non-AD); null if !_fluid_present.
PorousFlowEnergyTimeDerivativeTempl< true > ADPorousFlowEnergyTimeDerivative