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

Kernel class for fictitious force stabilized conventional correspondence material model for small strain. More...

#include <ForceStabilizedSmallStrainMechanicsNOSPD.h>

Inheritance diagram for ForceStabilizedSmallStrainMechanicsNOSPD:
[legend]

Public Member Functions

 ForceStabilizedSmallStrainMechanicsNOSPD (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
 
void computeLocalOffDiagJacobian (unsigned int coupled_component) override
 Function to compute local contribution to the off-diagonal Jacobian at the current nodes. More...
 
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 MaterialProperty< Real > & _sf_coeff
 Bond based material property for fictitious stabilization force. More...
 
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 fictitious force stabilized conventional correspondence material model for small strain.

Definition at line 23 of file ForceStabilizedSmallStrainMechanicsNOSPD.h.

Constructor & Destructor Documentation

◆ ForceStabilizedSmallStrainMechanicsNOSPD()

ForceStabilizedSmallStrainMechanicsNOSPD::ForceStabilizedSmallStrainMechanicsNOSPD ( const InputParameters &  parameters)

Definition at line 33 of file ForceStabilizedSmallStrainMechanicsNOSPD.C.

35  : MechanicsBaseNOSPD(parameters),
36  _sf_coeff(getMaterialProperty<Real>("stabilization_force_coeff")),
37  _component(getParam<unsigned int>("component"))
38 {
39 }

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(), SmallStrainMechanicsNOSPD::computeLocalJacobian(), computeLocalJacobian(), WeakPlaneStressNOSPD::computeLocalOffDiagJacobian(), SmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), and computeLocalOffDiagJacobian().

◆ computeLocalJacobian()

void ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalJacobian ( )
overrideprotectedvirtual

Definition at line 64 of file ForceStabilizedSmallStrainMechanicsNOSPD.C.

65 {
66  // excludes dTi/dUj and dTj/dUi contribution which was considered as nonlocal contribution
67  for (_i = 0; _i < _test.size(); ++_i)
68  for (_j = 0; _j < _phi.size(); ++_j)
69  _local_ke(_i, _j) += (_i == 0 ? -1 : 1) * _multi[_j] *
70  (computeDSDU(_component, _j) * _shape2[_j].inverse()).row(_component) *
71  _origin_vec_ij * _bond_status_ij;
72 
73  // compute local stabilization force jacobian
74  Real diag = 0.5 * (_sf_coeff[0] + _sf_coeff[1]);
75  for (_i = 0; _i < _test.size(); ++_i)
76  for (_j = 0; _j < _phi.size(); ++_j)
77  _local_ke(_i, _j) += (_i == _j ? 1 : -1) * diag * _bond_status_ij;
78 }

◆ computeLocalOffDiagJacobian()

void ForceStabilizedSmallStrainMechanicsNOSPD::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 138 of file ForceStabilizedSmallStrainMechanicsNOSPD.C.

140 {
141  _local_ke.zero();
142  if (coupled_component == 3)
143  {
144  std::vector<RankTwoTensor> dSdT(_nnodes);
145  for (unsigned int nd = 0; nd < _nnodes; ++nd)
146  for (unsigned int es = 0; es < _deigenstrain_dT.size(); ++es)
147  dSdT[nd] = -(_Jacobian_mult[nd] * (*_deigenstrain_dT[es])[nd]);
148 
149  for (_i = 0; _i < _test.size(); ++_i)
150  for (_j = 0; _j < _phi.size(); ++_j)
151  _local_ke(_i, _j) += (_i == 0 ? -1 : 1) * _multi[_j] *
152  (dSdT[_j] * _shape2[_j].inverse()).row(_component) * _origin_vec_ij *
153  _bond_status_ij;
154  }
155  else
156  {
157  for (_i = 0; _i < _test.size(); ++_i)
158  for (_j = 0; _j < _phi.size(); ++_j)
159  _local_ke(_i, _j) +=
160  (_i == 0 ? -1 : 1) * _multi[_j] *
161  (computeDSDU(coupled_component, _j) * _shape2[_j].inverse()).row(_component) *
162  _origin_vec_ij * _bond_status_ij;
163  }
164 }

◆ computeLocalResidual()

void ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalResidual ( )
overrideprotectedvirtual

