14 #include "libmesh/quadrature.h"
20 const std::string &
name,
21 const InputParameters & parameters)
23 _disp_r(coupledValue(
"disp_r")),
24 _disp_z(coupledValue(
"disp_z")),
25 _large_strain(solid_model.getParamTempl<bool>(
"large_strain")),
26 _grad_disp_r(coupledGradient(
"disp_r")),
27 _grad_disp_z(coupledGradient(
"disp_z")),
28 _volumetric_locking_correction(solid_model.getParamTempl<bool>(
"volumetric_locking_correction"))
42 strain_increment.
zz() =
45 strain_increment.
yz() = 0;
46 strain_increment.
zx() = 0;
53 strain_increment.
zz() += 0.5 * (strain_increment.
zz() * strain_increment.
zz());
61 Real volumetric_strain = 0.0;
64 for (
unsigned int qp_loop = 0; qp_loop <
_solid_model.
qrule()->n_points(); ++qp_loop)
78 volumetric_strain += 0.5 *
82 volumetric_strain += 0.5 *
89 volumetric_strain /= volume;
92 Real trace = strain_increment.
trace();
93 strain_increment.
xx() += volumetric_strain - trace / dim;
94 strain_increment.
yy() += volumetric_strain - trace / dim;
95 strain_increment.
zz() += volumetric_strain - trace / dim;
98 total_strain_new = strain_increment;
100 strain_increment -= total_strain_old;