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";
SolidMechanicsPlasticSimpleTester(const InputParameters ¶meters)
Class that can be used for testing multi-surface plasticity models.
registerMooseObjectRenamed("SolidMechanicsApp", TensorMechanicsPlasticSimpleTester, "01/01/2025 00:00", SolidMechanicsPlasticSimpleTester)
static InputParameters validParams()
RankTwoTensor dflowPotential_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to the internal parameter.
RankFourTensor dflowPotential_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to stress.
registerMooseObject("SolidMechanicsApp", SolidMechanicsPlasticSimpleTester)
RankTwoTensor flowPotential(const RankTwoTensor &stress, Real intnl) const override
The flow potential.
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Plastic Model base class The virtual functions written below must be over-ridden in derived classes t...
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.
virtual std::string modelName() const override