- assembly_levelsAssembly level for each level in the hierarchy. Valid values: 'legacy', 'full', 'element', 'partial', 'none'. May have length 1 (used on all N levels) or N.
C++ Type:std::vector<std::string>
Controllable:No
Description:Assembly level for each level in the hierarchy. Valid values: 'legacy', 'full', 'element', 'partial', 'none'. May have length 1 (used on all N levels) or N.
- coarse_solverName of the LinearSolverBase used on the coarsest level.
C++ Type:MFEMSolverName
Controllable:No
Description:Name of the LinearSolverBase used on the coarsest level.
- fespace_hierarchyName of the MFEMFESpaceHierarchy that defines the level structure.
C++ Type:std::string
Controllable:No
Description:Name of the MFEMFESpaceHierarchy that defines the level structure.
- smoothersNames of LinearSolverBase objects used as smoothers on the interior levels (levels 1 to N-1). May have length 1 (used on all interior levels) or N-1 (one per interior level, ordered coarse-to-fine).
C++ Type:std::vector<MFEMSolverName>
Controllable:No
Description:Names of LinearSolverBase objects used as smoothers on the interior levels (levels 1 to N-1). May have length 1 (used on all interior levels) or N-1 (one per interior level, ordered coarse-to-fine).
- variableName of the trial variable this preconditioner acts on.
C++ Type:std::string
Controllable:No
Description:Name of the trial variable this preconditioner acts on.
MFEMGeometricMultigridSolver
Overview
MFEMGeometricMultigridSolver defines a geometric multigrid preconditioner backed by mfem::GeometricMultigrid. It uses an MFEMFESpaceHierarchy to define the multigrid levels, a coarse-level solver, and one or more linear solvers as smoothers for the remaining levels.
The finest-level operator is supplied by the outer solver. Coarser level operators are rediscretized from the equation system on each hierarchy level using the requested "assembly_levels".
This solver is intended for linear, single-variable equation systems. Nonlinear equation systems and mixed bilinear form contributions are not supported.
Input Parameters
- low_order_refinedFalseSet usage of Low-Order Refined solver.
Default:False
C++ Type:bool
Controllable:No
Description:Set usage of Low-Order Refined solver.
- 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.
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.