https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
HorizonStabilizedFormIFiniteStrainMechanicsNOSPD Class Reference

Kernel class for Form I of the horizon-stabilized peridynamic correspondence model for finite strain. More...

#include <HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.h>

Inheritance diagram for HorizonStabilizedFormIFiniteStrainMechanicsNOSPD:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 HorizonStabilizedFormIFiniteStrainMechanicsNOSPD (const InputParameters &parameters)
 
virtual void computeOffDiagJacobian (unsigned int jvar) override
 
virtual void initialSetup () override
 
virtual void prepare () override
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialPropertyByName (const std::string &name)
 
void validateDerivativeMaterialPropertyBase (const std::string &base)
 
const MaterialPropertyName derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
void validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true)
 
void validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true)
 
void validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
const MaterialPropertyName propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 
const MaterialPropertyName propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void computeLocalResidual () override
 
virtual void computeLocalJacobian () override
 
virtual void computeNonlocalJacobian () override
 
virtual void computeLocalOffDiagJacobian (unsigned int jvar_num, unsigned int coupled_component) override
 Function to compute local contribution to the off-diagonal Jacobian at the current nodes.
 
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.
 
virtual RankTwoTensor computeDSDU (unsigned int component, unsigned int nd) override
 Function to compute derivative of stress with respect to displacements for small strain problems.
 
RankFourTensor computeDSDFhat (unsigned int nd)
 Function to compute derivative of stress with respect to derived deformation gradient.
 
Real computeDJDU (unsigned int component, unsigned int nd)
 Function to compute derivative of determinant of deformation gradient with respect to displacements.
 
RankTwoTensor computeDinvFTDU (unsigned int component, unsigned int nd)
 Function to compute derivative of deformation gradient inverse with respect to displacements.
 

Protected Attributes

const unsigned int _component
 The index of displacement component.
 
std::vector< MooseVariable * > _disp_var
 displacement variables
 
unsigned int _ndisp
 number of displacement components
 
const std::vector< RealGradient > * _orientation
 Vector of bond in current configuration.
 
std::vector< dof_id_type > _ivardofs
 Current variable dof numbers for nodes i and j.
 
std::vector< Real > _weights
 weights used for the current element to obtain the nodal stress
 
RealGradient _current_vec
 Vector of bond in current configuration.
 
RealGradient _current_unit_vec
 Unit vector of bond in current configuration.
 
const MaterialProperty< RankTwoTensor > & _dgrad_old
 Material point based material property.
 
const MaterialProperty< RankTwoTensor > & _E_inc
 
const MaterialProperty< RankTwoTensor > & _R_inc
 
const MaterialProperty< Real > & _multi
 Material point based material properties.
 
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.
 
MooseVariable_temp_var
 
const bool _out_of_plane_strain_coupled
 Parameters for out-of-plane strain in weak plane stress formulation.
 
MooseVariable_out_of_plane_strain_var
 

Private Member Functions

bool haveMaterialProperty (const std::string &prop_name)
 
std::vector< VariableName > buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3)
 
void validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing)
 
bool isNotObjectVariable (const VariableName &name)
 

Private Attributes

FEProblemBase_dmi_fe_problem
 

Detailed Description

Kernel class for Form I of the horizon-stabilized peridynamic correspondence model for finite strain.

Definition at line 20 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.h.

Constructor & Destructor Documentation

◆ HorizonStabilizedFormIFiniteStrainMechanicsNOSPD()

HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::HorizonStabilizedFormIFiniteStrainMechanicsNOSPD ( const InputParameters parameters)

Definition at line 30 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.C.

32 : MechanicsFiniteStrainBaseNOSPD(parameters), _component(getParam<unsigned int>("component"))
33{
34}
const unsigned int _component
The index of displacement component.
Base kernel class for finite strain correspondence models.

Member Function Documentation

◆ computeDinvFTDU()

RankTwoTensor MechanicsFiniteStrainBaseNOSPD::computeDinvFTDU ( unsigned int  component,
unsigned int  nd 
)
protectedinherited

Function to compute derivative of deformation gradient inverse 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

Definition at line 134 of file MechanicsFiniteStrainBaseNOSPD.C.

