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

Kernel class for bond-associated correspondence material model for small strain. More...

#include <SmallStrainMechanicsNOSPD.h>

Inheritance diagram for SmallStrainMechanicsNOSPD:
[legend]

Public Member Functions

 SmallStrainMechanicsNOSPD (const InputParameters &parameters)
 
virtual void computeOffDiagJacobian (MooseVariableFEBase &jvar) override
 
virtual void initialSetup () override
 
virtual void prepare () override
 

Protected Member Functions

virtual void computeLocalResidual () override
 
virtual void computeLocalJacobian () override
 
virtual void computeNonlocalJacobian () override
 
virtual void computeLocalOffDiagJacobian (unsigned int coupled_component) override
 Function to compute local contribution to the off-diagonal Jacobian at the current nodes. More...
 
virtual void computePDNonlocalOffDiagJacobian (unsigned int jvar_num, unsigned int coupled_component) override
 Function to compute nonlocal contribution to the off-diagonal Jacobian at the current nodes. More...
 
virtual RankTwoTensor computeDSDU (unsigned int component, unsigned int nd)
 Function to compute derivative of stress with respect to displacements. More...
 

Protected Attributes

const unsigned int _component
 The index of displacement component. More...
 
std::vector< MooseVariable * > _disp_var
 displacement variables More...
 
unsigned int _ndisp
 number of displacement components More...
 
const std::vector< RealGradient > * _orientation
 Vector of bond in current configuration. More...
 
std::vector< dof_id_type > _ivardofs_ij
 Current variable dof numbers for nodes i and j. More...
 
RealGradient _cur_ori_ij
 Vector of bond in current configuration. More...
 
Real _cur_len_ij
 Current bond length. More...
 
const MaterialProperty< Real > & _multi
 Material point based material properties. More...
 
const MaterialProperty< RankTwoTensor > & _stress
 
const MaterialProperty< RankTwoTensor > & _shape2
 
const MaterialProperty< RankTwoTensor > & _dgrad
 
const MaterialProperty< RankTwoTensor > & _ddgraddu
 
const MaterialProperty< RankTwoTensor > & _ddgraddv
 
const MaterialProperty< RankTwoTensor > & _ddgraddw
 
const MaterialProperty< RankFourTensor > & _Jacobian_mult
 
const std::vector< MaterialPropertyName > _eigenstrain_names
 
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT
 
const bool _temp_coupled
 Temperature variable. More...
 
MooseVariable * _temp_var
 
const bool _out_of_plane_strain_coupled
 Parameters for out-of-plane strain in weak plane stress formulation. More...
 
MooseVariable * _out_of_plane_strain_var
 

Detailed Description

Kernel class for bond-associated correspondence material model for small strain.

Definition at line 22 of file SmallStrainMechanicsNOSPD.h.

Constructor & Destructor Documentation

◆ SmallStrainMechanicsNOSPD()

SmallStrainMechanicsNOSPD::SmallStrainMechanicsNOSPD ( const InputParameters &  parameters)

Definition at line 33 of file SmallStrainMechanicsNOSPD.C.

34  : MechanicsBaseNOSPD(parameters), _component(getParam<unsigned int>("component"))
35 {
36 }

Member Function Documentation

◆ computeDSDU()

RankTwoTensor MechanicsBaseNOSPD::computeDSDU ( unsigned int  component,
unsigned int  nd 
)
protectedvirtualinherited

Function to compute derivative of stress with respect to displacements.

Parameters
componentThe index of displacement component
ndThe local index of element node (either 1 or 2 for Edge2 element)
Returns
The calculated derivative

Reimplemented in FiniteStrainMechanicsNOSPD.

Definition at line 49 of file MechanicsBaseNOSPD.C.

