17 "state-based peridynamic correspondence models");
19 params.
addParam<std::vector<MaterialPropertyName>>(
22 "List of eigenstrains to be coupled in non-ordinary state-based mechanics kernels");
29 _dgrad_old(getMaterialPropertyOld<
RankTwoTensor>(
"deformation_gradient")),
30 _E_inc(getMaterialProperty<
RankTwoTensor>(
"strain_increment")),
31 _R_inc(getMaterialProperty<
RankTwoTensor>(
"rotation_increment"))
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)
82 (
_R_inc[nd](
j, n) * (0.5 * I(
k, m) * I(i, l) - I(m, l) *
_R_inc[nd](i,
k) +
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);
119 for (
unsigned int i = 0; i < 3; ++i)
120 for (
unsigned int j = 0;
j < 3; ++
j)
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)
197 dinvFTdU(i,
j) -= invF(i,
j) * invF(l,
k) *
_ddgraddu[nd](
k, l);
199 dinvFTdU(i,
j) -= invF(i,
j) * invF(l,
k) *
_ddgraddv[nd](
k, l);
201 dinvFTdU(i,
j) -= invF(i,
j) * invF(l,
k) *
_ddgraddw[nd](
k, l);
RankFourTensor computeDSDFhat(unsigned int nd)
Function to compute derivative of stress with respect to derived deformation gradient.
RankTwoTensor computeDinvFTDU(unsigned int component, unsigned int nd)
Function to compute derivative of deformation gradient inverse with respect to displacements.
const MaterialProperty< RankTwoTensor > & _ddgraddu
const MaterialProperty< RankFourTensor > & _Jacobian_mult
static const std::string component
MechanicsFiniteStrainBaseNOSPD(const InputParameters ¶meters)
const MaterialProperty< RankTwoTensor > & _dgrad_old
Material point based material property.
virtual RankTwoTensor computeDSDU(unsigned int component, unsigned int nd) override
Function to compute derivative of stress with respect to displacements for small strain problems...
static InputParameters validParams()
Real computeDJDU(unsigned int component, unsigned int nd)
Function to compute derivative of determinant of deformation gradient with respect to displacements...
const MaterialProperty< RankTwoTensor > & _E_inc
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
const MaterialProperty< RankTwoTensor > & _ddgraddw
const MaterialProperty< RankTwoTensor > & _ddgraddv
static const std::string k
const MaterialProperty< RankTwoTensor > & _R_inc
Base kernel class for bond-associated correspondence material models.
static InputParameters validParams()
const MaterialProperty< RankTwoTensor > & _dgrad