13 #include "libmesh/dense_vector.h" Moose::GenericType< Real, is_ad > GenericReal
virtual void computeResidual() override
Compute this Kernel's contribution to the residual.
usingGenericKernelMembers
const MooseArray< GenericRealVectorValue< is_ad > > * _velocity
advection velocity
UpwindingType
Type of upwinding.
enum ConservativeAdvectionTempl::UpwindingType _upwinding
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
advected quantity
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)
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()
const InputParameters & parameters() const
Get the parameters of the object.
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.