Classes | Functions
MultiParameterPlasticityStressUpdate.h File Reference

Go to the source code of this file.


class  MultiParameterPlasticityStressUpdate
 MultiParameterPlasticityStressUpdate performs the return-map algorithm and associated stress updates for plastic models where the yield function and flow directions depend on multiple parameters (called "stress_params" in the documentation and sp in the code) that are themselves functions of stress. More...
struct  MultiParameterPlasticityStressUpdate::yieldAndFlow
 Struct designed to hold info about a single yield function and its derivatives, as well as the flow directions. More...


InputParameters validParams< MultiParameterPlasticityStressUpdate > ()

Function Documentation

InputParameters validParams< MultiParameterPlasticityStressUpdate > ( )

Definition at line 14 of file MultiParameterPlasticityStressUpdate.C.

Referenced by validParams< CappedMohrCoulombStressUpdate >(), validParams< TensileStressUpdate >(), and validParams< TwoParameterPlasticityStressUpdate >().

15 {
16  InputParameters params = validParams<StressUpdateBase>();
17  params.addClassDescription("Return-map and Jacobian algorithms for plastic models where the "
18  "yield function and flow directions depend on multiple functions of "
19  "stress");
20  params.addParam<std::string>("base_name",
21  "Optional parameter that allows the user to define "
22  "multiple plastic models on the same block, and the "
23  "plastic_internal_parameter, plastic_yield_function, "
24  "plastic_NR_iterations and plastic_linesearch_needed Material "
25  "Properties will be prepended by this string");
26  params.addRangeCheckedParam<unsigned int>(
27  "max_NR_iterations",
28  20,
29  "max_NR_iterations>0",
30  "Maximum number of Newton-Raphson iterations allowed during the return-map algorithm");
31  params.addParam<bool>("perform_finite_strain_rotations",
32  false,
33  "Tensors are correctly rotated "
34  "in finite-strain simulations. "
35  "For optimal performance you can "
36  "set this to 'false' if you are "
37  "only ever using small strains");
38  params.addRequiredParam<Real>(
39  "smoothing_tol",
40  "Intersections of the yield surfaces will be smoothed by this amount (this "
41  "is measured in units of stress). Often this is related to other physical "
42  "parameters (eg, 0.1*cohesion) but it is important to set this small enough "
43  "so that the individual yield surfaces do not mix together in the smoothing "
44  "process to produce a result where no stress is admissible (for example, "
45  "mixing together tensile and compressive failure envelopes).");
46  params.addRequiredParam<Real>("yield_function_tol",
47  "The return-map process will be deemed to have converged if all "
48  "yield functions are within yield_function_tol of zero. If this "
49  "is set very low then precision-loss might be encountered: if the "
50  "code detects precision loss then it also deems the return-map "
51  "process has converged.");
52  MooseEnum tangent_operator("elastic nonlinear", "nonlinear");
53  params.addParam<Real>("min_step_size",
54  1.0,
55  "In order to help the Newton-Raphson procedure, the applied strain "
56  "increment may be applied in sub-increments of size greater than this "
57  "value. Usually it is better for Moose's nonlinear convergence to "
58  "increase max_NR_iterations rather than decrease this parameter.");
59  params.addParam<bool>("warn_about_precision_loss",
60  false,
61  "Output a message to the console every "
62  "time precision-loss is encountered "
63  "during the Newton-Raphson process");
64  params.addParam<std::vector<Real>>("admissible_stress",
65  "A single admissible value of the value of the stress "
66  "parameters for internal parameters = 0. This is used "
67  "to initialize the return-mapping algorithm during the first "
68  "nonlinear iteration. If not given then it is assumed that "
69  "stress parameters = 0 is admissible.");
70  return params;
71 }
InputParameters validParams< StressUpdateBase >()