www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NodalFunctionsL2NormPD Class Reference

Postprocessor class to compute L2 norm of a given function for peridynamic discretization. More...

#include <NodalFunctionsL2NormPD.h>

Inheritance diagram for NodalFunctionsL2NormPD:
[legend]

Public Member Functions

 NodalFunctionsL2NormPD (const InputParameters &parameters)
 
virtual Real getValue () override
 
virtual void initialize () override
 
virtual void execute () override
 
virtual void threadJoin (const UserObject &uo) override
 

Protected Member Functions

virtual Real computeNodalValue () override
 Function to evaluate the given function at each material point. More...
 

Protected Attributes

unsigned int _n_funcs
 Known functions. More...
 
std::vector< const Function * > _funcs
 
Real _integral_value
 nodal area integral result More...
 
PeridynamicsMesh_pdmesh
 Reference to peridynamic mesh object. More...
 
const unsigned int _dim
 Mesh dimension. More...
 

Detailed Description

Postprocessor class to compute L2 norm of a given function for peridynamic discretization.

Definition at line 23 of file NodalFunctionsL2NormPD.h.

Constructor & Destructor Documentation

◆ NodalFunctionsL2NormPD()

NodalFunctionsL2NormPD::NodalFunctionsL2NormPD ( const InputParameters &  parameters)

Definition at line 27 of file NodalFunctionsL2NormPD.C.

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 }

Member Function Documentation

◆ computeNodalValue()

Real NodalFunctionsL2NormPD::computeNodalValue ( )
overrideprotectedvirtual

Function to evaluate the given function at each material point.

Returns
The computed nodal value

Implements NodalIntegralPostprocessorBasePD.

Definition at line 45 of file NodalFunctionsL2NormPD.C.

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 }

◆ execute()

void NodalIntegralPostprocessorBasePD::execute ( )
overridevirtualinherited

Definition at line 35 of file NodalIntegralPostprocessorBasePD.C.

36 {
37  _integral_value += computeNodalValue() * _pdmesh.getPDNodeVolume(_current_node->id());
38 }

◆ getValue()

Real NodalFunctionsL2NormPD::getValue ( )
overridevirtual

Reimplemented from NodalIntegralPostprocessorBasePD.

Definition at line 39 of file NodalFunctionsL2NormPD.C.

40 {
42 }

◆ initialize()

void NodalIntegralPostprocessorBasePD::initialize ( )
overridevirtualinherited

Definition at line 29 of file NodalIntegralPostprocessorBasePD.C.

30 {
31  _integral_value = 0;
32 }

◆ threadJoin()

void NodalIntegralPostprocessorBasePD::threadJoin ( const UserObject &  uo)
overridevirtualinherited

Definition at line 49 of file NodalIntegralPostprocessorBasePD.C.

50 {
52  static_cast<const NodalIntegralPostprocessorBasePD &>(uo);
54 }

Member Data Documentation

◆ _dim

const unsigned int NodalPostprocessorBasePD::_dim
protectedinherited

◆ _funcs

std::vector<const Function *> NodalFunctionsL2NormPD::_funcs
protected

Definition at line 35 of file NodalFunctionsL2NormPD.h.

Referenced by computeNodalValue(), and NodalFunctionsL2NormPD().

◆ _integral_value

Real NodalIntegralPostprocessorBasePD::_integral_value
protectedinherited

◆ _n_funcs

unsigned int NodalFunctionsL2NormPD::_n_funcs
protected

Known functions.

Definition at line 34 of file NodalFunctionsL2NormPD.h.

Referenced by computeNodalValue(), and NodalFunctionsL2NormPD().

◆ _pdmesh

PeridynamicsMesh& NodalPostprocessorBasePD::_pdmesh
protectedinherited

Reference to peridynamic mesh object.

Definition at line 31 of file NodalPostprocessorBasePD.h.

Referenced by NodalIntegralPostprocessorBasePD::execute().


The documentation for this class was generated from the following files:
PeridynamicsMesh::getPDNodeVolume
Real getPDNodeVolume(dof_id_type node_id)
Function to return nodal volume for node node_id.
Definition: PeridynamicsMesh.C:435
NodalFunctionsL2NormPD::_n_funcs
unsigned int _n_funcs
Known functions.
Definition: NodalFunctionsL2NormPD.h:34
NodalIntegralPostprocessorBasePD::NodalIntegralPostprocessorBasePD
NodalIntegralPostprocessorBasePD(const InputParameters &parameters)
Definition: NodalIntegralPostprocessorBasePD.C:22
NodalFunctionsL2NormPD::_funcs
std::vector< const Function * > _funcs
Definition: NodalFunctionsL2NormPD.h:35
NodalIntegralPostprocessorBasePD::_integral_value
Real _integral_value
nodal area integral result
Definition: NodalIntegralPostprocessorBasePD.h:42
NodalIntegralPostprocessorBasePD::getValue
virtual Real getValue() override
Definition: NodalIntegralPostprocessorBasePD.C:41
NodalPostprocessorBasePD::_pdmesh
PeridynamicsMesh & _pdmesh
Reference to peridynamic mesh object.
Definition: NodalPostprocessorBasePD.h:31
NodalIntegralPostprocessorBasePD
Postprocessor class to compute a volume integral of the specified variable Note that specializations ...
Definition: NodalIntegralPostprocessorBasePD.h:24
NodalIntegralPostprocessorBasePD::computeNodalValue
virtual Real computeNodalValue()=0
Function to evaluate the given function at each material point.