50 {
51  // compute the derivative of stress w.r.t the solution components for small strain
52  RankTwoTensor dSdU;
53  if (component == 0)
54  dSdU = _Jacobian_mult[nd] * 0.5 * (_ddgraddu[nd].transpose() + _ddgraddu[nd]);
55  else if (component == 1)
56  dSdU = _Jacobian_mult[nd] * 0.5 * (_ddgraddv[nd].transpose() + _ddgraddv[nd]);
57  else if (component == 2)
58  dSdU = _Jacobian_mult[nd] * 0.5 * (_ddgraddw[nd].transpose() + _ddgraddw[nd]);
59 
60  return dSdU;
61 }

Referenced by GeneralizedPlaneStrainOffDiagNOSPD::computeDispFullOffDiagJacobianScalar(), GeneralizedPlaneStrainOffDiagNOSPD::computeDispPartialOffDiagJacobianScalar(), ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalJacobian(), computeLocalJacobian(), WeakPlaneStressNOSPD::computeLocalOffDiagJacobian(), computeLocalOffDiagJacobian(), and ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian().

◆ computeLocalJacobian()

void SmallStrainMechanicsNOSPD::computeLocalJacobian ( )
overrideprotectedvirtual

Definition at line 57 of file SmallStrainMechanicsNOSPD.C.

58 {
59  // excludes dTi/dUj and dTj/dUi contributions, which were considered as nonlocal contribution
60  for (_i = 0; _i < _test.size(); ++_i)
61  for (_j = 0; _j < _phi.size(); ++_j)
62  _local_ke(_i, _j) += (_i == 0 ? -1 : 1) * _multi[_j] *
63  (computeDSDU(_component, _j) * _shape2[_j].inverse()).row(_component) *
64  _origin_vec_ij * _bond_status_ij;
65 }

◆ computeLocalOffDiagJacobian()

void SmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian ( unsigned int  )
overrideprotectedvirtual

Function to compute local contribution to the off-diagonal Jacobian at the current nodes.

Parameters
coupled_componentThe coupled variable number

Reimplemented from MechanicsBasePD.

Definition at line 136 of file SmallStrainMechanicsNOSPD.C.

137 {
138  _local_ke.zero();
139  if (coupled_component == 3) // temperature is coupled
140  {
141  std::vector<RankTwoTensor> dSdT(_nnodes);
142  for (unsigned int nd = 0; nd < _nnodes; ++nd)
143  for (unsigned int es = 0; es < _deigenstrain_dT.size(); ++es)
144  dSdT[nd] = -_Jacobian_mult[nd] * (*_deigenstrain_dT[es])[nd];
145 
146  for (_i = 0; _i < _test.size(); ++_i)
147  for (_j = 0; _j < _phi.size(); ++_j)
148  _local_ke(_i, _j) += (_i == 0 ? -1 : 1) * _multi[_j] *
149  (dSdT[_j] * _shape2[_j].inverse()).row(_component) * _origin_vec_ij *
150  _bond_status_ij;
151  }
152  else if (coupled_component == 4) // weak plane stress case, out_of_plane_strain is coupled
153  {
154  std::vector<RankTwoTensor> dSdE33(_nnodes);
155  for (unsigned int nd = 0; nd < _nnodes; ++nd)
156  for (unsigned int i = 0; i < 3; ++i)
157  for (unsigned int j = 0; j < 3; ++j)
158  dSdE33[nd](i, j) = _Jacobian_mult[nd](i, j, 2, 2);
159 
160  for (_i = 0; _i < _test.size(); ++_i)
161  for (_j = 0; _j < _phi.size(); ++_j)
162  _local_ke(_i, _j) += (_i == 0 ? -1 : 1) * _multi[_j] *
163  (dSdE33[_j] * _shape2[_j].inverse()).row(_component) * _origin_vec_ij *
164  _bond_status_ij;
165  }
166  else // off-diagonal Jacobian with respect to other displacement variables
167  {
168  // ONLY consider the contributions to node i and j
169  // contributions to their neighbors are considered as nonlocal off-diagonal
170  for (_i = 0; _i < _test.size(); ++_i)
171  for (_j = 0; _j < _phi.size(); ++_j)
172  _local_ke(_i, _j) +=
173  (_i == 0 ? -1 : 1) * _multi[_j] *
174  (computeDSDU(coupled_component, _j) * _shape2[_j].inverse()).row(_component) *
175  _origin_vec_ij * _bond_status_ij;
176  }
177 }

