AddMFEMSolverAction

Summary

Set the Moose::MFEM solver and the solver options.

Overview

Action called to add a linear solver to an MFEM problem, parsing content inside a Solver block in the user input. Only has an effect if the Problem type is set to MFEMProblem.

Example Input File Syntax

[Problem<<<{"href": "../../../syntax/Problem/index.html"}>>>]
  type = MFEMProblem
[]

[FESpaces<<<{"href": "../../../syntax/FESpaces/index.html"}>>>]
  [HCurlFESpace]
    type = MFEMVectorFESpace<<<{"description": "Convenience class to construct vector finite element spaces, abstracting away some of the mathematical complexity of specifying the dimensions.", "href": "../fespaces/MFEMVectorFESpace.html"}>>>
    fec_type<<<{"description": "Specifies the family of FE shape functions."}>>> = ND
    fec_order<<<{"description": "Order of the FE shape function to use."}>>> = FIRST
  []
  [HDivFESpace]
    type = MFEMVectorFESpace<<<{"description": "Convenience class to construct vector finite element spaces, abstracting away some of the mathematical complexity of specifying the dimensions.", "href": "../fespaces/MFEMVectorFESpace.html"}>>>
    fec_type<<<{"description": "Specifies the family of FE shape functions."}>>> = RT
    fec_order<<<{"description": "Order of the FE shape function to use."}>>> = CONSTANT
  []
[]

[Preconditioner<<<{"href": "../../../syntax/Preconditioner/index.html"}>>>]
  [ams]
    type = MFEMHypreAMS<<<{"description": "Hypre auxiliary-space Maxwell solver and preconditioner for the iterative solution of MFEM equation systems.", "href": "../solvers/MFEMHypreAMS.html"}>>>
    fespace<<<{"description": "H(curl) FESpace to use in HypreAMS setup."}>>> = HCurlFESpace
  []
[]

[Solver<<<{"href": "../../../syntax/Solver/index.html"}>>>]
  type = MFEMHypreGMRES
  preconditioner = ams
  l_tol = 1e-6
[]
(test/tests/mfem/kernels/curlcurl.i)

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

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

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.

Advanced Parameters