19 "diffusion_coefficient",
20 "The name of the diffusivity, can be scalar, vector, or matrix material property.");
22 "The array Laplacian operator ($-\\nabla \\cdot \\nabla u$), with the weak " 23 "form of $(\\nabla \\phi_i, \\nabla u_h)$.");
29 _d(hasMaterialProperty<
Real>(
"diffusion_coefficient")
30 ? &getMaterialProperty<
Real>(
"diffusion_coefficient")
35 _d_2d_array(hasMaterialProperty<
RealEigenMatrix>(
"diffusion_coefficient")
41 MaterialPropertyName mat = getParam<MaterialPropertyName>(
"diffusion_coefficient");
42 mooseError(
"Property " + mat +
" is of unsupported type for ArrayDiffusion");
52 "diffusion_coefficient size is inconsistent with the number of components of array " 58 "diffusion_coefficient size is inconsistent with the number of components of array " 61 "diffusion_coefficient size is inconsistent with the number of components of array " 88 return RealEigenVector::Constant(
_var.
count(),
unsigned int number() const
Get variable number coming from libMesh.
const MappedArrayVariablePhiGradient & _array_grad_test
unsigned int count() const
Get the number of components Note: For standard and vector variables, the number is one...
This class provides an interface for common operations on field variables of both FE and FV types wit...
static InputParameters validParams()
const MaterialProperty< RealEigenMatrix > *const _d_2d_array
matrix diffusion coefficient
static InputParameters validParams()
const ArrayVariablePhiGradient & _grad_phi
gradient of the shape function
const MaterialProperty< Real > *const _d
scalar diffusion coefficient
const MaterialProperty< RealEigenVector > *const _d_array
array diffusion coefficient
const ArrayVariableTestGradient & _grad_test
gradient of the test function
unsigned int _i
current index for the test function
const ArrayVariableGradient & _grad_u
Holds the solution gradient at current quadrature points.
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > RealEigenMatrix
ArrayDiffusion(const InputParameters ¶meters)
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase &jvar)
This is the virtual that derived classes should override for computing a full Jacobian component...
unsigned int _j
current index for the shape function
registerMooseObject("MooseApp", ArrayDiffusion)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void computeQpResidual(RealEigenVector &residual) override
Compute this Kernel's contribution to the residual at the current quadrature point, to be filled in residual.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealEigenVector
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase &jvar) override
This is the virtual that derived classes should override for computing a full Jacobian component...
virtual RealEigenVector computeQpJacobian() override
Compute this Kernel's contribution to the diagonal Jacobian at the current quadrature point...
virtual void initQpResidual() override
Put necessary evaluations depending on qp but independent on test functions here. ...
ArrayMooseVariable & _var
This is an array kernel so we cast to a ArrayMooseVariable.
unsigned int _qp
The current quadrature point index.