- fespaceH(div) FESpace to use in HypreADS setup.
C++ Type:MFEMFESpaceName
Controllable:No
Description:H(div) FESpace to use in HypreADS setup.
- low_order_refinedFalseSet usage of Low-Order Refined solver.
Default:False
C++ Type:bool
Controllable:No
Description:Set usage of Low-Order Refined solver.
- print_level2Set the solver verbosity.
Default:2
C++ Type:int
Controllable:No
Description:Set the solver verbosity.
- use_initial_guessFalseWhether to preserve the current MFEM solution vector as the initial guess for an iterative solver.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to preserve the current MFEM solution vector as the initial guess for an iterative solver.
MFEMHypreADS
Overview
Defines and builds an mfem::HypreADS solver to use as a preconditioner or solver to solve the MFEM equation system. Most effective for preconditioning and solving a grad-divergence problem when using Raviart-Thomas elements, in which case the FE space should be passed to the mfem::HypreADS solver during construction.
A Low-Order-Refined (LOR) version of this solver may be used instead by setting the parameter "low_order_refined" to true. Using an LOR solver improves performance for high polynomial order systems.
Example Input File Syntax
[FESpaces<<<{"href": "../../../syntax/FESpaces/index.html"}>>>]
[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
ordering<<<{"description": "Ordering style to use for vector DoFs."}>>> = "vdim"
[]
[]
[Preconditioner<<<{"href": "../../../syntax/Preconditioner/index.html"}>>>]
[ADS]
type = MFEMHypreADS<<<{"description": "Hypre auxiliary-space divergence solver and preconditioner for the iterative solution of MFEM equation systems.", "href": "MFEMHypreADS.html"}>>>
fespace<<<{"description": "H(div) FESpace to use in HypreADS setup."}>>> = HDivFESpace
[]
[]
[Solvers<<<{"href": "../../../syntax/Solvers/index.html"}>>>]
[main]
type = MFEMCGSolver<<<{"description": "MFEM native solver for the iterative solution of MFEM equation systems using the conjugate gradient method.", "href": "MFEMCGSolver.html"}>>>
preconditioner<<<{"description": "Optional choice of preconditioner to use."}>>> = ADS
l_tol<<<{"description": "Set the relative tolerance."}>>> = 1e-16
l_max_its<<<{"description": "Set the maximum number of iterations."}>>> = 1000
print_level<<<{"description": "Set the solver verbosity."}>>> = 2
[]
[](test/tests/mfem/kernels/graddiv.i)Input 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.