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

UserObject class to compute the number of intact bonds for each material point in PD fracture modeling and simulation. More...

#include <NodalNumIntactBondsPD.h>

Inheritance diagram for NodalNumIntactBondsPD:
[legend]

Public Member Functions

 NodalNumIntactBondsPD (const InputParameters &parameters)
 
virtual void computeValue (unsigned int id, dof_id_type dof) override
 Function to assemble elemental quantities to nodal AuxVariable at a material point. More...
 
virtual void initialize () override
 
virtual void execute () override
 
virtual void threadJoin (const UserObject &) override
 
virtual void finalize () override
 

Protected Attributes

MooseVariable * _var
 Pointer to the aux variable this userobject operates on. More...
 
MooseVariable * _bond_status_var
 Bond status aux variable. More...
 
AuxiliarySystem & _aux
 Reference to auxiliary system. More...
 
NumericVector< Number > & _aux_sln
 Solution vector for aux variables. More...
 
PeridynamicsMesh_pdmesh
 Reference to Peridynamic mesh. More...
 

Detailed Description

UserObject class to compute the number of intact bonds for each material point in PD fracture modeling and simulation.

Definition at line 23 of file NodalNumIntactBondsPD.h.

Constructor & Destructor Documentation

◆ NodalNumIntactBondsPD()

NodalNumIntactBondsPD::NodalNumIntactBondsPD ( const InputParameters &  parameters)

Definition at line 28 of file NodalNumIntactBondsPD.C.

30 {
31 }

Member Function Documentation

◆ computeValue()

void NodalNumIntactBondsPD::computeValue ( unsigned int  id,
dof_id_type  dof 
)
overridevirtual

Function to assemble elemental quantities to nodal AuxVariable at a material point.

Parameters
idThe local index of element node (either 1 or 2 for Edge2 element)
dofThe global DOF of element node
Returns
The computed value for the node

Implements NodalAuxVariableUserObjectBasePD.

Definition at line 34 of file NodalNumIntactBondsPD.C.

35 {
36  if (_bond_status_var->getElementalValue(_current_elem) > 0.5)
37  _aux_sln.add(dof, 1.0);
38 }

◆ execute()

void NodalAuxVariableUserObjectBasePD::execute ( )
overridevirtualinherited

Definition at line 43 of file NodalAuxVariableUserObjectBasePD.C.

44 {
45  for (unsigned int i = 0; i < 2; ++i)
46  {
47  dof_id_type dof = _current_elem->node_ptr(i)->dof_number(_aux.number(), _var->number(), 0);
48 
49  computeValue(i, dof);
50  }
51 }

◆ finalize()

void NodalAuxVariableUserObjectBasePD::finalize ( )
overridevirtualinherited

Definition at line 54 of file NodalAuxVariableUserObjectBasePD.C.

55 {
56  _aux_sln.close();
57 }

◆ initialize()

void NodalAuxVariableUserObjectBasePD::initialize ( )
overridevirtualinherited

Definition at line 35 of file NodalAuxVariableUserObjectBasePD.C.

36 {
37  std::vector<std::string> zero_vars;
38  zero_vars.push_back(_var->name());
39  _aux.zeroVariables(zero_vars);
40 }

◆ threadJoin()

virtual void NodalAuxVariableUserObjectBasePD::threadJoin ( const UserObject &  )
inlineoverridevirtualinherited

Definition at line 30 of file NodalAuxVariableUserObjectBasePD.h.

30 {};

Member Data Documentation

◆ _aux

AuxiliarySystem& ElementUserObjectBasePD::_aux
protectedinherited

Reference to auxiliary system.

Definition at line 33 of file ElementUserObjectBasePD.h.

Referenced by NodalAuxVariableUserObjectBasePD::execute(), and NodalAuxVariableUserObjectBasePD::initialize().

◆ _aux_sln

NumericVector<Number>& ElementUserObjectBasePD::_aux_sln
protectedinherited

◆ _bond_status_var

MooseVariable* ElementUserObjectBasePD::_bond_status_var
protectedinherited

Bond status aux variable.

Definition at line 30 of file ElementUserObjectBasePD.h.

Referenced by NodalRankTwoUserObjectBasePD::computeValue(), NodalDamageIndexPD::computeValue(), and computeValue().

◆ _pdmesh

PeridynamicsMesh& ElementUserObjectBasePD::_pdmesh
protectedinherited

◆ _var

MooseVariable* NodalAuxVariableUserObjectBasePD::_var
protectedinherited

Pointer to the aux variable this userobject operates on.

Definition at line 43 of file NodalAuxVariableUserObjectBasePD.h.

Referenced by NodalAuxVariableUserObjectBasePD::execute(), and NodalAuxVariableUserObjectBasePD::initialize().


The documentation for this class was generated from the following files:
ElementUserObjectBasePD::_aux
AuxiliarySystem & _aux
Reference to auxiliary system.
Definition: ElementUserObjectBasePD.h:33
NodalAuxVariableUserObjectBasePD::NodalAuxVariableUserObjectBasePD
NodalAuxVariableUserObjectBasePD(const InputParameters &parameters)
Definition: NodalAuxVariableUserObjectBasePD.C:28
NodalAuxVariableUserObjectBasePD::computeValue
virtual void computeValue(unsigned int id, dof_id_type dof)=0
Function to assemble elemental quantities to nodal AuxVariable at a material point.
NodalAuxVariableUserObjectBasePD::_var
MooseVariable * _var
Pointer to the aux variable this userobject operates on.
Definition: NodalAuxVariableUserObjectBasePD.h:43
ElementUserObjectBasePD::_bond_status_var
MooseVariable * _bond_status_var
Bond status aux variable.
Definition: ElementUserObjectBasePD.h:30
ElementUserObjectBasePD::_aux_sln
NumericVector< Number > & _aux_sln
Solution vector for aux variables.
Definition: ElementUserObjectBasePD.h:36