- low_order_refinedFalseSet usage of Low-Order Refined solver.
Default:False
C++ Type:bool
Controllable:No
Description:Set usage of Low-Order Refined solver.
- order2Degree of the Chebyshev polynomial (1-4).
Default:2
C++ Type:int
Controllable:No
Description:Degree of the Chebyshev polynomial (1-4).
- 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.
MFEMOperatorChebyshevSmoother
Overview
Defines and builds an mfem::OperatorChebyshevSmoother solver. Chebyshev smoothing applies a polynomial chosen to reduce error components over a target spectral interval of the diagonally scaled operator D^{-1}A. The smoother estimates the maximum eigenvalue of D^{-1}A automatically so that this interval can be selected from the operator supplied at setup time.
This object is a good candidate to be used as a smoother inside MFEMGeometricMultigridSolver.
Example Input File Syntax
[Solvers<<<{"href": "../../../syntax/Solvers/index.html"}>>>]
[boomeramg]
type = MFEMHypreBoomerAMG<<<{"description": "Hypre BoomerAMG solver and preconditioner for the iterative solution of MFEM equation systems.", "href": "MFEMHypreBoomerAMG.html"}>>>
print_level<<<{"description": "Set the solver verbosity."}>>> = 0
[]
[coarse]
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."}>>> = boomeramg
l_max_its<<<{"description": "Set the maximum number of iterations."}>>> = 10
l_tol<<<{"description": "Set the relative tolerance."}>>> = 1e-2
print_level<<<{"description": "Set the solver verbosity."}>>> = -1
[]
[chebyshev]
type = MFEMOperatorChebyshevSmoother<<<{"description": "Chebyshev polynomial smoother backed by mfem::OperatorChebyshevSmoother. Symmetric positive definite by construction; the maximum eigenvalue of D^{-1}A is estimated automatically via a power method. Suitable as a multigrid smoother.", "href": "MFEMOperatorChebyshevSmoother.html"}>>>
order<<<{"description": "Degree of the Chebyshev polynomial (1-4)."}>>> = 2
[]
[pmg]
type = MFEMGeometricMultigridSolver<<<{"description": "Geometric (p-)multigrid preconditioner backed by mfem::GeometricMultigrid. Requires a linear equation system, an MFEMFESpaceHierarchy, and per-level smoother objects.", "href": "MFEMGeometricMultigridSolver.html"}>>>
variable<<<{"description": "Name of the trial variable this preconditioner acts on."}>>> = concentration
smoothers<<<{"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)."}>>> = chebyshev
coarse_solver<<<{"description": "Name of the LinearSolverBase used on the coarsest level."}>>> = coarse
[]
[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."}>>> = pmg
l_tol<<<{"description": "Set the relative tolerance."}>>> = 1e-10
l_max_its<<<{"description": "Set the maximum number of iterations."}>>> = 200
[]
[](test/tests/mfem/solvers/pmg_diffusion.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.