135{
136 // for finite formulation, compute the derivative of transpose of inverse of deformation gradient
137 // w.r.t the solution components
138 // d(inv(F)_ji)/du = d(inv(F)_ji)/dF_kl * dF_kl/du = - inv(F)_jk * inv(F)_li * dF_kl/du
139 // the bases are gi, gj, gk, gl, indictates the inverse transpose rather than the inverse
140
141 RankTwoTensor dinvFTdU;
142 dinvFTdU.zero();
143 RankTwoTensor invF = _dgrad[nd].inverse();
144 if (component == 0)
145 {
146 dinvFTdU(0, 1) =
147 _ddgraddu[nd](0, 2) * _dgrad[nd](2, 1) - _ddgraddu[nd](0, 1) * _dgrad[nd](2, 2);
148 dinvFTdU(0, 2) =
149 _ddgraddu[nd](0, 1) * _dgrad[nd](1, 2) - _ddgraddu[nd](0, 2) * _dgrad[nd](1, 1);
150 dinvFTdU(1, 1) =
151 _ddgraddu[nd](0, 0) * _dgrad[nd](2, 2) - _ddgraddu[nd](0, 2) * _dgrad[nd](2, 0);
152 dinvFTdU(1, 2) =
153 _ddgraddu[nd](0, 2) * _dgrad[nd](1, 0) - _ddgraddu[nd](0, 0) * _dgrad[nd](1, 2);
154 dinvFTdU(2, 1) =
155 _ddgraddu[nd](0, 1) * _dgrad[nd](2, 0) - _ddgraddu[nd](0, 0) * _dgrad[nd](2, 1);
156 dinvFTdU(2, 2) =
157 _ddgraddu[nd](0, 0) * _dgrad[nd](1, 1) - _ddgraddu[nd](0, 1) * _dgrad[nd](1, 0);
158 }
159 else if (component == 1)
160 {
161 dinvFTdU(0, 0) =
162 _ddgraddv[nd](1, 1) * _dgrad[nd](2, 2) - _ddgraddv[nd](1, 2) * _dgrad[nd](2, 1);
163 dinvFTdU(0, 2) =
164 _ddgraddv[nd](1, 2) * _dgrad[nd](0, 1) - _ddgraddv[nd](0, 2) * _dgrad[nd](1, 1);
165 dinvFTdU(1, 0) =
166 _ddgraddv[nd](1, 2) * _dgrad[nd](2, 0) - _ddgraddv[nd](1, 0) * _dgrad[nd](2, 2);
167 dinvFTdU(1, 2) =
168 _ddgraddv[nd](1, 0) * _dgrad[nd](0, 2) - _ddgraddv[nd](1, 2) * _dgrad[nd](0, 0);
169 dinvFTdU(2, 0) =
170 _ddgraddv[nd](1, 0) * _dgrad[nd](2, 1) - _ddgraddv[nd](1, 1) * _dgrad[nd](2, 0);
171 dinvFTdU(2, 2) =
172 _ddgraddv[nd](1, 1) * _dgrad[nd](0, 0) - _ddgraddv[nd](1, 0) * _dgrad[nd](0, 1);
173 }
174 else if (component == 2)
175 {
176 dinvFTdU(0, 0) =
177 _ddgraddw[nd](2, 2) * _dgrad[nd](1, 1) - _ddgraddw[nd](2, 1) * _dgrad[nd](1, 2);
178 dinvFTdU(0, 1) =
179 _ddgraddw[nd](2, 1) * _dgrad[nd](0, 2) - _ddgraddw[nd](2, 2) * _dgrad[nd](0, 1);
180 dinvFTdU(1, 0) =
181 _ddgraddw[nd](2, 0) * _dgrad[nd](1, 2) - _ddgraddw[nd](2, 2) * _dgrad[nd](1, 0);
182 dinvFTdU(1, 1) =
183 _ddgraddw[nd](2, 2) * _dgrad[nd](0, 0) - _ddgraddw[nd](2, 0) * _dgrad[nd](0, 2);
184 dinvFTdU(2, 0) =
185 _ddgraddw[nd](2, 1) * _dgrad[nd](1, 0) - _ddgraddw[nd](2, 0) * _dgrad[nd](1, 1);
186 dinvFTdU(2, 1) =
187 _ddgraddw[nd](2, 0) * _dgrad[nd](0, 1) - _ddgraddw[nd](2, 1) * _dgrad[nd](0, 0);
188 }
189
190 dinvFTdU /= _dgrad[nd].det();
191 for (unsigned int i = 0; i < 3; ++i)
192 for (unsigned int j = 0; j < 3; ++j)
193 for (unsigned int k = 0; k < 3; ++k)
194 for (unsigned int l = 0; l < 3; ++l)
195 {
196 if (component == 0)
197 dinvFTdU(i, j) -= invF(i, j) * invF(l, k) * _ddgraddu[nd](k, l);
198 else if (component == 1)
199 dinvFTdU(i, j) -= invF(i, j) * invF(l, k) * _ddgraddv[nd](k, l);
200 else if (component == 2)
201 dinvFTdU(i, j) -= invF(i, j) * invF(l, k) * _ddgraddw[nd](k, l);
202 }
203
204 return dinvFTdU;
205}
const MaterialProperty< RankTwoTensor > & _ddgraddu
const MaterialProperty< RankTwoTensor > & _ddgraddw
const MaterialProperty< RankTwoTensor > & _dgrad
const MaterialProperty< RankTwoTensor > & _ddgraddv
RankTwoTensorTempl< T > inverse() const

Referenced by computeLocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalJacobian(), computeLocalOffDiagJacobian(), and HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalOffDiagJacobian().

◆ computeDJDU()

Real MechanicsFiniteStrainBaseNOSPD::computeDJDU ( unsigned int  component,
unsigned int  nd 
)
protectedinherited

