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")
32 _d_array(hasMaterialProperty<RealEigenVector>(
"diffusion_coefficient")
33 ? &getMaterialProperty<RealEigenVector>(
"diffusion_coefficient")
35 _d_2d_array(hasMaterialProperty<RealEigenMatrix>(
"diffusion_coefficient")
36 ? &getMaterialProperty<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(),
registerMooseObject("MooseApp", ArrayDiffusion)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
const MaterialProperty< RealEigenVector > *const _d_array
array diffusion coefficient
ArrayDiffusion(const InputParameters ¶meters)
const MaterialProperty< Real > *const _d
scalar diffusion coefficient
const MaterialProperty< RealEigenMatrix > *const _d_2d_array
matrix diffusion coefficient
virtual RealEigenVector computeQpJacobian() override
Compute this Kernel's contribution to the diagonal Jacobian at the current quadrature point.
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase &jvar) override
This is the virtual that derived classes should override for computing a full Jacobian component.
virtual void computeQpResidual(RealEigenVector &residual) override
Compute this Kernel's contribution to the residual at the current quadrature point,...
static InputParameters validParams()
virtual void initQpResidual() override
Put necessary evaluations depending on qp but independent on test functions here.
static InputParameters validParams()
const ArrayVariableTestGradient & _grad_test
gradient of the test function
const MappedArrayVariablePhiGradient & _array_grad_test
ArrayMooseVariable & _var
This is an array kernel so we cast to a ArrayMooseVariable.
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase &jvar)
This is the virtual that derived classes should override for computing a full Jacobian component.
const ArrayVariablePhiGradient & _grad_phi
gradient of the shape function
const ArrayVariableGradient & _grad_u
Holds the solution gradient at current quadrature points.
unsigned int _qp
The current quadrature point index.
unsigned int _j
current index for the shape function
unsigned int _i
current index for the test function
unsigned int number() const
Get variable number coming from libMesh.
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...