◆ computeLocalResidual()

void SmallStrainMechanicsNOSPD::computeLocalResidual ( )
overrideprotectedvirtual

Definition at line 39 of file SmallStrainMechanicsNOSPD.C.

40 {
41  // For small strain assumptions, stress measures, i.e., Cauchy stress (Sigma), the first
42  // Piola-Kirchhoff stress (P), and the second Piola-Kirchhoff stress (S) are approximately the
43  // same. Thus, the nodal force state tensors are calculated using the Cauchy stresses,
44  // i.e., T = Sigma * inv(Shape) * xi * multi.
45  // Cauchy stress is calculated as Sigma = C * E in the ComputeSmallStrainNOSPD material class.
46 
47  std::vector<Real> nodal_force_comp(_nnodes);
48  for (unsigned int nd = 0; nd < _nnodes; ++nd)
49  nodal_force_comp[nd] = _multi[nd] * (_stress[nd] * _shape2[nd].inverse()).row(_component) *
50  (nd == 0 ? 1 : -1) * _origin_vec_ij;
51 
52  _local_re(0) = -(nodal_force_comp[0] - nodal_force_comp[1]) * _bond_status_ij;
53  _local_re(1) = -_local_re(0);
54 }

◆ computeNonlocalJacobian()

void SmallStrainMechanicsNOSPD::computeNonlocalJacobian ( )
overrideprotectedvirtual

Definition at line 68 of file SmallStrainMechanicsNOSPD.C.

69 {
70  // includes dTi/dUj and dTj/dUi contributions
71  // excludes contributions to node i and j, which were considered as local contributions
72  for (unsigned int cur_nd = 0; cur_nd < _nnodes; ++cur_nd)
73  {
74  // calculation of jacobian contribution to current_node's neighbors
75  std::vector<dof_id_type> dof(_nnodes);
76  dof[0] = _current_elem->node_ptr(cur_nd)->dof_number(_sys.number(), _var.number(), 0);
77  std::vector<dof_id_type> neighbors = _pdmesh.getNeighbors(_current_elem->node_id(cur_nd));
78  std::vector<dof_id_type> bonds = _pdmesh.getBonds(_current_elem->node_id(cur_nd));
79  // get deformation gradient neighbors
80  unsigned int nb =
81  std::find(neighbors.begin(), neighbors.end(), _current_elem->node_id(1 - cur_nd)) -
82  neighbors.begin();
83  std::vector<dof_id_type> dg_neighbors =
84  _pdmesh.getDefGradNeighbors(_current_elem->node_id(cur_nd), nb);
85 
86  for (unsigned int k = 0; k < dg_neighbors.size(); ++k)
87  {
88  const Node * node_k = _pdmesh.nodePtr(neighbors[dg_neighbors[k]]);
89  dof[1] = node_k->dof_number(_sys.number(), _var.number(), 0);
90  const Real vol_k = _pdmesh.getPDNodeVolume(neighbors[dg_neighbors[k]]);
91 
92  // obtain bond ik's origin vector
93  const RealGradient origin_vec_ijk =
94  *node_k - *_pdmesh.nodePtr(_current_elem->node_id(cur_nd));
95 
96  RankTwoTensor dFdUk;
97  dFdUk.zero();
98  for (unsigned int j = 0; j < _dim; ++j)
99  dFdUk(_component, j) =
100  _horiz_rad[cur_nd] / origin_vec_ijk.norm() * origin_vec_ijk(j) * vol_k;
101 
102  dFdUk *= _shape2[cur_nd].inverse();
103 
104  RankTwoTensor dPxdUkx = _Jacobian_mult[cur_nd] * 0.5 * (dFdUk.transpose() + dFdUk);
105 
106  // bond status for bond k
107  const Real bond_status_ijk =
108  _bond_status_var->getElementalValue(_pdmesh.elemPtr(bonds[dg_neighbors[k]]));
109 
110  _local_ke.resize(_test.size(), _phi.size());
111  _local_ke.zero();
112  for (_i = 0; _i < _test.size(); ++_i)
113  for (_j = 0; _j < _phi.size(); ++_j)
114  _local_ke(_i, _j) = (_i == 0 ? -1 : 1) * (_j == 0 ? 0 : 1) * _multi[cur_nd] *
115  (dPxdUkx * _shape2[cur_nd].inverse()).row(_component) *
116  _origin_vec_ij * _bond_status_ij * bond_status_ijk;
117 
118  _assembly.cacheJacobianBlock(_local_ke, _ivardofs_ij, dof, _var.scalingFactor());
119 
120  if (_has_diag_save_in)
121  {
122  unsigned int rows = _test.size();
123  DenseVector<Real> diag(rows);
124  for (unsigned int i = 0; i < rows; ++i)
125  diag(i) = _local_ke(i, i);
126 
127  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
128  for (unsigned int i = 0; i < _diag_save_in.size(); ++i)
129  _diag_save_in[i]->sys().solution().add_vector(diag, _diag_save_in[i]->dofIndices());
130  }
131  }
132  }
133 }