Function to compute derivative of determinant of deformation gradient 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

Definition at line 110 of file MechanicsFiniteStrainBaseNOSPD.C.

111{
112 // for finite formulation, compute the derivative of determinant of deformation gradient w.r.t the
113 // solution components
114 // dJ / du = dJ / dF_ij * dF_ij / du = J * inv(F)_ji * dF_ij / du
115
116 Real dJdU = 0.0;
117 RankTwoTensor invF = _dgrad[nd].inverse();
118 Real detF = _dgrad[nd].det();
119 for (unsigned int i = 0; i < 3; ++i)
120 for (unsigned int j = 0; j < 3; ++j)
121 {
122 if (component == 0)
123 dJdU += detF * invF(j, i) * _ddgraddu[nd](i, j);
124 else if (component == 1)
125 dJdU += detF * invF(j, i) * _ddgraddv[nd](i, j);
126 else if (component == 2)
127 dJdU += detF * invF(j, i) * _ddgraddw[nd](i, j);
128 }
129
130 return dJdU;
131}
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

Referenced by computeLocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalJacobian(), computeLocalOffDiagJacobian(), and HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalOffDiagJacobian().

◆ computeDSDFhat()

RankFourTensor MechanicsFiniteStrainBaseNOSPD::computeDSDFhat ( unsigned int  nd)
protectedinherited

Function to compute derivative of stress with respect to derived deformation gradient.

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

Definition at line 61 of file MechanicsFiniteStrainBaseNOSPD.C.

62{
63 // compute the derivative of stress w.r.t the Fhat for finite strain
65 RankFourTensor dSdFhat;
66 dSdFhat.zero();
67
68 // first calculate the derivative of incremental Cauchy stress w.r.t the inverse of Fhat
69 // Reference: M. M. Rashid (1993), Incremental Kinematics for finite element applications, IJNME
70 RankTwoTensor S_inc = _Jacobian_mult[nd] * _E_inc[nd];
72 Tp1.zero();
73 for (unsigned int i = 0; i < 3; ++i)
74 for (unsigned int j = 0; j < 3; ++j)
75 for (unsigned int k = 0; k < 3; ++k)
76 for (unsigned int l = 0; l < 3; ++l)
77 for (unsigned int m = 0; m < 3; ++m)
78 for (unsigned int n = 0; n < 3; ++n)
79 for (unsigned int r = 0; r < 3; ++r)
80 Tp1(i, j, k, l) +=
81 S_inc(m, n) *
82 (_R_inc[nd](j, n) * (0.5 * I(k, m) * I(i, l) - I(m, l) * _R_inc[nd](i, k) +
83 0.5 * _R_inc[nd](i, k) * _R_inc[nd](m, l)) +
84 _R_inc[nd](i, m) * (0.5 * I(k, n) * I(j, l) - I(n, l) * _R_inc[nd](j, k) +
85 0.5 * _R_inc[nd](j, k) * _R_inc[nd](n, l))) -
86 _R_inc[nd](l, m) * _R_inc[nd](i, n) * _R_inc[nd](j, r) *
87 _Jacobian_mult[nd](n, r, m, k);
88
89 // second calculate derivative of inverse of Fhat w.r.t Fhat
90 // d(inv(Fhat)_kl)/dFhat_mn = - inv(Fhat)_km * inv(Fhat)_nl
91 // the bases are gk, gl, gm, gn, indictates the inverse rather than the inverse transpose
92
94 Tp2.zero();
95 RankTwoTensor invFhat = (_dgrad[nd] * _dgrad_old[nd].inverse()).inverse();
96 for (unsigned int k = 0; k < 3; ++k)
97 for (unsigned int l = 0; l < 3; ++l)
98 for (unsigned int m = 0; m < 3; ++m)
99 for (unsigned int n = 0; n < 3; ++n)
100 Tp2(k, l, m, n) += -invFhat(k, m) * invFhat(n, l);
101
102 // assemble two calculated quantities to form the derivative of Cauchy stress w.r.t
103 // Fhat
104 dSdFhat = Tp1 * Tp2;
105
106 return dSdFhat;
107}
const MaterialProperty< RankFourTensor > & _Jacobian_mult
const MaterialProperty< RankTwoTensor > & _E_inc
const MaterialProperty< RankTwoTensor > & _dgrad_old
Material point based material property.
const MaterialProperty< RankTwoTensor > & _R_inc
void inverse(const std::vector< std::vector< Real > > &m, std::vector< std::vector< Real > > &m_inv)

Referenced by MechanicsFiniteStrainBaseNOSPD::computeDSDU(), computeNonlocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeNonlocalJacobian(), computePDNonlocalOffDiagJacobian(), and HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian().

◆ computeDSDU()

RankTwoTensor MechanicsFiniteStrainBaseNOSPD::computeDSDU ( unsigned int  component,
unsigned int  nd 
)
overrideprotectedvirtualinherited

Function to compute derivative of stress with respect to displacements for small strain problems.

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

