21 params.
addRequiredParam<processor_id_type>(
"pid",
"The PID to see the ghosting for");
23 MooseEnum functor_type(
"geometric algebraic",
"geometric");
24 params.
addParam<
MooseEnum>(
"functor_type", functor_type,
"The type of ghosting functor to use");
26 params.
addParam<
bool>(
"include_local_elements",
28 "Whether or not to include local elements as part of the ghosting set");
31 "ghost_uo",
"The GhostUserObject from which to obtain ghosting information from.");
41 _pid(getParam<processor_id_type>(
"pid")),
42 _rm_type(getParam<
MooseEnum>(
"functor_type") ==
"geometric"
43 ?
Moose::RelationshipManagerType::GEOMETRIC
44 :
Moose::RelationshipManagerType::ALGEBRAIC),
45 _include_local(getParam<bool>(
"include_local_elements")),
50 mooseError(
"GhostingFromUOAux only works on elemental fields.");
registerMooseObject("MooseApp", GhostingFromUOAux)
registerMooseObjectRenamed("MooseApp", GhostingAux, "04/01/2025 00:00", GhostingFromUOAux)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
const ExecFlagType EXEC_TIMESTEP_END
const ExecFlagType EXEC_INITIAL
bool isNodal() const
Nodal or elemental kernel?
const Elem *const & _current_elem
Current element (valid only for elemental kernels)
static InputParameters validParams()
A MultiMooseEnum object to hold "execute_on" flags.
Outputs to an auxiliary variable the ghosting of a GhostingUserObject.
Moose::RelationshipManagerType _rm_type
The type of ghosting functor to get.
static InputParameters validParams()
GhostingFromUOAux(const InputParameters ¶meters)
const GhostingUserObject & _ghost_uo
The reference to the ghosting user object.
virtual void precalculateValue() override
This callback is used for AuxKernelTempls that need to perform a per-element calculation.
bool _include_local
Whether or not to include local elements in the display field.
processor_id_type _pid
The PID to show the ghosting for.
virtual Real computeValue() override
Compute and return the value of the aux variable.
Real _value
precalculated element value
This object loops over all of the underlying ghosting functors added by libMesh or MOOSE through Rela...
Real getElementalValue(const Elem *elem, Moose::RelationshipManagerType rm_type, processor_id_type pid) const
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...