21 "integral",
"Postprocessor providing the integral of the function, for normalization");
23 "Desired magnitude of the initial condition upon integration");
30 _pp_name(getParam<PostprocessorName>(
"integral")),
31 _integral(getPostprocessorValue(
"integral")),
32 _magnitude(getParam<Real>(
"magnitude"))
42 "' postprocessor must include 'initial'!");
registerMooseObject("MooseApp", IntegralPreservingFunctionIC)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
const ExecFlagType EXEC_INITIAL
T & getUserObject(const std::string &name, unsigned int tid=0) const
Get the user object by its name.
Defines an initial condition that forces the value to be a user specified function.
const Function & _func
Function to evaluate to form the initial condition.
static InputParameters validParams()
virtual Real value(Real t, const Point &p) const
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero,...
FEProblemBase & _fe_problem
Initial conditions specifying an initial condition as a general function while preserving a total int...
IntegralPreservingFunctionIC(const InputParameters ¶meters)
const PostprocessorName & _pp_name
Name of postprocessor providing the integral of the function.
virtual Real value(const Point &p) override
The value of the variable at a point.
static InputParameters validParams()
const PostprocessorValue & _integral
Integral of the function.
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job.
bool isValueSet(const std::string &value) const
Methods for seeing if a value is set in the MultiMooseEnum.
const ExecFlagEnum & getExecuteOnEnum() const
Return the execute on MultiMooseEnum for this object.
Base class for user-specific data.
static constexpr Real TOLERANCE