Reimplemented from MechanicsBaseNOSPD.

Definition at line 36 of file MechanicsFiniteStrainBaseNOSPD.C.

37{
38 // compute the derivative of stress w.r.t the solution components for finite strain
39 RankTwoTensor dSdU;
40
41 // fetch the derivative of stress w.r.t the Fhat
42 RankFourTensor DSDFhat = computeDSDFhat(nd);
43
44 // third calculate derivative of Fhat w.r.t solution components
45 RankTwoTensor Tp3;
46 if (component == 0)
47 Tp3 = _dgrad_old[nd].inverse() * _ddgraddu[nd];
48 else if (component == 1)
49 Tp3 = _dgrad_old[nd].inverse() * _ddgraddv[nd];
50 else if (component == 2)
51 Tp3 = _dgrad_old[nd].inverse() * _ddgraddw[nd];
52
53 // assemble the fetched and calculated quantities to form the derivative of Cauchy stress w.r.t
54 // solution components
55 dSdU = DSDFhat * Tp3;
56
57 return dSdU;
58}
RankFourTensor computeDSDFhat(unsigned int nd)
Function to compute derivative of stress with respect to derived deformation gradient.

Referenced by computeLocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalJacobian(), computeLocalOffDiagJacobian(), and HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalOffDiagJacobian().

◆ computeLocalJacobian()

void HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::computeLocalJacobian ( )
overrideprotectedvirtual

Definition at line 56 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.C.

57{
58 // excludes dTi/dUj and dTj/dUi contribution which was considered as nonlocal contribution
59 std::vector<RankTwoTensor> dPxdUx(_nnodes);
60 for (unsigned int nd = 0; nd < _nnodes; ++nd)
61 dPxdUx[nd] = computeDJDU(_component, nd) * _stress[nd] * _dgrad[nd].inverse().transpose() +
62 _dgrad[nd].det() * computeDSDU(_component, nd) * _dgrad[nd].inverse().transpose() +
63 _dgrad[nd].det() * _stress[nd] * computeDinvFTDU(_component, nd);
64
65 for (unsigned int i = 0; i < _nnodes; ++i)
66 for (unsigned int j = 0; j < _nnodes; ++j)
67 _local_ke(i, j) += (i == 0 ? -1 : 1) * _multi[j] *
68 (dPxdUx[j] * _shape2[j].inverse()).row(_component) * _origin_vec *
69 _bond_status;
70}
const MaterialProperty< RankTwoTensor > & _shape2
const MaterialProperty< RankTwoTensor > & _stress
const MaterialProperty< Real > & _multi
Material point based material properties.
Real computeDJDU(unsigned int component, unsigned int nd)
Function to compute derivative of determinant of deformation gradient with respect to displacements.
RankTwoTensor computeDinvFTDU(unsigned int component, unsigned int nd)
Function to compute derivative of deformation gradient inverse with respect to displacements.
virtual RankTwoTensor computeDSDU(unsigned int component, unsigned int nd) override
Function to compute derivative of stress with respect to displacements for small strain problems.

◆ computeLocalOffDiagJacobian()

void HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::computeLocalOffDiagJacobian ( unsigned int  ,
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 168 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.C.

170{
171 _local_ke.zero();
172 if (_temp_coupled && jvar_num == _temp_var->number())
173 {
174 std::vector<RankTwoTensor> dSdT(_nnodes);
175 for (unsigned int nd = 0; nd < _nnodes; ++nd)
176 for (unsigned int es = 0; es < _deigenstrain_dT.size(); ++es)
177 dSdT[nd] = -_dgrad[nd].det() * _Jacobian_mult[nd] * (*_deigenstrain_dT[es])[nd] *
178 _dgrad[nd].inverse().transpose();
179
180 for (unsigned int i = 0; i < _nnodes; ++i)
181 for (unsigned int j = 0; j < _nnodes; ++j)
182 _local_ke(i, j) += (i == 0 ? -1 : 1) * _multi[j] *
183 (dSdT[j] * _shape2[j].inverse()).row(_component) * _origin_vec *
184 _bond_status;
185 }
187 jvar_num == _out_of_plane_strain_var
188 ->number()) // weak plane stress case, out_of_plane_strain is coupled
189 {
190 std::vector<RankTwoTensor> dSdE33(_nnodes);
191 for (unsigned int nd = 0; nd < _nnodes; ++nd)
192 {
193 for (unsigned int i = 0; i < 3; ++i)
194 for (unsigned int j = 0; j < 3; ++j)
195 dSdE33[nd](i, j) = _Jacobian_mult[nd](i, j, 2, 2);
196
197 dSdE33[nd] = _dgrad[nd].det() * dSdE33[nd] * _dgrad[nd].inverse().transpose();
198 }
199
200 for (unsigned int i = 0; i < _nnodes; ++i)
201 for (unsigned int j = 0; j < _nnodes; ++j)
202 _local_ke(i, j) += (i == 0 ? -1 : 1) * _multi[j] *
203 (dSdE33[j] * _shape2[j].inverse()).row(_component) * _origin_vec *
204 _bond_status;
205 }
206 else
207 {
208 std::vector<RankTwoTensor> dPxdUy(_nnodes);
209 for (unsigned int nd = 0; nd < _nnodes; ++nd)
210 dPxdUy[nd] =
211 computeDJDU(coupled_component, nd) * _stress[nd] * _dgrad[nd].inverse().transpose() +
212 _dgrad[nd].det() * computeDSDU(coupled_component, nd) * _dgrad[nd].inverse().transpose() +
213 _dgrad[nd].det() * _stress[nd] * computeDinvFTDU(coupled_component, nd);
214
215 for (unsigned int i = 0; i < _nnodes; ++i)
216 for (unsigned int j = 0; j < _nnodes; ++j)
217 _local_ke(i, j) += (i == 0 ? -1 : 1) * _multi[j] *
218 (dPxdUy[j] * _shape2[j].inverse()).row(_component) * _origin_vec *
219 _bond_status;
220 }
221}
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT
const bool _out_of_plane_strain_coupled
Parameters for out-of-plane strain in weak plane stress formulation.
MooseVariable * _temp_var
MooseVariable * _out_of_plane_strain_var
const bool _temp_coupled
Temperature variable.
unsigned int number() const

