23 MultiMooseEnum moose_types(
"TIME SCALAR FUNCTION VARIABLE MATERIAL");
27 "input_types", moose_types,
"Type of each MOOSE data to be used as NEML2 input variable");
28 params.addParam<std::vector<std::string>>(
29 "inputs", {},
"List of NEML2 input variables corresponding to each MOOSE data.");
30 params.addParam<std::vector<std::string>>(
33 "NEML2 kernels defined in MOOSE that provides input data. The object name must match the " 34 "input variable name.");
39 "Type of each MOOSE data to be used as NEML2 model parameter");
40 params.addParam<std::vector<std::string>>(
41 "parameters", {},
"List of NEML2 model parameters corresponding to each MOOSE data.");
44 params.addParam<
bool>(
"auto_output",
46 "Whether to automatically retrieve all NEML2 output variables as MOOSE " 47 "material properties.");
50 params.addParam<std::vector<std::vector<std::string>>>(
53 "List of pairs of NEML2 variables to take derivatives (i.e., first in the pair w.r.t. the " 54 "second in the pair).");
57 params.addParam<std::vector<std::vector<std::string>>>(
58 "parameter_derivatives",
60 "List of pairs of NEML2 variables to take derivatives (i.e., first in the pair w.r.t. the " 61 "second in the pair).");
64 params.addParam<std::vector<std::string>>(
65 "skip_input_variables",
67 "List of NEML2 variables to skip when setting up the model input. If an input variable is " 68 "skipped, its value will stay zero. If a required input variable is skipped, an error " 70 params.addParam<
bool>(
"verbose",
72 "Whether to print additional information about the NEML2 model at the " 73 "beginning of the simulation");
75 params.addParam<std::vector<MaterialPropertyName>>(
78 "List of MOOSE material properties to be initialized. Each these properties must correspond " 79 "to a stateful NEML2 variable (which appears on both the input old state sub-axis and the " 80 "output state sub-axis). These MOOSE material properties will be initialized with the values " 81 "of properties specified in the initialize_output_values list.");
82 params.addParam<std::vector<MaterialPropertyName>>(
83 "initialize_output_values",
85 "List of MOOSE material properties whose initial values (evaluated at the 0th time step) " 86 "will be used to initialize stateful properties. See the description of initialize_outputs " 89 params.addParam<std::vector<MaterialPropertyName>>(
92 "List of MOOSE material properties to export which correspond to NEML2 output variables or " 93 "output derivatives. Each material property's export targets can be specified by " 94 "export_output_targets. The default export target is 'none'.");
95 params.addParam<std::vector<std::vector<OutputName>>>(
96 "export_output_targets",
98 "The export targets corresponding to each MOOSE material property specified in " 108 params.addClassDescription(
"Parse a NEML2 input file");
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")
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.