14#include "libmesh/equation_systems.h"
15#include "libmesh/system.h"
26 "The system for which you want to retrieve the number of DOFs. Use ALL for all systems, "
27 "NL as an alias for nl0, AUX as an alias for aux0, or the name of a specific system.");
30 "Return the number of Degrees of freedom from one or more equation systems.");
37 _system_pointer(nullptr),
40 const auto system_param = getParam<std::string>(
"system");
43 if (system_upper ==
"ALL")
50 std::string system_name = system_param;
51 if (system_upper ==
"NL")
53 else if (system_upper ==
"AUX")
57 paramError(
"system",
"No system found with name '", system_name,
"'.");
registerMooseObject("MooseApp", NumDOFs)
This class is here to combine the Postprocessor interface and the base class Postprocessor object alo...
static InputParameters validParams()
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 ...
const EquationSystems * _es_pointer
static InputParameters validParams()
NumDOFs(const InputParameters ¶meters)
virtual Real getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
const libMesh::System * _system_pointer
virtual libMesh::EquationSystems & es()=0
SubProblem & _subproblem
Reference to the Subproblem for this user object.
bool has_system(std::string_view name) const
const T_sys & get_system(std::string_view name) const
dof_id_type n_dofs() const
std::string toUpper(std::string name)
Convert supplied string to upper case.