Unverified Commit f55c9d06 authored by William Fullmer's avatar William Fullmer Committed by GitHub
Browse files

Merge pull request #14 from drangara/hypre_settings

add section for hypre settings
parents 4400dcfd 92d5d2bb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ keywords such as ``mfix``, ``amr``, ``geometry``, ``nodal_proj`` etc.
   inputs/InputsInitialization
   inputs/InputsLoadBalancing
   inputs/InputsMultigrid
   inputs/InputsHypre
   inputs/InputsPlotFiles
   inputs/InputsCheckpoint
   inputs/InputsMonitors
+74 −0
Original line number Diff line number Diff line
.. _Chap:InputsHypre:

Hypre Inputs
=============

The following inputs control the hypre settings and are read directly 
by AMReX when we use hypre as the bottom solver.

NOTE: Default uses the same hypre namespace "hypre" for all solvers. However, 
the hypre namespace can be set at the solver level and the hypre settings 
can be configured for each MLMG solver.

These settings must be preceded by the hypre_namespace setting corresponding to the solver (see :ref:`Chap:InputsMultigrid`)

+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
|                                   |  Description                                                          |   Type      | Default      |
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| verbose                           |  Verbosity of hypre                                                   |   Int       |   0          |
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| adjust_singular_matrix            |  Should be true if the problem to be solved has singular matrix       |   Bool      |   false      | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_solver                      |  Type of hypre solver                                                 |   String    |  BoomerAMG   |
|                                   |                                                                       |             |              |
|                                   |  Options are BoomerAMG, GMRES, COGMRES, LGMRES, FlexGMRES, BiCGSTAB,  |             |              |
|                                   |  PCG or Hybrid                                                        |             |              |
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_preconditioner              |  Type of preconditioner                                               |   String    |   none       |
|                                   |                                                                       |             |              |
|                                   |  Options are BoomerAMG or euclid                                      |             |              |
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| recompute_preconditioner          |  Recompute preconditioner during runs                                 |    Bool     |   true       | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| write_matrix_files                |  Write out matrix into text files                                     |    Bool     |   false      | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| overwrite_existing_matrix_files   |  Over-write existing matrix files                                     |    Bool     |   false      | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_verbose                      |  Verbosity of BoomerAMG preconditioner                                |    Int      |   0          | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_logging                      |  When using BoomerAMG preconditioner                                  |    Int      |   0          | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetLogging                                        |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_coarsen_type                 |  When using BoomerAMG preconditioner                                  |    Int      |   6          | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetCoarsenType                                    |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_cycle_type                   |  When using BoomerAMG preconditioner                                  |    Int      |   1          | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetCycleType                                      |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_relax_type                   |  When using BoomerAMG preconditioner                                  |    Int      |   6          | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetRelaxType                                      |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_relax_order                  |  When using BoomerAMG preconditioner                                  |    Int      |   1          | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetRelaxOrder                                     |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_num_sweeps                   |  When using BoomerAMG preconditioner                                  |    Int      |   2          | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetNumSweeps                                      |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_max_levels                   |  When using BoomerAMG preconditioner                                  |    Int      |   20         | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetMaxLevels                                      |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_strong_threshold             |  When using BoomerAMG preconditioner                                  |    Real     |   0.57       | 
|                                   |                                                                       |             |              | 
|                                   |  See HYPRE_BoomerAMGSetStrongThreshold                                |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bamg_interp_type                  |  When using BoomerAMG preconditioner                                  |    Int      |   0          | 
|                                   |                                                                       |             |              | 
|                                   |  HYPRE_BoomerAMGSetInterpType                                         |             |              | 
+-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+
+24 −0
Original line number Diff line number Diff line
@@ -31,8 +31,16 @@ These control the nodal projection and must be preceded by "nodal_proj":
|                         |  If set to 0, the bottom solver will be called at the current level   |             |              |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bottom_solver           |  Which bottom solver to use in the nodal projection                   |  String     |   bicgcg     |
|                         |                                                                       |             |              | 
|                         |  Options are bicgcg, bicgstab, cg, cgbicg, smoother or hypre          |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_namespace         |  Namespace to use in the nodal projection when using hypre            |  String     |   hypre      |
|                         |  to control hypre specific settings. It can be any string.            |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_interface         |  Which interface to use in the nodal projection when using hypre      |  String     |   ij         |
|                         |                                                                       |             |              | 
|                         |  Options are ij, semi_structured or structured                        |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+

These control the MAC projection and must be preceded by "mac_proj":

@@ -56,8 +64,16 @@ These control the MAC projection and must be preceded by "mac_proj":
|                         |  If set to 0, the bottom solver will be called at the current level   |             |              |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bottom_solver           |  Which bottom solver to use in the MAC projection                     |  String     |   bicgcg     |
|                         |                                                                       |             |              | 
|                         |  Options are bicgcg, bicgstab, cg, cgbicg, smoother or hypre          |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_namespace         |  Namespace to use in the MAC projection when using hypre              |  String     |   hypre      |
|                         |  to control hypre specific settings. It can be any string.            |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_interface         |  Which interface to use in the MAC projection when using hypre        |  String     |   ij         |
|                         |                                                                       |             |              | 
|                         |  Options are ij, semi_structured or structured                        |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+

These control the diffusion solver and must be preceded by "diffusion":

@@ -81,5 +97,13 @@ These control the diffusion solver and must be preceded by "diffusion":
|                         |  If set to 0, the bottom solver will be called at the current level   |             |              |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| bottom_solver           |  Which bottom solver to use in the diffusion solve                    |  String     |   bicgcg     |
|                         |                                                                       |             |              | 
|                         |  Options are bicgcg, bicgstab, cg, cgbicg, smoother or hypre          |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_namespace         |  Namespace to use in the diffusion solve when using hypre             |  String     |   hypre      |
|                         |  to control hypre specific settings. It can be any string.            |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| hypre_interface         |  Which interface to use in the diffusion solve when using hypre       |  String     |   ij         |
|                         |                                                                       |             |              | 
|                         |  Options are ij, semi_structured or structured                        |             |              | 
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+