◆ computeOffDiagJacobian()

void MechanicsBasePD::computeOffDiagJacobian ( MooseVariableFEBase &  jvar)
overridevirtualinherited

Definition at line 71 of file MechanicsBasePD.C.

72 {
73  prepare();
74 
75  if (jvar.number() == _var.number())
76  computeJacobian();
77  else
78  {
79  unsigned int coupled_component = 0;
80  bool active = false;
81 
82  for (unsigned int i = 0; i < _dim; ++i)
83  if (jvar.number() == _disp_var[i]->number())
84  {
85  coupled_component = i;
86  active = true;
87  }
88 
89  if (_temp_coupled && jvar.number() == _temp_var->number())
90  {
91  coupled_component = 3;
92  active = true;
93  }
94 
95  if (_out_of_plane_strain_coupled && jvar.number() == _out_of_plane_strain_var->number())
96  {
97  coupled_component = 4;
98  active = true;
99  }
100 
101  if (active)
102  {
103  DenseMatrix<Number> & ke = _assembly.jacobianBlock(_var.number(), jvar.number());
104  _local_ke.resize(ke.m(), ke.n());
105  _local_ke.zero();
106 
107  computeLocalOffDiagJacobian(coupled_component);
108 
109  ke += _local_ke;
110 
111  if (_use_full_jacobian)
112  computePDNonlocalOffDiagJacobian(jvar.number(), coupled_component);
113  }
114  }
115 }

◆ computePDNonlocalOffDiagJacobian()

void SmallStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian ( unsigned int  ,
unsigned int   
)
overrideprotectedvirtual

Function to compute nonlocal contribution to the off-diagonal Jacobian at the current nodes.

Parameters
jvar_numThe number of the first coupled variable
coupled_componentThe component number of the second coupled variable

Reimplemented from MechanicsBasePD.

Definition at line 180 of file SmallStrainMechanicsNOSPD.C.

