Multigrid solvers
Nodal projection
The following inputs are defined using the prefix nodal_proj
:
Description |
Type |
Default |
|
---|---|---|---|
verbose |
Verbosity of multigrid solver in nodal projection. |
Int |
0 |
bottom_verbose |
Verbosity of BiCGStab solver in nodal projection. |
Int |
0 |
mg_rtol |
Relative tolerance in nodal projection. |
Real |
1.e-11 |
mg_atol |
Absolute tolerance in nodal projection. |
Real |
1.e-14 |
maxiter |
Maximum number of iterations in the nodal projection. |
Int |
100 |
bottom_maxiter |
Maximum number of iterations in the nodal projection
bottom solver if using |
Int |
100 |
mg_max_coarsening_level |
Maximum number of coarser levels to allow in the nodal projection. If set to 0, the bottom solver will be called at the current level. |
Int |
100 |
bottom_solver |
Which bottom solver to use in the nodal projection. Options:
|
String |
bicgcg |
hypre_namespace |
Namespace to use in the nodal projection when using hypre to control hypre specific settings. It can be any string. |
String |
hypre |
hypre_interface |
Which interface to use in the nodal projection when using Options:
|
String |
ij |
MAC projection
The following inputs are defined using the prefix mac_proj
:
Description |
Type |
Default |
|
---|---|---|---|
verbose |
Verbosity of multigrid solver in MAC projection. |
Int |
0 |
bottom_verbose |
Verbosity of BiCGStab solver in MAC projection. |
Int |
0 |
mg_rtol |
Relative tolerance in MAC projection. |
Real |
1.e-11 |
mg_atol |
Absolute tolerance in MAC projection. |
Real |
1.e-14 |
maxiter |
Maximum number of iterations in the MAC projection. |
Int |
200 |
bottom_maxiter |
Maximum number of iterations in the MAC projection
bottom solver if using |
Int |
200 |
mg_max_coarsening_level |
Maximum number of coarser levels to allow in the MAC projection If set to 0, the bottom solver will be called at the current level. |
Int |
100 |
bottom_solver |
Which bottom solver to use in the MAC projection. Options:
|
String |
bicgcg |
hypre_namespace |
Namespace to use in the MAC projection when using |
String |
hypre |
hypre_interface |
Which interface to use in the MAC projection when using Options:
|
String |
ij |
Diffusion
The following inputs are defined using the prefix diffusion
:
Description |
Type |
Default |
|
---|---|---|---|
verbose |
Verbosity of linear solver for diffusion. |
Int |
0 |
bottom_verbose |
Verbosity of BiCGStab solver in diffusion. |
Int |
0 |
mg_rtol |
Relative tolerance in diffusion solver. |
Real |
1.e-11 |
mg_atol |
Absolute tolerance in diffusion solver. |
Real |
1.e-14 |
maxiter |
Maximum number of iterations in diffusion solver. |
Int |
100 |
bottom_maxiter |
Maximum number of iterations in diffusion solver
bottom solver if using |
Int |
100 |
mg_max_coarsening_level |
Maximum number of coarser levels to allow in diffusion solver. If set to 0, the bottom solver will be called at the current level. |
Int |
100 |
bottom_solver |
Which bottom solver to use for diffusion. Options:
|
String |
bicgcg |
Hypre Settings
hypre settings are specified using the following inputs which are read directly by AMReX when hypre is used as
the bottom solver for the MAC and/or nodal projections. By default, these inputs are defined using the
prefix hypre
, however different settings for the nodal and MAC projections can be used by specifying
a hypre_namespace
for each solver.
Warning
MFIX-Exa must be built with hypre enabled to use hypre as the bottom solver.
If hypre is used for the nodal and MAC projections, then either the
hypre_namespace
must be left as the default (hypre
) or unique name spaces must be provided for both.These inputs are all case-sensitive.
These inputs follow the typical approach for using hypre in MFIX-Exa where BoomerAMG is employed as a preconditioner and GMRES for the linear solver.
Description |
Type |
Default |
|
---|---|---|---|
hypre_preconditioner |
Type of preconditioner when using Options:
|
String |
none |
recompute_preconditioner |
Recompute preconditioner during runs. |
Bool |
true |
hypre_solver |
Type of hypre solver. Options:
|
String |
BoomerAMG |
verbose |
Verbosity of hypre. |
Int |
0 |
num_krylov |
Number of iterations. |
Int |
50 |
The following inputs are valid when using BoomerAMG
as a preconditioner or solver.
Description |
Type |
Default |
|
---|---|---|---|
bamg_agg_interp_type |
See |
Int |
4 |
bamg_agg_num_levels |
See |
Int |
0 |
bamg_agg_pmax_elmts |
See |
Int |
0 |
bamg_coarse_relax_type |
See |
Int |
11 |
bamg_coarsen_type |
See |
Int |
6 |
bamg_cycle_type |
See |
Int |
1 |
bamg_down_relax_type |
See |
Int |
11 |
bamg_interp_type |
See |
Int |
0 |
bamg_keep_transpose |
See |
Int |
0 |
bamg_logging |
See |
Int |
0 |
bamg_max_coarse_size |
See |
Int |
9 |
bamg_max_iterations |
See |
Int |
1 |
bamg_max_levels |
See |
Int |
20 |
bamg_min_coarse_size |
See |
Int |
1 |
bamg_num_coarse_sweeps |
See |
Int |
1 |
bamg_num_down_sweeps |
See |
Int |
2 |
bamg_num_down_sweeps |
See |
Int |
2 |
bamg_num_sweeps |
See |
Int |
2 |
bamg_num_sweeps |
See |
int |
2 |
bamg_num_up_sweeps |
See |
Int |
2 |
bamg_pmax_elmts |
See |
Int |
4 |
bamg_precond_tolerance |
See |
Real |
0.0 |
bamg_relax_order |
See |
Int |
1 |
bamg_relax_type |
See |
Int |
6 |
bamg_set_restriction |
See |
Int |
0 |
bamg_strong_threshold |
See |
Real |
0.57 |
bamg_trunc_factor |
See |
Real |
0.1 |
bamg_up_relax_type |
See |
Int |
11 |
bamg_variant |
See |
Int |
0 |
bamg_verbose |
Set |
Int |
0 |
Description |
Type |
Default |
|
---|---|---|---|
adjust_singular_matrix |
Enable if the problem to be solved has a singular matrix. |
Bool |
false |
overwrite_existing_matrix_files |
Overwrite existing matrix files. |
Bool |
false |
write_matrix_files |
Write matrix into text files. |
Bool |
false |
Note
This list is likely incomplete because the AMReX / hypre interface continues to evolve.