14 PorousFlowElementNormal,
25 params.
addParam<RealVectorValue>(
"3D_default",
26 RealVectorValue(0, 0, 1),
27 "The value that will be produced for 3D elements, since such "
28 "elements do not have a 'normal direction'");
31 RealVectorValue(0, 0, 1),
32 "The normal for all 1D elements will be perpendicular to this vector");
35 "AuxKernel to compute components of the element normal. This is mostly designed for 2D "
36 "elements living in 3D space, however, the 1D-element and 3D-element cases are handled as "
37 "special cases. The Variable for this AuxKernel must be an elemental Variable");
44 _component(getParam<
MooseEnum>(
"component")),
45 _1D_perp(getParam<RealVectorValue>(
"1D_perp")),
46 _3D_default(getParam<RealVectorValue>(
"3D_default"))
49 paramError(
"variable",
"The variable must be an elemental variable");
51 paramError(
"1D_perp",
"Must not be the zero vector");
53 paramError(
"3D_default",
"Must not be the zero vector");
65 for (
unsigned i = 0; i < num_nodes - 1; ++i)
74 for (
unsigned i = 0; i < num_nodes - 2; ++i)
registerMooseObjectRenamed("MooseApp", PorousFlowElementNormal, "06/30/2027 24:00", ElementNormalAux)
registerMooseObject("MooseApp", ElementNormalAux)
bool isNodal() const
Nodal or elemental kernel?
const Elem *const & _current_elem
Current element (valid only for elemental kernels)
static InputParameters validParams()
Computes a component of the normal of elements.
ElementNormalAux(const InputParameters ¶meters)
const RealVectorValue _3D_default
Value used for 3D elements.
static InputParameters validParams()
virtual Real computeValue() override
Compute and return the value of the aux variable.
const RealVectorValue _1D_perp
For 1D elements, the value computed will be perpendicular to this vector.
const unsigned _component
Desired component.
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
TypeVector< typename CompareTypes< T, T2 >::supertype > cross(const TypeVector< T2 > &v) const