182 {
183  if (coupled_component != 3 && coupled_component != 4)
184  {
185  for (unsigned int cur_nd = 0; cur_nd < _nnodes; ++cur_nd)
186  {
187  // calculation of jacobian contribution to current_node's neighbors
188  // NOT including the contribution to nodes i and j, which is considered as local off-diagonal
189  std::vector<dof_id_type> jvardofs_ijk(_nnodes);
190  jvardofs_ijk[0] = _current_elem->node_ptr(cur_nd)->dof_number(_sys.number(), jvar_num, 0);
191  std::vector<dof_id_type> neighbors = _pdmesh.getNeighbors(_current_elem->node_id(cur_nd));
192  std::vector<dof_id_type> bonds = _pdmesh.getBonds(_current_elem->node_id(cur_nd));
193  // get deformation gradient neighbors
194  unsigned int nb =
195  std::find(neighbors.begin(), neighbors.end(), _current_elem->node_id(1 - cur_nd)) -
196  neighbors.begin();
197  std::vector<dof_id_type> dg_neighbors =
198  _pdmesh.getDefGradNeighbors(_current_elem->node_id(cur_nd), nb);
199 
200  for (unsigned int k = 0; k < dg_neighbors.size(); ++k)
201  {
202  const Node * node_k = _pdmesh.nodePtr(neighbors[dg_neighbors[k]]);
203  jvardofs_ijk[1] = node_k->dof_number(_sys.number(), jvar_num, 0);
204  const Real vol_k = _pdmesh.getPDNodeVolume(neighbors[dg_neighbors[k]]);
205 
206  // obtain bond k's origin vector
207  const RealGradient origin_vec_ijk =
208  *node_k - *_pdmesh.nodePtr(_current_elem->node_id(cur_nd));
209 
210  RankTwoTensor dFdUk;
211  dFdUk.zero();
212  for (unsigned int j = 0; j < _dim; ++j)
213  dFdUk(coupled_component, j) =
214  _horiz_rad[cur_nd] / origin_vec_ijk.norm() * origin_vec_ijk(j) * vol_k;
215 
216  dFdUk *= _shape2[cur_nd].inverse();
217 
218  RankTwoTensor dPxdUky = _Jacobian_mult[cur_nd] * 0.5 * (dFdUk.transpose() + dFdUk);
219 
220  // bond status for bond k
221  const Real bond_status_ijk =
222  _bond_status_var->getElementalValue(_pdmesh.elemPtr(bonds[dg_neighbors[k]]));
223 
224  _local_ke.zero();
225  for (_i = 0; _i < _test.size(); ++_i)
226  for (_j = 0; _j < _phi.size(); ++_j)
227  _local_ke(_i, _j) = (_i == 0 ? -1 : 1) * (_j == 0 ? 0 : 1) * _multi[cur_nd] *
228  (dPxdUky * _shape2[cur_nd].inverse()).row(_component) *
229  _origin_vec_ij * _bond_status_ij * bond_status_ijk;
230 
231  _assembly.cacheJacobianBlock(_local_ke, _ivardofs_ij, jvardofs_ijk, _var.scalingFactor());
232  }
233  }
234  }
235 }

◆ initialSetup()

void MechanicsBasePD::initialSetup ( )
overridevirtualinherited

Definition at line 47 of file MechanicsBasePD.C.

48 {
49  _orientation = &_assembly.getFE(FEType(), 1)->get_dxyzdxi();
50 }

◆ prepare()

void MechanicsBasePD::prepare ( )
overridevirtualinherited

Definition at line 53 of file MechanicsBasePD.C.

54 {
56 
57  _ivardofs_ij.resize(_nnodes);
58 
59  for (unsigned int i = 0; i < _nnodes; ++i)
60  _ivardofs_ij[i] = _current_elem->node_ptr(i)->dof_number(_sys.number(), _var.number(), 0);
61 
62  for (unsigned int i = 0; i < _dim; ++i)
63  _cur_ori_ij(i) = _origin_vec_ij(i) + _disp_var[i]->getNodalValue(*_current_elem->node_ptr(1)) -
64  _disp_var[i]->getNodalValue(*_current_elem->node_ptr(0));
65 
66  _cur_len_ij = _cur_ori_ij.norm();
68 }

