15 TensorMechanicsPlasticSimpleTester,
24 "Yield function = a*stress_yy + b*stress_zz + c*stress_xx + "
25 "d*(stress_xy + stress_yx)/2 + e*(stress_xz + stress_zx)/2 + "
26 "f*(stress_yz + stress_zy)/2 - strength");
28 "Yield function = a*stress_yy + b*stress_zz + c*stress_xx + "
29 "d*(stress_xy + stress_yx)/2 + e*(stress_xz + stress_zx)/2 + "
30 "f*(stress_yz + stress_zy)/2 - strength");
33 "Yield function = a*stress_yy + b*stress_zz + c*stress_xx + "
34 "d*(stress_xy + stress_yx)/2 + e*(stress_xz + stress_zx)/2 + "
35 "f*(stress_yz + stress_zy)/2 - strength");
38 "Yield function = a*stress_yy + b*stress_zz + c*stress_xx + "
39 "d*(stress_xy + stress_yx)/2 + e*(stress_xz + stress_zx)/2 + "
40 "f*(stress_yz + stress_zy)/2 - strength");
43 "Yield function = a*stress_yy + b*stress_zz + c*stress_xx + "
44 "d*(stress_xy + stress_yx)/2 + e*(stress_xz + stress_zx)/2 + "
45 "f*(stress_yz + stress_zy)/2 - strength");
48 "Yield function = a*stress_yy + b*stress_zz + c*stress_xx + "
49 "d*(stress_xy + stress_yx)/2 + e*(stress_xz + stress_zx)/2 + "
50 "f*(stress_yz + stress_zy)/2 - strength");
52 "Yield function = a*stress_yy + b*stress_zz + "
53 "c*stress_xx + d*(stress_xy + stress_yx)/2 + "
54 "e*(stress_xz + stress_zx)/2 + f*(stress_yz + "
55 "stress_zy)/2 - strength");
56 params.
addClassDescription(
"Class that can be used for testing multi-surface plasticity models. "
57 "Yield function = a*stress_yy + b*stress_zz + c*stress_xx + "
58 "d*(stress_xy + stress_yx)/2 + e*(stress_xz + stress_zx)/2 + "
59 "f*(stress_yz + stress_zy)/2 - strength");
67 _a(getParam<Real>(
"a")),
68 _b(getParam<Real>(
"b")),
69 _c(getParam<Real>(
"c")),
70 _d(getParam<Real>(
"d")),
71 _e(getParam<Real>(
"e")),
72 _f(getParam<Real>(
"f")),
73 _strength(getParam<Real>(
"strength"))
80 return _a * stress(1, 1) +
_b * stress(2, 2) +
_c * stress(0, 0) +
81 _d * (stress(0, 1) + stress(1, 0)) / 2.0 +
_e * (stress(0, 2) + stress(2, 0)) / 2.0 +
82 _f * (stress(1, 2) + stress(2, 1)) / 2.0 -
_strength;
93 df_dsig(0, 1) =
_d / 2.0;
94 df_dsig(1, 0) =
_d / 2.0;
95 df_dsig(0, 2) =
_e / 2.0;
96 df_dsig(2, 0) =
_e / 2.0;
97 df_dsig(1, 2) =
_f / 2.0;
98 df_dsig(2, 1) =
_f / 2.0;
132 return "SimpleTester";
registerMooseObject("SolidMechanicsApp", SolidMechanicsPlasticSimpleTester)
registerMooseObjectRenamed("SolidMechanicsApp", TensorMechanicsPlasticSimpleTester, "01/01/2025 00:00", SolidMechanicsPlasticSimpleTester)
Plastic Model base class The virtual functions written below must be over-ridden in derived classes t...
static InputParameters validParams()
Class that can be used for testing multi-surface plasticity models.
virtual std::string modelName() const override
RankTwoTensor dflowPotential_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to the internal parameter.
static InputParameters validParams()
RankFourTensor dflowPotential_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to stress.
Real yieldFunction(const RankTwoTensor &stress, Real intnl) const override
The following functions are what you should override when building single-plasticity models.
Real dyieldFunction_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to the internal parameter.
RankTwoTensor dyieldFunction_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to stress.
SolidMechanicsPlasticSimpleTester(const InputParameters ¶meters)
RankTwoTensor flowPotential(const RankTwoTensor &stress, Real intnl) const override
The flow potential.