NEML2TensorCompute

The NEML2 library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Compute object wrapper for a NEML2 model)

Use a NEML2 model to perform a tensor compute.

Overview

Maps Marlin buffers to NEML2 model inputs, executes the model, and maps model outputs back to Marlin buffers. Configure the NEML2 input file and model via "neml2_input_file" and "neml2_model". Use "marlin_inputs", "neml2_inputs", "neml2_outputs", and "marlin_outputs" to define the mappings.

Example Input File Syntax

[TensorComputes<<<{"href": "../../syntax/TensorComputes/index.html"}>>>]
  [Initialize<<<{"href": "../../syntax/TensorComputes/Initialize/index.html"}>>>]
    [C]
      type = NEML2TensorCompute<<<{"description": "The `NEML2` library is required but not enabled. Refer to the documentation for guidance on how to enable it. (Original description: Compute object wrapper for a NEML2 model)", "href": "NEML2TensorCompute.html"}>>>
      neml2_input_file<<<{"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).)"}>>> = neml2_input.i
      neml2_model<<<{"description": "Model name"}>>> = multiply
      marlin_inputs<<<{"description": "Marlin buffer names that go into the NEML2 model."}>>> = 'A B'
      neml2_inputs<<<{"description": "NEML2 variable names corresponding to the `marlin_inputs`."}>>> = 'forces/A forces/B'
      neml2_outputs<<<{"description": "NEML2 model outputs."}>>> = 'state/C'
      marlin_outputs<<<{"description": "Marlin buffer name corresponding to the `neml2_outputs`."}>>> = 'C'
    []
  []
[]
(test/tests/neml2/scalar.i)

Input Parameters

  • neml2_input_fileThe `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

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

  • neml2_modelModel name

    C++ Type:std::string

    Controllable:No

    Description:Model name

Required Parameters

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

  • marlin_inputsMarlin buffer names that go into the NEML2 model.

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

    Controllable:No

    Description:Marlin buffer names that go into the NEML2 model.

  • marlin_outputsMarlin buffer name corresponding to the `neml2_outputs`.

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

    Controllable:No

    Description:Marlin buffer name corresponding to the `neml2_outputs`.

  • neml2_inputsNEML2 variable names corresponding to the `marlin_inputs`.

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

    Controllable:No

    Description:NEML2 variable names corresponding to the `marlin_inputs`.

  • neml2_outputsNEML2 model outputs.

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

    Controllable:No

    Description:NEML2 model outputs.

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.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files