◆ computeLocalResidual()

void HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::computeLocalResidual ( )
overrideprotectedvirtual

Definition at line 37 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.C.

38{
39 // For finite strain formulation, the _stress tensor gotten from material class is the
40 // Cauchy stress (Sigma). the first Piola-Kirchhoff stress (P) is then obtained as
41 // P = J * Sigma * inv(F)^T.
42 // Nodal force states are based on the first Piola-Kirchhoff stress tensors (P).
43 // i.e., T = (J * Sigma * inv(F)^T) * inv(Shape) * xi * multi.
44 // Cauchy stress is calculated as Sigma_n+1 = Sigma_n + R * (C * dt * D) * R^T
45
46 for (unsigned int nd = 0; nd < _nnodes; ++nd)
47 for (unsigned int i = 0; i < _nnodes; ++i)
48 _local_re(i) += (i == 0 ? -1 : 1) * _multi[nd] *
49 ((_dgrad[nd].det() * _stress[nd] * _dgrad[nd].inverse().transpose()) *
50 _shape2[nd].inverse())
51 .row(_component) *
52 _origin_vec * _bond_status;
53}

◆ computeNonlocalJacobian()

void HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::computeNonlocalJacobian ( )
overrideprotectedvirtual

Definition at line 73 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.C.

74{
75 // includes dTi/dUj and dTj/dUi contributions
76 for (unsigned int nd = 0; nd < _nnodes; ++nd)
77 {
78 RankFourTensor dSdFhat = computeDSDFhat(nd);
79 RankTwoTensor invF = _dgrad[nd].inverse();
80 Real detF = _dgrad[nd].det();
81 // calculation of jacobian contribution to current_node's neighbors
82 std::vector<dof_id_type> ivardofs(_nnodes);
83 ivardofs[0] = _current_elem->node_ptr(nd)->dof_number(_sys.number(), _var.number(), 0);
84 std::vector<dof_id_type> neighbors = _pdmesh.getNeighbors(_current_elem->node_id(nd));
85 std::vector<dof_id_type> bonds = _pdmesh.getBonds(_current_elem->node_id(nd));
86
87 dof_id_type nb_index =
88 std::find(neighbors.begin(), neighbors.end(), _current_elem->node_id(1 - nd)) -
89 neighbors.begin();
90 std::vector<dof_id_type> dg_neighbors =
91 _pdmesh.getBondDeformationGradientNeighbors(_current_elem->node_id(nd), nb_index);
92
93 Real vol_nb, dJdU;
94 RealGradient origin_vec_nb;
95 RankTwoTensor dFdUk, dPxdUkx, dSdU, dinvFTdU;
96
97 for (unsigned int nb = 0; nb < dg_neighbors.size(); ++nb)
98 if (_bond_status_var->getElementalValue(_pdmesh.elemPtr(bonds[dg_neighbors[nb]])) > 0.5)
99 {
100 ivardofs[1] = _pdmesh.nodePtr(neighbors[dg_neighbors[nb]])
101 ->dof_number(_sys.number(), _var.number(), 0);
102 vol_nb = _pdmesh.getNodeVolume(neighbors[dg_neighbors[nb]]);
103
104 origin_vec_nb = _pdmesh.getNodeCoord(neighbors[dg_neighbors[nb]]) -
105 _pdmesh.getNodeCoord(_current_elem->node_id(nd));
106
107 dFdUk.zero();
108 for (unsigned int i = 0; i < _dim; ++i)
109 dFdUk(_component, i) =
110 _horizon_radius[nd] / origin_vec_nb.norm() * origin_vec_nb(i) * vol_nb;
111
112 dFdUk *= _shape2[nd].inverse();
113
114 // calculate dJ/du
115 dJdU = 0.0;
116 for (unsigned int i = 0; i < 3; ++i)
117 for (unsigned int j = 0; j < 3; ++j)
118 dJdU += detF * invF(j, i) * dFdUk(i, j);
119
120 // calculate dS/du
121 dSdU = dSdFhat * dFdUk * _dgrad_old[nd].inverse();
122
123 // calculate dinv(F)Tdu
124 dinvFTdU.zero();
125 for (unsigned int i = 0; i < 3; ++i)
126 for (unsigned int J = 0; J < 3; ++J)
127 for (unsigned int k = 0; k < 3; ++k)
128 for (unsigned int L = 0; L < 3; ++L)
129 dinvFTdU(i, J) += -invF(J, k) * invF(L, i) * dFdUk(k, L);
130
131 // calculate the derivative of first Piola-Kirchhoff stress w.r.t displacements
132 dPxdUkx = dJdU * _stress[nd] * invF.transpose() + detF * dSdU * invF.transpose() +
133 detF * _stress[nd] * dinvFTdU;
134
135 for (unsigned int i = 0; i < _nnodes; ++i)
136 for (unsigned int j = 0; j < _nnodes; ++j)
137 _local_ke(i, j) = (i == 0 ? -1 : 1) * (j == 0 ? 0 : 1) * _multi[nd] *
138 (dPxdUkx * _shape2[nd].inverse()).row(_component) * _origin_vec *
139 _bond_status;
140
141 addJacobian(_assembly, _local_ke, _ivardofs, ivardofs, _var.scalingFactor());
142
143 if (_has_diag_save_in)
144 {
145 unsigned int rows = _nnodes;
146 DenseVector<Real> diag(rows);
147 for (unsigned int i = 0; i < rows; ++i)
148 diag(i) = _local_ke(i, i);
149
150 Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
151 for (unsigned int i = 0; i < _diag_save_in.size(); ++i)
152 {
153 std::vector<dof_id_type> diag_save_in_dofs(2);
154 diag_save_in_dofs[0] = _current_elem->node_ptr(nd)->dof_number(
155 _diag_save_in[i]->sys().number(), _diag_save_in[i]->number(), 0);
156 diag_save_in_dofs[1] =
157 _pdmesh.nodePtr(neighbors[dg_neighbors[nb]])
158 ->dof_number(_diag_save_in[i]->sys().number(), _diag_save_in[i]->number(), 0);
159
160 _diag_save_in[i]->sys().solution().add_vector(diag, diag_save_in_dofs);
161 }
162 }
163 }
164 }
165}
std::vector< dof_id_type > _ivardofs
Current variable dof numbers for nodes i and j.
RankTwoTensorTempl< T > transpose() const
uint8_t dof_id_type
RealVectorValue RealGradient

