www.mooseframework.org
Functions
ComputeMultiPlasticityStress.C File Reference

Go to the source code of this file.

Functions

template<>
InputParameters validParams< ComputeMultiPlasticityStress > ()
 

Function Documentation

template<>
InputParameters validParams< ComputeMultiPlasticityStress > ( )

Definition at line 18 of file ComputeMultiPlasticityStress.C.

19 {
20  InputParameters params = validParams<ComputeStressBase>();
22  params.addClassDescription("Base class for multi-surface finite-strain plasticity");
23  params.addRangeCheckedParam<unsigned int>("max_NR_iterations",
24  20,
25  "max_NR_iterations>0",
26  "Maximum number of Newton-Raphson iterations allowed");
27  params.addRequiredParam<Real>("ep_plastic_tolerance",
28  "The Newton-Raphson process is only deemed "
29  "converged if the plastic strain increment "
30  "constraints have L2 norm less than this.");
31  params.addRangeCheckedParam<Real>(
32  "min_stepsize",
33  0.01,
34  "min_stepsize>0 & min_stepsize<=1",
35  "If ordinary Newton-Raphson + line-search fails, then the applied strain increment is "
36  "subdivided, and the return-map is tried again. This parameter is the minimum fraction of "
37  "applied strain increment that may be applied before the algorithm gives up entirely");
38  params.addRangeCheckedParam<Real>("max_stepsize_for_dumb",
39  0.01,
40  "max_stepsize_for_dumb>0 & max_stepsize_for_dumb<=1",
41  "If your deactivation_scheme is 'something_to_dumb', then "
42  "'dumb' will only be used if the stepsize falls below this "
43  "value. This parameter is useful because the 'dumb' scheme is "
44  "computationally expensive");
45  MooseEnum deactivation_scheme("optimized safe dumb optimized_to_safe safe_to_dumb "
46  "optimized_to_safe_to_dumb optimized_to_dumb",
47  "optimized");
48  params.addParam<MooseEnum>(
49  "deactivation_scheme",
50  deactivation_scheme,
51  "Scheme by which constraints are deactivated. (NOTE: This is irrelevant if there is only "
52  "one yield surface.) safe: return to the yield surface and then deactivate constraints with "
53  "negative plasticity multipliers. optimized: deactivate a constraint as soon as its "
54  "plasticity multiplier becomes negative. dumb: iteratively try all combinations of active "
55  "constraints until the solution is found. You may specify fall-back options. Eg "
56  "optimized_to_safe: first use 'optimized', and if that fails, try the return with 'safe'.");
57  params.addParam<RealVectorValue>(
58  "transverse_direction",
59  "If this parameter is provided, before the return-map algorithm is "
60  "called a rotation is performed so that the 'z' axis in the new "
61  "frame lies along the transverse_direction in the original frame. "
62  "After returning, the inverse rotation is performed. The "
63  "transverse_direction will itself rotate with large strains. This "
64  "is so that transversely-isotropic plasticity models may be easily "
65  "defined in the frame where the isotropy holds in the x-y plane.");
66  params.addParam<bool>("ignore_failures",
67  false,
68  "The return-map algorithm will return with the best admissible "
69  "stresses and internal parameters that it can, even if they don't "
70  "fully correspond to the applied strain increment. To speed "
71  "computations, this flag can be set to true, the max_NR_iterations "
72  "set small, and the min_stepsize large.");
73  MooseEnum tangent_operator("elastic linear nonlinear", "nonlinear");
74  params.addParam<MooseEnum>("tangent_operator",
75  tangent_operator,
76  "Type of tangent operator to return. 'elastic': return the "
77  "elasticity tensor. 'linear': return the consistent tangent operator "
78  "that is correct for plasticity with yield functions linear in "
79  "stress. 'nonlinear': return the full, general consistent tangent "
80  "operator. The calculations assume the hardening potentials are "
81  "independent of stress and hardening parameters.");
82  params.addParam<bool>("perform_finite_strain_rotations",
83  true,
84  "Tensors are correctly rotated in "
85  "finite-strain simulations. For "
86  "optimal performance you can set "
87  "this to 'false' if you are only "
88  "ever using small strains");
89  params.addClassDescription("Material for multi-surface finite-strain plasticity");
90  return params;
91 }
InputParameters validParams< ComputeStressBase >()
InputParameters validParams< MultiPlasticityDebugger >()