NEML2ActionCommon

Parse a NEML2 input file

commentnote

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.

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

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • async_dispatchTrueWhether to use asynchronous dispatch.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to use asynchronous dispatch.

  • cli_argsAdditional command line arguments to use when parsing the NEML2 input file.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Additional command line arguments to use when parsing the NEML2 input file.

  • 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

    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.

  • export_output_targetsThe export targets corresponding to each MOOSE material property specified in export_outputs.

    C++ Type:std::vector<std::vector<OutputName>>

    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'.

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • initialize_output_valuesList of MOOSE material properties whose initial values (evaluated at the 0th time step) will be used to initialize stateful properties. See the description of initialize_outputs for more details.

    C++ Type:std::vector<MaterialPropertyName>

    Unit:(no unit assumed)

    Controllable:No

    Description:List of MOOSE material properties whose initial values (evaluated at the 0th time step) will be used to initialize stateful properties. See the description of initialize_outputs for more details.

  • initialize_outputsList of MOOSE material properties to be initialized. Each these properties must correspond to a stateful NEML2 variable (which appears on both the input old state sub-axis and the output state sub-axis). These MOOSE material properties will be initialized with the values of properties specified in the initialize_output_values list.

    C++ Type:std::vector<MaterialPropertyName>

    Unit:(no unit assumed)

    Controllable:No

    Description:List of MOOSE material properties to be initialized. Each these properties must correspond to a stateful NEML2 variable (which appears on both the input old state sub-axis and the output state sub-axis). These MOOSE material properties will be initialized with the values of properties specified in the initialize_output_values list.

  • inputPath to the NEML2 input file containing the NEML2 model(s).

    C++ Type:DataFileName

    Controllable:No

    Description:Path to the NEML2 input file containing the NEML2 model(s).

  • 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

    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_typesMOOSE types used to hold the NEML2 variable derivatives

    C++ Type:MultiMooseEnum

    Options:MATERIAL, VARIABLE, POSTPROCESSOR

    Controllable:No

    Description:MOOSE types used to hold the NEML2 variable derivatives

  • moose_derivativesList of MOOSE data used to hold the derivative of the material model.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of MOOSE data used to hold the derivative of the material model.

  • moose_input_typesType of each MOOSE data to be used as NEML2 input variable

    C++ Type:MultiMooseEnum

    Options:MATERIAL, VARIABLE, POSTPROCESSOR

    Controllable:No

    Description:Type of each MOOSE data to be used as NEML2 input variable

  • moose_inputsList of MOOSE data to be used as inputs of the material model.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of MOOSE data to be used as inputs of the material model.

  • moose_output_typesMOOSE types used to hold the NEML2 output variables

    C++ Type:MultiMooseEnum

    Options:MATERIAL, VARIABLE, POSTPROCESSOR

    Controllable:No

    Description:MOOSE types used to hold the NEML2 output variables

  • moose_outputsList of MOOSE data used to hold the output of the material model.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of MOOSE data used to hold the output of the material model.

  • moose_parameter_derivative_typesMOOSE types used to hold the NEML2 parameter derivatives

    C++ Type:MultiMooseEnum

    Options:MATERIAL, VARIABLE, POSTPROCESSOR

    Controllable:No

    Description:MOOSE types used to hold the NEML2 parameter derivatives

  • moose_parameter_derivativesList of MOOSE data used to hold the derivative of the material model w.r.t. model parameters.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of MOOSE data used to hold the derivative of the material model w.r.t. model parameters.

  • moose_parameter_typesType of each MOOSE data to be used as NEML2 model parameter

    C++ Type:MultiMooseEnum

    Options:MATERIAL, VARIABLE, POSTPROCESSOR

    Controllable:No

    Description:Type of each MOOSE data to be used as NEML2 model parameter

  • moose_parametersList of MOOSE data to be used as parameters of the material model.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of MOOSE data to be used as parameters of the material model.

  • neml2_derivativesList 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>>

    Controllable:No

    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_inputsList of NEML2 input variables corresponding to each MOOSE data.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of NEML2 input variables corresponding to each MOOSE data.

  • neml2_outputsList of NEML2 output variables corresponding to each MOOSE data.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of NEML2 output variables corresponding to each MOOSE data.

  • neml2_parameter_derivativesList 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>>

    Controllable:No

    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_parametersList of NEML2 model parameters corresponding to each MOOSE data.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of NEML2 model parameters corresponding to each MOOSE data.

  • schedulerNEML2 scheduler to use to run the model. If not specified no scheduler is used and MOOSE will pass all the constitutive updates to the provided device at once.

    C++ Type:std::string

    Controllable:No

    Description:NEML2 scheduler to use to run the model. If not specified no scheduler is used and MOOSE will pass all the constitutive updates to the provided device at once.

  • skip_inputsList of NEML2 variables to skip error checking 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>

    Controllable:No

    Description:List of NEML2 variables to skip error checking 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_variablesList 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>

    Controllable:No

    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.

  • verboseTrueWhether to print additional information about the NEML2 model at the beginning of the simulation

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to print additional information about the NEML2 model at the beginning of the simulation

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

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.

Advanced Parameters