79#define usingPorousFlowPorosityExponentialBaseMembers \
80 usingPorousFlowPorosityBaseMembers; \
81 using Coupleable::coupledComponents; \
82 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_dictator; \
83 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_nodal_material; \
84 using PorousFlowPorosityExponentialBaseTempl<is_ad>::nodalOrQpValue; \
85 using PorousFlowPorosityExponentialBaseTempl<is_ad>::nearestQP; \
86 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_current_elem; \
87 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_current_side; \
88 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_bnd; \
89 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_qrule; \
90 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_q_point; \
91 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_constant_option; \
92 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_t_step; \
93 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_dt; \
94 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_app; \
95 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_strain_at_nearest_qp; \
96 using PorousFlowPorosityExponentialBaseTempl<is_ad>::_ensure_positive
Moose::GenericType< Real, is_ad > GenericReal
PorousFlowPorosityExponentialBaseTempl< false > PorousFlowPorosityExponentialBase
PorousFlowPorosityExponentialBaseTempl< true > ADPorousFlowPorosityExponentialBase
Base class Material designed to provide the porosity.
Base class Material designed to provide the porosity.
virtual GenericReal< is_ad > atNegInfinityQp() const =0
Returns "a" at the quadpoint (porosity = a + (b - a) * exp(decay))
virtual void initQpStatefulProperties() override
virtual GenericReal< is_ad > decayQp() const =0
Returns "decay" at the quadpoint (porosity = a + (b - a) * exp(decay))
virtual GenericReal< is_ad > atZeroQp() const =0
Returns "b" at the quadpoint (porosity = a + (b - a) * exp(decay))
virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const =0
d(decay)/d(grad(PorousFlow variable pvar))
usingPorousFlowPorosityBaseMembers
virtual Real datZeroQp(unsigned pvar) const =0
d(b)/d(PorousFlow variable pvar)
virtual Real datNegInfinityQp(unsigned pvar) const =0
d(a)/d(PorousFlow variable pvar)
virtual Real ddecayQp_dvar(unsigned pvar) const =0
d(decay)/d(PorousFlow variable pvar)
const bool _strain_at_nearest_qp
When calculating nodal porosity, use the strain at the nearest quadpoint to the node.
const bool _ensure_positive
for decayQp() > 0, porosity can be negative when using porosity = a + (b - a) * exp(decay).
static InputParameters validParams()
virtual void computeQpProperties() override