const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_saturation_nodal_dvar
d(nodal fluid saturation)/d(PorousFlow variable) – null for AD path
const MaterialProperty< std::vector< Real > > *const _dporosity_dvar
d(porosity)/d(PorousFlow variable) at nodes – null for AD path
Moose::GenericType< Real, is_ad > GenericReal
PorousFlowMassRadioactiveDecayTempl< true > ADPorousFlowMassRadioactiveDecay
const MaterialProperty< unsigned int > *const _nearest_qp
The nearest qp to the node (always non-AD)
const GenericMaterialProperty< std::vector< std::vector< Real > >, is_ad > & _mass_frac
Nodal mass fraction (AD or non-AD)
const bool _var_is_porflow_var
Whether the Variable for this Kernel is a PorousFlow variable according to the Dictator.
const unsigned int _fluid_component
The fluid component index.
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_density_dvar
d(nodal fluid density)/d(PorousFlow variable) – null for AD path
const Real _decay_rate
The decay rate.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const InputParameters & parameters() const
PorousFlowMassRadioactiveDecayTempl< false > PorousFlowMassRadioactiveDecay
const bool _strain_at_nearest_qp
Whether the porosity uses the volumetric strain at the closest quadpoint.
virtual GenericReal< is_ad > computeQpResidual() override
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const GenericMaterialProperty< std::vector< Real >, is_ad > & _fluid_saturation_nodal
Nodal fluid saturation (AD or non-AD)
Real computeQpJac(unsigned int pvar)
Derivative of residual wrt PorousFlow variable pvar (non-AD path only)
static InputParameters validParams()
const unsigned int _num_phases
Number of fluid phases.
const MaterialProperty< std::vector< RealGradient > > *const _dporosity_dgradvar
d(porosity)/d(grad PorousFlow variable) at qps – null for AD path
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
virtual Real computeQpJacobian() override
PorousFlowMassRadioactiveDecayTempl(const InputParameters ¶meters)
const GenericMaterialProperty< Real, is_ad > & _porosity
Porosity at the nodes, but it can depend on grad(variables) which are actually evaluated at the qps (...
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > *const _dmass_frac_dvar
d(nodal mass fraction)/d(PorousFlow variable) – null for AD path
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
usingGenericKernelMembers
Base class for PorousFlow kernels that use mass-lumped (nodal) material properties.
const GenericMaterialProperty< std::vector< Real >, is_ad > & _fluid_density
Nodal fluid density (AD or non-AD)
Kernel = _decay_rate * masscomponent where mass_component = porosity*sum_phases(density_phase*saturat...