◆ computeOffDiagJacobian()

void MechanicsBasePD::computeOffDiagJacobian ( unsigned int  jvar)
overridevirtualinherited

Definition at line 73 of file MechanicsBasePD.C.

74{
75 prepare();
76
77 if (jvar_num == _var.number())
78 computeJacobian();
79 else
80 {
81 unsigned int coupled_component = 0;
82 bool active = false;
83
84 for (unsigned int i = 0; i < _dim; ++i)
85 if (jvar_num == _disp_var[i]->number())
86 {
87 coupled_component = i;
88 active = true;
89 }
90
91 if (_temp_coupled && jvar_num == _temp_var->number())
92 active = true;
93
95 active = true;
96
97 if (active)
98 {
99 prepareMatrixTag(_assembly, _var.number(), jvar_num);
100 computeLocalOffDiagJacobian(jvar_num, coupled_component);
101 accumulateTaggedLocalMatrix();
102
103 if (_use_full_jacobian)
104 computePDNonlocalOffDiagJacobian(jvar_num, coupled_component);
105 }
106 }
107}
virtual void prepare() override
virtual void computePDNonlocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute nonlocal contribution to the off-diagonal Jacobian at the current nodes.
virtual void computeLocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute local contribution to the off-diagonal Jacobian at the current nodes.
std::vector< MooseVariable * > _disp_var
displacement variables

◆ computePDNonlocalOffDiagJacobian()

void HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::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 224 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.C.

