- inputThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Path to the NEML2 input file containing the NEML2 model(s).)
C++ Type:DataFileName
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Path to the NEML2 input file containing the NEML2 model(s).)
NEML2ActionCommon
The NEML2
library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Parse a NEML2 input file)
This page is developer-facing. Users please refer to the NEML2 syntax documentation.
Overview
This action corresponds to the common area directly underneath the [NEML2]
block in the input file. It defines common parameters that are also applied to each of the sub-block.
The only responsibility of this action is to parse the given NEML2 input file specified by the "input" and load all input options into the NEML2 factory, so that other objects can create NEML2 models as needed.
This action does not construct any object by itself. All NEML2 object construction is handled by the sub-blocks which correspond to NEML2Action.
Input Parameters
- devicecpuDevice on which to evaluate the NEML2 model. The string supplied must follow the following schema: (cpu|cuda)[:
] where cpu or cuda specifies the device type, and : optionally specifies a device index. For example, device='cpu' sets the target compute device to be CPU, and device='cuda:1' sets the target compute device to be CUDA with device ID 1. Default:cpu
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Device on which to evaluate the NEML2 model. The string supplied must follow the following schema: (cpu|cuda)[:
] where cpu or cuda specifies the device type, and : optionally specifies a device index. For example, device='cpu' sets the target compute device to be CPU, and device='cuda:1' sets the target compute device to be CUDA with device ID 1. - enable_ADFalseSet to true to enable PyTorch AD. When set to false (default), no function graph or gradient is computed, which speeds up model evaluation.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Set to true to enable PyTorch AD. When set to false (default), no function graph or gradient is computed, which speeds up model evaluation.
- execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
Default:TIMESTEP_END
C++ Type:ExecFlagEnum
Unit:(no unit assumed)
Controllable:No
Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
- export_output_targetsThe export targets corresponding to each MOOSE material property specified in export_outputs.
C++ Type:std::vector<std::vector<OutputName>>
Unit:(no unit assumed)
Controllable:No
Description:The export targets corresponding to each MOOSE material property specified in export_outputs.
- export_outputsList of MOOSE material properties to export which correspond to NEML2 output variables or output derivatives. Each material property's export targets can be specified by export_output_targets. The default export target is 'none'.
C++ Type:std::vector<MaterialPropertyName>
Unit:(no unit assumed)
Controllable:No
Description:List of MOOSE material properties to export which correspond to NEML2 output variables or output derivatives. Each material property's export targets can be specified by export_output_targets. The default export target is 'none'.
- modelName of the NEML2 model, i.e., the string inside the brackets [] in the NEML2 input file that corresponds to the model you want to use.
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Name of the NEML2 model, i.e., the string inside the brackets [] in the NEML2 input file that corresponds to the model you want to use.
- moose_derivative_typesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: MOOSE types used to hold the NEML2 variable derivatives)
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: MOOSE types used to hold the NEML2 variable derivatives)
- moose_derivativesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data used to hold the derivative of the material model.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data used to hold the derivative of the material model.)
- moose_input_typesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Type of each MOOSE data to be used as NEML2 input variable)
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Type of each MOOSE data to be used as NEML2 input variable)
- moose_inputsThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data to be used as inputs of the material model.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data to be used as inputs of the material model.)
- moose_output_typesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: MOOSE types used to hold the NEML2 output variables)
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: MOOSE types used to hold the NEML2 output variables)
- moose_outputsThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data used to hold the output of the material model.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data used to hold the output of the material model.)
- moose_parameter_derivative_typesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: MOOSE types used to hold the NEML2 parameter derivatives)
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: MOOSE types used to hold the NEML2 parameter derivatives)
- moose_parameter_derivativesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data used to hold the derivative of the material model w.r.t. model parameters.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data used to hold the derivative of the material model w.r.t. model parameters.)
- moose_parameter_typesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Type of each MOOSE data to be used as NEML2 model parameter)
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Type of each MOOSE data to be used as NEML2 model parameter)
- moose_parametersThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data to be used as parameters of the material model.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of MOOSE data to be used as parameters of the material model.)
- neml2_derivativesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of pairs of NEML2 variables to take derivatives (i.e., first in the pair w.r.t. the second in the pair).)
C++ Type:std::vector<std::vector<std::string>>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of pairs of NEML2 variables to take derivatives (i.e., first in the pair w.r.t. the second in the pair).)
- neml2_inputsThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 input variables corresponding to each MOOSE data.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 input variables corresponding to each MOOSE data.)
- neml2_outputsThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 output variables corresponding to each MOOSE data.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 output variables corresponding to each MOOSE data.)
- neml2_parameter_derivativesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of pairs of NEML2 variables to take derivatives (i.e., first in the pair w.r.t. the second in the pair).)
C++ Type:std::vector<std::vector<std::string>>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of pairs of NEML2 variables to take derivatives (i.e., first in the pair w.r.t. the second in the pair).)
- neml2_parametersThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 model parameters corresponding to each MOOSE data.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 model parameters corresponding to each MOOSE data.)
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- skip_inputsThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 variables to skip when setting up the model input. If an input variable is skipped, its value will stay zero. If a required input variable is not skipped, an error will be raised.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 variables to skip when setting up the model input. If an input variable is skipped, its value will stay zero. If a required input variable is not skipped, an error will be raised.)
- skip_variablesThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 variables to skip when setting up the model input. If an input variable is skipped, its value will stay zero. If a required input variable is not skipped, an error will be raised.)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: List of NEML2 variables to skip when setting up the model input. If an input variable is skipped, its value will stay zero. If a required input variable is not skipped, an error will be raised.)
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
- verboseTrueThe `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Whether to print additional information about the NEML2 model at the beginning of the simulation)
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Whether to print additional information about the NEML2 model at the beginning of the simulation)
Optional Parameters
- allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
Default:0
C++ Type:int
Unit:(no unit assumed)
Controllable:No
Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
- force_postauxFalseForces the UserObject to be executed in POSTAUX
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Forces the UserObject to be executed in POSTAUX
- force_preauxFalseForces the UserObject to be executed in PREAUX
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Forces the UserObject to be executed in PREAUX
- force_preicFalseForces the UserObject to be executed in PREIC during initial setup
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Forces the UserObject to be executed in PREIC during initial setup
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
These input parameters correspond to the common area under the [NEML2]
block. The usage of the [NEML2]
block is explained in details in the NEML2 syntax documentation.