15#include "libmesh/utility.h"
24 "diff",
"The diffusion (or thermal conductivity or viscosity) coefficient.");
25 params.
addParam<Real>(
"sigma", 4,
"sigma");
26 params.
addParam<Real>(
"epsilon", 1,
"epsilon");
27 params.
addClassDescription(
"Implements interior penalty method for array diffusion equations.");
33 _epsilon(getParam<Real>(
"epsilon")),
34 _sigma(getParam<Real>(
"sigma")),
35 _diff(getMaterialProperty<RealEigenVector>(
"diff")),
36 _diff_neighbor(getNeighborMaterialProperty<RealEigenVector>(
"diff")),
46 "'diff' size is inconsistent with the number of components of array "
91 RealEigenVector r = RealEigenVector::Zero(
_count);
109 r -= RealEigenVector::Constant(
_count,
117 r -= RealEigenVector::Constant(
_count,
126 r += RealEigenVector::Constant(
registerMooseObject("MooseApp", ArrayDGDiffusion)
Array version of DGDiffusion.
virtual void initQpResidual(Moose::DGResidualType type) override
Put necessary evaluations depending on qp but independent on test functions here.
const MaterialProperty< RealEigenVector > & _diff_neighbor
virtual void computeQpResidual(Moose::DGResidualType type, RealEigenVector &residual) override
This is the virtual that derived classes should override for computing the residual on neighboring el...
static InputParameters validParams()
const MaterialProperty< RealEigenVector > & _diff
virtual RealEigenVector computeQpJacobian(Moose::DGJacobianType type) override
This is the virtual that derived classes should override for computing the Jacobian on neighboring el...
ArrayDGDiffusion(const InputParameters ¶meters)
The DGKernel class is responsible for calculating the residuals for various physics on internal sides...
const ArrayVariableTestGradient & _grad_test_neighbor
Gradient of side shape function.
const std::vector< Eigen::Map< RealDIMValue > > & _array_normals
Normals in type of Eigen map.
const ArrayVariablePhiValue & _phi_neighbor
Side shape function.
const ArrayVariableValue & _u
Holds the current solution at the current quadrature point on the face.
const ArrayVariableGradient & _grad_u
Holds the current solution gradient at the current quadrature point on the face.
ArrayMooseVariable & _var
Variable this kernel operates on.
const ArrayVariableTestValue & _test
test functions
const ArrayVariableTestValue & _test_neighbor
Side test function.
const ArrayVariablePhiValue & _phi
Shape functions.
const ArrayVariablePhiGradient & _grad_phi_neighbor
Gradient of side shape function.
const ArrayVariablePhiGradient & _grad_phi
Gradient of shape function.
const ArrayVariableGradient & _grad_u_neighbor
Holds the current solution gradient at the current quadrature point.
const unsigned int _count
Number of components of the array variable.
const ArrayVariableValue & _u_neighbor
Holds the current solution at the current quadrature point.
const ArrayVariableTestGradient & _grad_test
Gradient of side shape function.
static InputParameters validParams()
Factory constructor initializes all internal references needed for residual computation.
const Real & _current_elem_volume
The volume (or length) of the current element.
const Real & _current_side_volume
The volume (or length) of the current side.
const MooseArray< Point > & _normals
Normal vectors at the quadrature points.
const std::string & type() const
Get the type of this class.
libMesh::Order order() const
Get the order of this variable Note: Order enum can be implicitly converted to unsigned int.