www.mooseframework.org
Classes | Functions
MechanicsActionPD.h File Reference

Go to the source code of this file.

Classes

class  MechanicsActionPD
 Action class to setup peridynamic models for solid mechanics problems. More...
 

Functions

template<>
InputParameters validParams< MechanicsActionPD > ()
 

Function Documentation

◆ validParams< MechanicsActionPD >()

template<>
InputParameters validParams< MechanicsActionPD > ( )

Definition at line 27 of file MechanicsActionPD.C.

28 {
29  InputParameters params = validParams<Action>();
30  params.addClassDescription("Class for setting up peridynamic kernels");
31 
32  params.addRequiredParam<std::vector<VariableName>>(
33  "displacements", "Nonlinear variable names for the displacements");
34  MooseEnum formulation_option("BOND ORDINARY_STATE NONORDINARY_STATE");
35  params.addRequiredParam<MooseEnum>("formulation",
36  formulation_option,
37  "Available peridynamic formulation options: " +
38  formulation_option.getRawNames());
39  MooseEnum stabilization_option("FORCE SELF", "SELF");
40  params.addParam<MooseEnum>(
41  "stabilization",
42  stabilization_option,
43  "Available stabilization options for Non-Ordinary State Based Peridynamics: " +
44  stabilization_option.getRawNames());
45  params.addParam<bool>(
46  "full_jacobian",
47  false,
48  "Parameter to set whether to use full jacobian for state based formulation or not");
49  MooseEnum strain_type("SMALL FINITE", "SMALL");
50  params.addParam<MooseEnum>("strain", strain_type, "Strain formulation");
51  params.addParam<VariableName>("temperature", "Nonlinear variable name for the temperature");
52  params.addParam<VariableName>("out_of_plane_strain",
53  "Nonlinear variable name for the out_of_plane strain for "
54  "plane stress using SNOSPD formulation");
55  params.addParam<std::vector<SubdomainName>>("block",
56  "List of ids of the blocks (subdomains) that the "
57  "peridynamic mechanics kernel will be applied to");
58  params.addParam<std::vector<AuxVariableName>>("save_in", "The displacement residuals");
59  params.addParam<std::vector<AuxVariableName>>("diag_save_in",
60  "The displacement diagonal preconditioner terms");
61  params.addParam<std::vector<MaterialPropertyName>>(
62  "eigenstrain_names",
63  "List of eigenstrains to be coupled in non-ordinary state-based mechanics kernels");
64 
65  return params;
66 }