226{
227 if (_temp_coupled && jvar_num == _temp_var->number())
228 {
229 // no nonlocal contribution from temperature
230 }
232 {
233 // no nonlocal contribution from out of plane strain
234 }
235 else
236 {
237 for (unsigned int nd = 0; nd < _nnodes; ++nd)
238 {
239 RankFourTensor dSdFhat = computeDSDFhat(nd);
240 RankTwoTensor invF = _dgrad[nd].inverse();
241 Real detF = _dgrad[nd].det();
242 // calculation of jacobian contribution to current_node's neighbors
243 std::vector<dof_id_type> jvardofs(_nnodes);
244 jvardofs[0] = _current_elem->node_ptr(nd)->dof_number(_sys.number(), jvar_num, 0);
245 std::vector<dof_id_type> neighbors = _pdmesh.getNeighbors(_current_elem->node_id(nd));
246 std::vector<dof_id_type> bonds = _pdmesh.getBonds(_current_elem->node_id(nd));
247
248 dof_id_type nb_index =
249 std::find(neighbors.begin(), neighbors.end(), _current_elem->node_id(1 - nd)) -
250 neighbors.begin();
251 std::vector<dof_id_type> dg_neighbors =
252 _pdmesh.getBondDeformationGradientNeighbors(_current_elem->node_id(nd), nb_index);
253
254 Real vol_nb, dJdU;
255 RealGradient origin_vec_nb;
256 RankTwoTensor dFdUk, dPxdUky, dSdU, dinvFTdU;
257
258 for (unsigned int nb = 0; nb < dg_neighbors.size(); ++nb)
259 if (_bond_status_var->getElementalValue(_pdmesh.elemPtr(bonds[dg_neighbors[nb]])) > 0.5)
260 {
261 jvardofs[1] =
262 _pdmesh.nodePtr(neighbors[dg_neighbors[nb]])->dof_number(_sys.number(), jvar_num, 0);
263 vol_nb = _pdmesh.getNodeVolume(neighbors[dg_neighbors[nb]]);
264
265 origin_vec_nb = _pdmesh.getNodeCoord(neighbors[dg_neighbors[nb]]) -
266 _pdmesh.getNodeCoord(_current_elem->node_id(nd));
267
268 dFdUk.zero();
269 for (unsigned int i = 0; i < _dim; ++i)
270 dFdUk(coupled_component, i) =
271 _horizon_radius[nd] / origin_vec_nb.norm() * origin_vec_nb(i) * vol_nb;
272
273 dFdUk *= _shape2[nd].inverse();
274
275 // calculate dJ/du
276 dJdU = 0.0;
277 for (unsigned int i = 0; i < 3; ++i)
278 for (unsigned int j = 0; j < 3; ++j)
279 dJdU += detF * invF(j, i) * dFdUk(i, j);
280
281 // calculate dS/du
282 dSdU = dSdFhat * dFdUk * _dgrad_old[nd].inverse();
283
284 // calculate dinv(F)Tdu
285 dinvFTdU.zero();
286 for (unsigned int i = 0; i < 3; ++i)
287 for (unsigned int J = 0; J < 3; ++J)
288 for (unsigned int k = 0; k < 3; ++k)
289 for (unsigned int L = 0; L < 3; ++L)
290 dinvFTdU(i, J) += -invF(J, k) * invF(L, i) * dFdUk(k, L);
291
292 // calculate the derivative of first Piola-Kirchhoff stress w.r.t displacements
293 dPxdUky = dJdU * _stress[nd] * invF.transpose() + detF * dSdU * invF.transpose() +
294 detF * _stress[nd] * dinvFTdU;
295
296 for (unsigned int i = 0; i < _nnodes; ++i)
297 for (unsigned int j = 0; j < _nnodes; ++j)
298 _local_ke(i, j) = (i == 0 ? -1 : 1) * (j == 0 ? 0 : 1) * _multi[nd] *
299 (dPxdUky * _shape2[nd].inverse()).row(_component) * _origin_vec *
300 _bond_status;
301
302 addJacobian(_assembly, _local_ke, _ivardofs, jvardofs, _var.scalingFactor());
303 }
304 }
305 }
306}

◆ initialSetup()

void MechanicsBasePD::initialSetup ( )
overridevirtualinherited

Definition at line 45 of file MechanicsBasePD.C.

46{
47 _orientation = &_assembly.getFE(FEType(), 1)->get_dxyzdxi();
48}
const std::vector< RealGradient > * _orientation
Vector of bond in current configuration.

◆ prepare()

void MechanicsBasePD::prepare ( )
overridevirtualinherited

Definition at line 51 of file MechanicsBasePD.C.

52{
54
55 _ivardofs.resize(_nnodes);
56 _weights.resize(_nnodes);
57 for (unsigned int nd = 0; nd < _nnodes; ++nd)
58 {
59 _ivardofs[nd] = _current_elem->node_ptr(nd)->dof_number(_sys.number(), _var.number(), 0);
60 _weights[nd] = _pdmesh.getNeighborWeight(
61 _current_elem->node_id(nd),
62 _pdmesh.getNeighborIndex(_current_elem->node_id(nd), _current_elem->node_id(1 - nd)));
63 }
64
65 for (unsigned int i = 0; i < _dim; ++i)
66 _current_vec(i) = _origin_vec(i) + _disp_var[i]->getNodalValue(*_current_elem->node_ptr(1)) -
67 _disp_var[i]->getNodalValue(*_current_elem->node_ptr(0));
68
70}
RealGradient _current_unit_vec
Unit vector of bond in current configuration.
RealGradient _current_vec
Vector of bond in current configuration.
std::vector< Real > _weights
weights used for the current element to obtain the nodal stress
virtual void prepare()
Function to precalculate data which will be used in the derived classes.

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

◆ validParams()

InputParameters HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::validParams ( )
static

