16 #include "neml2/base/Factory.h" 17 #include "neml2/base/Parser.h" 35 params.addParam<std::vector<std::string>>(
39 params.addParam<std::vector<std::string>>(
46 "moose_parameter_types",
49 params.addParam<std::vector<std::string>>(
53 params.addParam<std::vector<std::string>>(
63 params.addParam<std::vector<std::string>>(
67 params.addParam<std::vector<std::string>>(
74 "moose_derivative_types",
77 params.addParam<std::vector<std::string>>(
81 "List of MOOSE data used to hold the derivative of the material model."));
82 params.addParam<std::vector<std::vector<std::string>>>(
86 "the pair w.r.t. the second in the pair)."));
90 "moose_parameter_derivative_types",
93 params.addParam<std::vector<std::string>>(
94 "moose_parameter_derivatives",
97 "w.r.t. model parameters."));
98 params.addParam<std::vector<std::vector<std::string>>>(
99 "neml2_parameter_derivatives",
102 "the pair w.r.t. the second in the pair)."));
105 params.addParam<std::vector<std::string>>(
109 "List of NEML2 variables to skip when setting up the model input. If an input variable " 110 "is skipped, its value will stay zero. If a required input variable is not skipped, an " 111 "error will be raised."));
112 params.addParam<
bool>(
"verbose",
115 "NEML2 model at the beginning of the simulation"));
117 params.addParam<std::vector<MaterialPropertyName>>(
118 "initialize_outputs",
120 "List of MOOSE material properties to be initialized. Each these properties must correspond " 121 "to a stateful NEML2 variable (which appears on both the input old state sub-axis and the " 122 "output state sub-axis). These MOOSE material properties will be initialized with the values " 123 "of properties specified in the initialize_output_values list.");
124 params.addParam<std::vector<MaterialPropertyName>>(
125 "initialize_output_values",
127 "List of MOOSE material properties whose initial values (evaluated at the 0th time step) " 128 "will be used to initialize stateful properties. See the description of initialize_outputs " 129 "for more details.");
131 params.addParam<std::vector<MaterialPropertyName>>(
134 "List of MOOSE material properties to export which correspond to NEML2 output variables or " 135 "output derivatives. Each material property's export targets can be specified by " 136 "export_output_targets. The default export target is 'none'.");
137 params.addParam<std::vector<std::vector<OutputName>>>(
138 "export_output_targets",
140 "The export targets corresponding to each MOOSE material property specified in " static InputParameters validParams()
static InputParameters validParams()
Parameters that can ONLY be specified under the common area.
Input parameters common to all block-restricted NEML2Actions.
registerMooseAction("MooseApp", NEML2ActionCommon, "parse_neml2")
std::string docstring(const std::string &desc)
Augment docstring if NEML2 is not enabled.
static InputParameters actionParams()
Parameters that can be specified under the NEML2Action common area.
void assertNEML2Enabled()
Assert that NEML2 is enabled.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type...
NEML2ActionCommon(const InputParameters &)
static InputParameters commonParams()
Parameters that can be specified EITHER under the common area OR under sub-blocks.