Referenced by MechanicsBasePD::computeOffDiagJacobian(), GeneralizedPlaneStrainOffDiagNOSPD::computeOffDiagJacobianScalar(), and GeneralizedPlaneStrainOffDiagOSPD::computeOffDiagJacobianScalar().

Member Data Documentation

◆ _component

const unsigned int SmallStrainMechanicsNOSPD::_component
protected

◆ _cur_len_ij

Real MechanicsBasePD::_cur_len_ij
protectedinherited

◆ _cur_ori_ij

RealGradient MechanicsBasePD::_cur_ori_ij
protectedinherited

◆ _ddgraddu

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_ddgraddu
protectedinherited

◆ _ddgraddv

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_ddgraddv
protectedinherited

◆ _ddgraddw

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_ddgraddw
protectedinherited

◆ _deigenstrain_dT

std::vector<const MaterialProperty<RankTwoTensor> *> MechanicsBaseNOSPD::_deigenstrain_dT
protectedinherited

◆ _dgrad

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_dgrad
protectedinherited

◆ _disp_var

std::vector<MooseVariable *> MechanicsBasePD::_disp_var
protectedinherited

◆ _eigenstrain_names

const std::vector<MaterialPropertyName> MechanicsBaseNOSPD::_eigenstrain_names
protectedinherited

Definition at line 45 of file MechanicsBaseNOSPD.h.

Referenced by MechanicsBaseNOSPD::MechanicsBaseNOSPD().

◆ _ivardofs_ij

std::vector<dof_id_type> MechanicsBasePD::_ivardofs_ij
protectedinherited

◆ _Jacobian_mult

const MaterialProperty<RankFourTensor>& MechanicsBaseNOSPD::_Jacobian_mult
protectedinherited

◆ _multi

const MaterialProperty<Real>& MechanicsBaseNOSPD::_multi
protectedinherited

◆ _ndisp

unsigned int MechanicsBasePD::_ndisp
protectedinherited

number of displacement components

Definition at line 58 of file MechanicsBasePD.h.

Referenced by MechanicsBasePD::MechanicsBasePD().

◆ _orientation

const std::vector<RealGradient>* MechanicsBasePD::_orientation
protectedinherited

Vector of bond in current configuration.

Definition at line 66 of file MechanicsBasePD.h.

Referenced by MechanicsBasePD::initialSetup().

◆ _out_of_plane_strain_coupled

const bool MechanicsBasePD::_out_of_plane_strain_coupled
protectedinherited

Parameters for out-of-plane strain in weak plane stress formulation.

Definition at line 61 of file MechanicsBasePD.h.

Referenced by MechanicsBasePD::computeOffDiagJacobian().

◆ _out_of_plane_strain_var

MooseVariable* MechanicsBasePD::_out_of_plane_strain_var
protectedinherited

Definition at line 62 of file MechanicsBasePD.h.

Referenced by MechanicsBasePD::computeOffDiagJacobian().

◆ _shape2

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_shape2
protectedinherited

◆ _stress

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_stress
protectedinherited

◆ _temp_coupled

const bool MechanicsBasePD::_temp_coupled
protectedinherited

◆ _temp_var

MooseVariable* MechanicsBasePD::_temp_var
protectedinherited

