138{
140
142 "displacements", "The nonlinear displacement variables for the problem");
143 params.
addParam<std::vector<VariableName>>(
"temperature",
"The temperature");
144
145 MooseEnum strainType(
"SMALL FINITE",
"SMALL");
147 params.
addParam<
bool>(
"incremental",
148 "Use incremental or total strain (if not explicitly specified this "
149 "defaults to incremental for finite strain and total for small strain)");
150
151 params.
addParam<std::string>(
"base_name",
"Material property base name");
153 "volumetric_locking_correction", false, "Flag to correct volumetric locking");
155 "use_finite_deform_jacobian", false, "Jacobian for corrotational finite strain");
156 params.
addParam<
bool>(
"add_variables",
false,
"Add the displacement variables");
157 params.
addParam<std::vector<MaterialPropertyName>>(
158 "eigenstrain_names", {}, "List of eigenstrains to be applied in this strain calculation");
159 params.
addParam<
bool>(
"use_automatic_differentiation",
160 false,
161 "Flag to use automatic differentiation (AD) objects when possible");
162
163 params.
addParam<MaterialPropertyName>(
164 "global_strain",
165 "Name of the global strain material to be applied in this strain calculation. "
166 "The global strain tensor is constant over the whole domain and allows visualization "
167 "of the deformed shape with the periodic BC");
168
169
170 params.
addParam<std::vector<AuxVariableName>>(
"save_in", {},
"The displacement residuals");
171 params.
addParam<std::vector<AuxVariableName>>(
172 "diag_save_in", {}, "The displacement diagonal preconditioner terms");
175 "Methods to calculate the finite strain and rotation increments");
177
178
179 MooseEnum planarFormulationType(
"NONE WEAK_PLANE_STRESS PLANE_STRAIN GENERALIZED_PLANE_STRAIN",
180 "NONE");
182 "planar_formulation", planarFormulationType, "Out-of-plane stress/strain formulation");
183 params.
addParam<VariableName>(
"scalar_out_of_plane_strain",
184 "Scalar variable for the out-of-plane strain (in y "
185 "direction for 1D Axisymmetric or in z direction for 2D "
186 "Cartesian problems)");
187 params.
addParam<VariableName>(
"out_of_plane_strain",
188 "Variable for the out-of-plane strain for plane stress models");
189 MooseEnum outOfPlaneDirection(
"x y z",
"z");
191 "out_of_plane_direction", outOfPlaneDirection, "The direction of the out-of-plane strain.");
193 "out_of_plane_pressure",
194 "Function used to prescribe pressure (applied toward the body) in the out-of-plane direction "
195 "(y for 1D Axisymmetric or z for 2D Cartesian problems)",
196 "This has been replaced by 'out_of_plane_pressure_function'");
198 "out_of_plane_pressure_function",
199 "Function used to prescribe pressure (applied toward the body) in the out-of-plane direction "
200 "(y for 1D Axisymmetric or z for 2D Cartesian problems)");
202 "pressure_factor",
203 "Scale factor applied to prescribed out-of-plane pressure (both material and function)");
204 params.
addParam<MaterialPropertyName>(
"out_of_plane_pressure_material",
205 "0",
206 "Material used to prescribe pressure (applied toward the "
207 "body) in the out-of-plane direction");
208 params.
addParamNamesToGroup(
"planar_formulation scalar_out_of_plane_strain out_of_plane_pressure "
209 "out_of_plane_pressure_material out_of_plane_pressure_function "
210 "pressure_factor out_of_plane_direction out_of_plane_strain",
211 "Out-of-plane stress/strain");
212
213
216 "Add scalar quantity output for stress and/or strain");
217
219 "material_output_order",
221 "Specifies the order of the FE shape function to use for this variable.");
222
224 "material_output_family",
226 "Specifies the family of FE shape functions to use for this variable.");
228 "Output");
229 params.
addParam<
bool>(
"verbose",
false,
"Display extra information.");
230
232 false,
233 "If true use the new "
234 "LagrangianStressDiverence kernels.");
235
237 "compatibility_mode",
238 false,
239 "If true, configure the Lagrangian kernel system to reproduce the OLD "
240 "(StressDivergenceTensors + ComputeFiniteStrain) results bit-for-bit when wrapping an "
241 "old-style ComputeStressBase material like ComputeMultiPlasticityStress. Implies "
242 "`new_system = true` and `formulation = TOTAL`; auto-adds ComputeLagrangianWrappedStress "
243 "around the user-supplied stress material; sets `kinematic_approximation` from "
244 "`decomposition_method`; sets `F_bar_mode = incremental` when "
245 "`volumetric_locking_correction = true`; redirects `stress` / `mechanical_strain` output "
246 "requests to the equivalent NEW-system properties (`cauchy_stress` / "
247 "`rotated_mechanical_strain`).");
248
249 MooseEnum formulationType(
"TOTAL UPDATED",
"TOTAL");
251 formulationType,
252 "Select between the total Lagrangian (TOTAL) "
253 "and updated Lagrangian (UPDATED) formulations "
254 "for the new kernel system.");
255
256 MooseEnum kinematicApproximation(
"linear quadratic rashid_approximate rashid_eigen",
"linear");
258 "kinematic_approximation",
259 kinematicApproximation,
260 "Approximation used by the Lagrangian strain calculator to convert the incremental "
261 "deformation gradient into the strain and vorticity increments (large deformation only).");
262
264 "generalized_midpoint_alpha",
265 1.0,
266 "generalized_midpoint_alpha >= 0.5 & generalized_midpoint_alpha <= 1.0",
267 "Generalized midpoint weight for the deformation gradient in the Lagrangian strain "
268 "calculator. 1.0 = backward Euler (default), 0.5 = midpoint rule.");
269
270 MooseEnum volumetricLockingCorrectionMode(
"total incremental",
"total");
272 "volumetric_locking_correction_mode",
273 volumetricLockingCorrectionMode,
274 "Volumetric part averaged by the F-bar volumetric locking correction in the Lagrangian "
275 "strain calculator: the total (default) or incremental deformation gradient.");
276
279 "volumetric_locking_correction kinematic_approximation "
280 "generalized_midpoint_alpha volumetric_locking_correction_mode",
281 "Strain");
283 "Lagrangian formulation");
284
285 return params;
286}
static InputParameters validParams()
static MooseEnum decompositionType()
static MultiMooseEnum outputPropertiesType()
static MultiMooseEnum materialOutputOrders()
static MultiMooseEnum materialOutputFamilies()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real