https://mooseframework.inl.gov
NodalVolumePD.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 "NodalVolumePD.h"
11 #include "PeridynamicsMesh.h"
12 
13 registerMooseObject("PeridynamicsApp", NodalVolumePD);
14 
17 {
19  params.addClassDescription("Class for output nodal area(2D) or nodal volume(3D)");
20 
21  params.set<ExecFlagEnum>("execute_on") = EXEC_INITIAL;
22 
23  return params;
24 }
25 
27 {
28  if (!_var.isNodal())
29  mooseError("NodalVolumePD operates on nodal variable!");
30 }
31 
32 Real
34 {
35  return _pdmesh.getNodeVolume(_current_node->id());
36 }
virtual bool isNodal() const
const Node *const & _current_node
T & set(const std::string &name, bool quiet_mode=false)
Peridynamic Aux Kernel base class.
NodalVolumePD(const InputParameters &parameters)
Definition: NodalVolumePD.C:26
registerMooseObject("PeridynamicsApp", NodalVolumePD)
Aux Kernel class to output the area/volume of material points.
Definition: NodalVolumePD.h:19
static InputParameters validParams()
Definition: NodalVolumePD.C:16
PeridynamicsMesh & _pdmesh
Reference to peridynamic mesh object.
Real getNodeVolume(dof_id_type node_id)
Function to return nodal volume for node node_id.
Real computeValue() override
Definition: NodalVolumePD.C:33
MooseVariableField< Real > & _var
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
void mooseError(Args &&... args) const
void addClassDescription(const std::string &doc_string)
const ExecFlagType EXEC_INITIAL