Definition at line 42 of file ForceStabilizedSmallStrainMechanicsNOSPD.C.

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

◆ computeNonlocalJacobian()

void ForceStabilizedSmallStrainMechanicsNOSPD::computeNonlocalJacobian ( )
overrideprotectedvirtual

Definition at line 81 of file ForceStabilizedSmallStrainMechanicsNOSPD.C.

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

◆ 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 ForceStabilizedSmallStrainMechanicsNOSPD::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 167 of file ForceStabilizedSmallStrainMechanicsNOSPD.C.

169 {
170  if (coupled_component != 3)
171  {
172  for (unsigned int cur_nd = 0; cur_nd < _nnodes; ++cur_nd)
173  {
174  // calculation of jacobian contribution to current_node's neighbors
175  std::vector<dof_id_type> jvardofs_ijk(_nnodes);
176  jvardofs_ijk[0] = _current_elem->node_ptr(cur_nd)->dof_number(_sys.number(), jvar_num, 0);
177  std::vector<dof_id_type> neighbors = _pdmesh.getNeighbors(_current_elem->node_id(cur_nd));
178  std::vector<dof_id_type> bonds = _pdmesh.getBonds(_current_elem->node_id(cur_nd));
179  for (unsigned int k = 0; k < neighbors.size(); ++k)
180  {
181  Node * node_k = _pdmesh.nodePtr(neighbors[k]);
182  jvardofs_ijk[1] = node_k->dof_number(_sys.number(), jvar_num, 0);
183  Real vol_k = _pdmesh.getPDNodeVolume(neighbors[k]);
184 
185  // obtain bond k's origin vector
186  RealGradient origin_vec_ijk = *node_k - *_pdmesh.nodePtr(_current_elem->node_id(cur_nd));
187 
188  RankTwoTensor dFdUk;
189  dFdUk.zero();
190  for (unsigned int j = 0; j < _dim; ++j)
191  dFdUk(coupled_component, j) =
192  _horiz_rad[cur_nd] / origin_vec_ijk.norm() * origin_vec_ijk(j) * vol_k;
193 
194  dFdUk *= _shape2[cur_nd].inverse();
195  RankTwoTensor dSxdUky = _Jacobian_mult[cur_nd] * 0.5 * (dFdUk.transpose() + dFdUk);
196 
197  // bond status for bond k
198  Real bond_status_ijk = _bond_status_var->getElementalValue(_pdmesh.elemPtr(bonds[k]));
199 
200  _local_ke.zero();
201  for (_i = 0; _i < _test.size(); ++_i)
202  for (_j = 0; _j < _phi.size(); ++_j)
203  _local_ke(_i, _j) = (_i == 0 ? -1 : 1) * (_j == 0 ? 0 : 1) * _multi[cur_nd] *
204  (dSxdUky * _shape2[cur_nd].inverse()).row(_component) *
205  _origin_vec_ij * _bond_status_ij * bond_status_ijk;
206 
207  _assembly.cacheJacobianBlock(_local_ke, _ivardofs_ij, jvardofs_ijk, _var.scalingFactor());
208  }
209  }
210  }
211 }

◆ 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(), GeneralizedPlaneStrainOffDiagOSPD::computeOffDiagJacobianScalar(), and GeneralizedPlaneStrainOffDiagNOSPD::computeOffDiagJacobianScalar().

Member Data Documentation

◆ _component

const unsigned int ForceStabilizedSmallStrainMechanicsNOSPD::_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().

◆ _sf_coeff

const MaterialProperty<Real>& ForceStabilizedSmallStrainMechanicsNOSPD::_sf_coeff
protected

Bond based material property for fictitious stabilization force.

Definition at line 38 of file ForceStabilizedSmallStrainMechanicsNOSPD.h.

Referenced by computeLocalJacobian(), and computeLocalResidual().

◆ _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
ForceStabilizedSmallStrainMechanicsNOSPD::_sf_coeff
const MaterialProperty< Real > & _sf_coeff
Bond based material property for fictitious stabilization force.
Definition: ForceStabilizedSmallStrainMechanicsNOSPD.h:38
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
ForceStabilizedSmallStrainMechanicsNOSPD::_component
const unsigned int _component
The index of displacement component.
Definition: ForceStabilizedSmallStrainMechanicsNOSPD.h:41
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
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