23 "' is not a nodal (Lagrange) variable. This kernel uses mass lumping, which " 24 "requires a nodal variable. For non-nodal variables use the non-lumped " 25 "PorousFlowFullySaturated* kernels instead.");
33 _my_elem_lma =
nullptr;
68 if (_my_elem_lma != this->_current_elem)
70 this->computeResidualsForJacobian();
71 this->addJacobianWithoutConstraints(
72 this->_assembly, this->_residuals, this->dofIndices(), this->_var.scalingFactor());
73 _my_elem_lma = this->_current_elem;
91 if (_my_elem_lma != this->_current_elem)
93 this->computeResidualsForJacobian();
94 this->addJacobianWithoutConstraints(
95 this->_assembly, this->_residuals, this->dofIndices(), this->_var.scalingFactor());
96 _my_elem_lma = this->_current_elem;
virtual void jacobianSetup() override
virtual void computeJacobian() override
void libmesh_ignore(const Args &...)
const std::string & name() const
bool isNodal() const override
virtual void computeJacobian() override
void mooseError(Args &&... args) const
virtual void computeOffDiagJacobian(unsigned int jvar) override
PorousFlowLumpedKernelBaseTempl(const InputParameters ¶meters)
Base class for PorousFlow kernels that use mass-lumped (nodal) material properties.
virtual void computeOffDiagJacobian(unsigned int jvar) override
virtual void jacobianSetup()