www.mooseframework.org
NodalFunctionsL2NormPD.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "NodalFunctionsL2NormPD.h"
11 #include "Function.h"
12 
14 
15 template <>
16 InputParameters
18 {
19  InputParameters params = validParams<NodalIntegralPostprocessorBasePD>();
20  params.addClassDescription("Class for computing the L2 norm of functions");
21 
22  params.addRequiredParam<std::vector<FunctionName>>("functions", "The known functions");
23 
24  return params;
25 }
26 
27 NodalFunctionsL2NormPD::NodalFunctionsL2NormPD(const InputParameters & parameters)
29 {
30  const std::vector<FunctionName> & func_names(getParam<std::vector<FunctionName>>("functions"));
31 
32  _n_funcs = func_names.size();
33 
34  for (unsigned int i = 0; i < _n_funcs; ++i)
35  _funcs.push_back(&getFunctionByName(func_names[i]));
36 }
37 
38 Real
40 {
42 }
43 
44 Real
46 {
47  Real func_val = 0;
48 
49  for (unsigned int i = 0; i < _n_funcs; ++i)
50  func_val += _funcs[i]->value(_t, *_current_node) * _funcs[i]->value(_t, *_current_node);
51 
52  return func_val;
53 }
NodalFunctionsL2NormPD.h
validParams< NodalFunctionsL2NormPD >
InputParameters validParams< NodalFunctionsL2NormPD >()
Definition: NodalFunctionsL2NormPD.C:17
NodalFunctionsL2NormPD::_n_funcs
unsigned int _n_funcs
Known functions.
Definition: NodalFunctionsL2NormPD.h:34
NodalFunctionsL2NormPD::getValue
virtual Real getValue() override
Definition: NodalFunctionsL2NormPD.C:39
NodalFunctionsL2NormPD
Postprocessor class to compute L2 norm of a given function for peridynamic discretization.
Definition: NodalFunctionsL2NormPD.h:23
registerMooseObject
registerMooseObject("PeridynamicsApp", NodalFunctionsL2NormPD)
NodalFunctionsL2NormPD::_funcs
std::vector< const Function * > _funcs
Definition: NodalFunctionsL2NormPD.h:35
NodalIntegralPostprocessorBasePD::getValue
virtual Real getValue() override
Definition: NodalIntegralPostprocessorBasePD.C:41
validParams< NodalIntegralPostprocessorBasePD >
InputParameters validParams< NodalIntegralPostprocessorBasePD >()
Definition: NodalIntegralPostprocessorBasePD.C:14
NodalFunctionsL2NormPD::computeNodalValue
virtual Real computeNodalValue() override
Function to evaluate the given function at each material point.
Definition: NodalFunctionsL2NormPD.C:45
NodalFunctionsL2NormPD::NodalFunctionsL2NormPD
NodalFunctionsL2NormPD(const InputParameters &parameters)
Definition: NodalFunctionsL2NormPD.C:27
NodalIntegralPostprocessorBasePD
Postprocessor class to compute a volume integral of the specified variable Note that specializations ...
Definition: NodalIntegralPostprocessorBasePD.h:24