The documentation for this class was generated from the following files:
MechanicsBaseNOSPD::MechanicsBaseNOSPD
MechanicsBaseNOSPD(const InputParameters &parameters)
Definition: MechanicsBaseNOSPD.C:29
MechanicsBasePD::_cur_ori_ij
RealGradient _cur_ori_ij
Vector of bond in current configuration.
Definition: MechanicsBasePD.h:72
MechanicsBasePD::_temp_var
MooseVariable * _temp_var
Definition: MechanicsBasePD.h:54
MechanicsBasePD::_temp_coupled
const bool _temp_coupled
Temperature variable.
Definition: MechanicsBasePD.h:53
MechanicsBaseNOSPD::_shape2
const MaterialProperty< RankTwoTensor > & _shape2
Definition: MechanicsBaseNOSPD.h:39
libMesh::RealGradient
VectorValue< Real > RealGradient
Definition: GrainForceAndTorqueInterface.h:17
MechanicsBaseNOSPD::_multi
const MaterialProperty< Real > & _multi
Material point based material properties.
Definition: MechanicsBaseNOSPD.h:37
MechanicsBaseNOSPD::_Jacobian_mult
const MaterialProperty< RankFourTensor > & _Jacobian_mult
Definition: MechanicsBaseNOSPD.h:44
MechanicsBaseNOSPD::_stress
const MaterialProperty< RankTwoTensor > & _stress
Definition: MechanicsBaseNOSPD.h:38
MechanicsBaseNOSPD::_ddgraddw
const MaterialProperty< RankTwoTensor > & _ddgraddw
Definition: MechanicsBaseNOSPD.h:43
MechanicsBaseNOSPD::_ddgraddu
const MaterialProperty< RankTwoTensor > & _ddgraddu
Definition: MechanicsBaseNOSPD.h:41
MechanicsBaseNOSPD::_ddgraddv
const MaterialProperty< RankTwoTensor > & _ddgraddv
Definition: MechanicsBaseNOSPD.h:42
MechanicsBasePD::_orientation
const std::vector< RealGradient > * _orientation
Vector of bond in current configuration.
Definition: MechanicsBasePD.h:66
MechanicsBasePD::computeLocalOffDiagJacobian
virtual void computeLocalOffDiagJacobian(unsigned int)
Function to compute local contribution to the off-diagonal Jacobian at the current nodes.
Definition: MechanicsBasePD.h:35
MechanicsBasePD::_out_of_plane_strain_var
MooseVariable * _out_of_plane_strain_var
Definition: MechanicsBasePD.h:62
SmallStrainMechanicsNOSPD::_component
const unsigned int _component
The index of displacement component.
Definition: SmallStrainMechanicsNOSPD.h:38
PeridynamicsKernelBase::prepare
virtual void prepare()
Function to precalculate data which will be used in the derived classes.
Definition: PeridynamicsKernelBase.C:43
MechanicsBasePD::_out_of_plane_strain_coupled
const bool _out_of_plane_strain_coupled
Parameters for out-of-plane strain in weak plane stress formulation.
Definition: MechanicsBasePD.h:61
MechanicsBaseNOSPD::computeDSDU
virtual RankTwoTensor computeDSDU(unsigned int component, unsigned int nd)
Function to compute derivative of stress with respect to displacements.
Definition: MechanicsBaseNOSPD.C:49
MechanicsBasePD::_ivardofs_ij
std::vector< dof_id_type > _ivardofs_ij
Current variable dof numbers for nodes i and j.
Definition: MechanicsBasePD.h:69
MaterialTensorCalculatorTools::component
Real component(const SymmTensor &symm_tensor, unsigned int index)
Definition: MaterialTensorCalculatorTools.C:16
MechanicsBasePD::computePDNonlocalOffDiagJacobian
virtual void computePDNonlocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute nonlocal contribution to the off-diagonal Jacobian at the current nodes.
Definition: MechanicsBasePD.h:42
MechanicsBasePD::prepare
virtual void prepare() override
Definition: MechanicsBasePD.C:53
RankTwoTensorTempl< Real >
MechanicsBaseNOSPD::_deigenstrain_dT
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT
Definition: MechanicsBaseNOSPD.h:46
MechanicsBasePD::_cur_len_ij
Real _cur_len_ij
Current bond length.
Definition: MechanicsBasePD.h:75
MechanicsBasePD::_disp_var
std::vector< MooseVariable * > _disp_var
displacement variables
Definition: MechanicsBasePD.h:50