Definition at line 16 of file HorizonStabilizedFormIFiniteStrainMechanicsNOSPD.C.

17{
20 "Class for calculating the residual and the Jacobian for Form I "
21 "of the horizon-stabilized peridynamic correspondence model under finite strain assumptions");
22
23 params.addRequiredParam<unsigned int>(
24 "component",
25 "An integer corresponding to the variable this kernel acts on (0 for x, 1 for y, 2 for z)");
26
27 return params;
28}
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _component

const unsigned int HorizonStabilizedFormIFiniteStrainMechanicsNOSPD::_component
protected

◆ _current_unit_vec

RealGradient MechanicsBasePD::_current_unit_vec
protectedinherited

◆ _current_vec

RealGradient MechanicsBasePD::_current_vec
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

◆ _dgrad_old

const MaterialProperty<RankTwoTensor>& MechanicsFiniteStrainBaseNOSPD::_dgrad_old
protectedinherited

◆ _disp_var

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

◆ _E_inc

const MaterialProperty<RankTwoTensor>& MechanicsFiniteStrainBaseNOSPD::_E_inc
protectedinherited

◆ _eigenstrain_names

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

Definition at line 43 of file MechanicsBaseNOSPD.h.

Referenced by MechanicsBaseNOSPD::MechanicsBaseNOSPD().

◆ _ivardofs

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

◆ _Jacobian_mult

const MaterialProperty<RankFourTensor>& MechanicsBaseNOSPD::_Jacobian_mult
protectedinherited

◆ _multi

const MaterialProperty<Real>& MechanicsBaseNOSPD::_multi
protectedinherited

Material point based material properties.

Definition at line 35 of file MechanicsBaseNOSPD.h.

Referenced by GeneralizedPlaneStrainOffDiagNOSPD::computeDispFullOffDiagJacobianScalar(), GeneralizedPlaneStrainOffDiagNOSPD::computeDispPartialOffDiagJacobianScalar(), ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalJacobian(), computeLocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeLocalJacobian(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeLocalJacobian(), ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), computeLocalOffDiagJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalResidual(), computeLocalResidual(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalResidual(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeLocalResidual(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeLocalResidual(), ForceStabilizedSmallStrainMechanicsNOSPD::computeNonlocalJacobian(), computeNonlocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeNonlocalJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeNonlocalJacobian(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeNonlocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeNonlocalResidual(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeNonlocalResidual(), ForceStabilizedSmallStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian(), computePDNonlocalOffDiagJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian(), and HorizonStabilizedFormISmallStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian().

◆ _ndisp

unsigned int MechanicsBasePD::_ndisp
protectedinherited

number of displacement components

Definition at line 59 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 67 of file MechanicsBasePD.h.

Referenced by MechanicsBasePD::initialSetup().

◆ _out_of_plane_strain_coupled

const bool MechanicsBasePD::_out_of_plane_strain_coupled
protectedinherited

◆ _out_of_plane_strain_var

MooseVariable* MechanicsBasePD::_out_of_plane_strain_var
protectedinherited

◆ _R_inc

const MaterialProperty<RankTwoTensor>& MechanicsFiniteStrainBaseNOSPD::_R_inc
protectedinherited

◆ _shape2

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_shape2
protectedinherited

Definition at line 37 of file MechanicsBaseNOSPD.h.

Referenced by GeneralizedPlaneStrainOffDiagNOSPD::computeDispFullOffDiagJacobianScalar(), GeneralizedPlaneStrainOffDiagNOSPD::computeDispPartialOffDiagJacobianScalar(), ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalJacobian(), computeLocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeLocalJacobian(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeLocalJacobian(), ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), computeLocalOffDiagJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeLocalOffDiagJacobian(), ForceStabilizedSmallStrainMechanicsNOSPD::computeLocalResidual(), computeLocalResidual(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeLocalResidual(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeLocalResidual(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeLocalResidual(), ForceStabilizedSmallStrainMechanicsNOSPD::computeNonlocalJacobian(), computeNonlocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeNonlocalJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeNonlocalJacobian(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computeNonlocalJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computeNonlocalResidual(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computeNonlocalResidual(), ForceStabilizedSmallStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian(), computePDNonlocalOffDiagJacobian(), HorizonStabilizedFormIIFiniteStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian(), HorizonStabilizedFormIISmallStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian(), HorizonStabilizedFormISmallStrainMechanicsNOSPD::computePDNonlocalOffDiagJacobian(), and WeakPlaneStressNOSPD::computePDNonlocalOffDiagJacobian().

◆ _stress

const MaterialProperty<RankTwoTensor>& MechanicsBaseNOSPD::_stress
protectedinherited

◆ _temp_coupled

const bool MechanicsBasePD::_temp_coupled
protectedinherited

◆ _temp_var

MooseVariable* MechanicsBasePD::_temp_var
protectedinherited

◆ _weights

std::vector<Real> MechanicsBasePD::_weights
protectedinherited

The documentation for this class was generated from the following files: