21 "displacements and their analytic solutions");
24 "analytic_functions",
"The known analytic functions for displacements");
26 "displacements",
"Nonlinear variable name for the displacements");
35 const std::vector<NonlinearVariableName> & nl_vnames(
36 getParam<std::vector<NonlinearVariableName>>(
"displacements"));
38 const std::vector<FunctionName> & func_names(
39 getParam<std::vector<FunctionName>>(
"analytic_functions"));
43 mooseError(
"Number of displacements components should not greater than problem dimension!");
46 mooseError(
"Number of analytic_functions components should be the same as the number of " 47 "displacements components!");
49 for (
unsigned int i = 0; i <
_n_disps; ++i)
66 for (
unsigned int i = 0; i <
_n_disps; ++i)
std::vector< const Function * > _funcs
Known analytic displacement functions.
Postprocessor class to compute a volume integral of the specified variable Note that specializations ...
static InputParameters validParams()
const Node *const & _current_node
virtual Real computeNodalValue() override
Function to evaluate the given function at each material point.
static InputParameters validParams()
NodalDisplacementDifferenceL2NormPD(const InputParameters ¶meters)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
const T & getParam(const std::string &name) const
virtual MooseVariable & getStandardVariable(const THREAD_ID tid, const std::string &var_name)=0
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Function & getFunctionByName(const FunctionName &name) const
const unsigned int _dim
Mesh dimension.
unsigned int _n_disps
Displacement variables.
void mooseError(Args &&... args) const
virtual Real getValue() const override
registerMooseObject("PeridynamicsApp", NodalDisplacementDifferenceL2NormPD)
virtual Real getValue() const override
Postprocessor class to compute L2 norm of displacements difference between prediction and analytical ...
std::vector< MooseVariable * > _disp_var