13 #include "libmesh/dense_vector.h" Moose::GenericType< Real, is_ad > GenericReal
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
For coupling standard variables.
virtual void computeResidual() override
Compute this Kernel's contribution to the residual.
const unsigned int _coupled_variable_var
Coupled variable variable number.
usingGenericKernelMembers
virtual const GenericReal< is_ad > & getUNodal(const std::size_t n) const
const bool _user_supplied_adv_quant
Flag to determine if user supplied variable is used as advective quantity.
const InputParameters & parameters() const
Get the parameters of the object.
const MooseArray< GenericRealVectorValue< is_ad > > * _velocity
advection velocity
UpwindingType
Type of upwinding.
const bool _coupled_variable_present
Flag to determine if coupled variable is present.
enum ConservativeAdvectionTempl::UpwindingType _upwinding
virtual GenericReal< is_ad > negSpeedQp() const
Returns - _grad_test * velocity.
std::vector< GenericReal< is_ad > > _dtotal_mass_out
In the full-upwind scheme d(total_mass_out)/d(variable_at_node_i)
const MooseArray< GenericReal< is_ad > > & _adv_quant
Quantity, as a variable value, that is advected. Defaults to the equation variable if unspecified...
ConservativeAdvectionTempl< true > ADConservativeAdvection
Moose::GenericType< VariableValue, is_ad > GenericVariableValue
static InputParameters generalParams()
virtual GenericReal< is_ad > computeQpResidual() override
Compute this Kernel's contribution to the residual at the current quadrature point.
std::vector< bool > _upwind_node
In the full-upwind scheme, whether a node is an upwind node.
ConservativeAdvectionTempl(const InputParameters ¶meters)
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Advection of the variable by the velocity provided by the user.
void fullUpwind(JacRes res_or_jac)
Calculates the fully-upwind Residual and Jacobian (depending on res_or_jac)
virtual Real computeQpJacobian() override
Compute this Kernel's contribution to the Jacobian at the current quadrature point.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
JacRes
enum to make the code clearer
ConservativeAdvectionTempl< false > ConservativeAdvection
static InputParameters validParams()
libMesh::DenseVector< GenericReal< is_ad > > _my_local_re
A container for holding the local residuals.
const GenericVariableValue< is_ad > & _u_nodal
Nodal value of u, used for full upwinding.
virtual void computeJacobian() override
Compute this Kernel's contribution to the diagonal Jacobian entries.
const GenericMaterialProperty< Real, is_ad > & _scalar
Material property multiplied against the velocity to scale advection strength.