diff --git a/docs/source/Inputs_Chapter.rst b/docs/source/Inputs_Chapter.rst index 46a75541b1b3d8e66037815124e21f4866b0a304..b47ae0efbc453cbd7ed1dc32ce359e4723001ee5 100644 --- a/docs/source/Inputs_Chapter.rst +++ b/docs/source/Inputs_Chapter.rst @@ -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 diff --git a/docs/source/inputs/InputsHypre.rst b/docs/source/inputs/InputsHypre.rst new file mode 100644 index 0000000000000000000000000000000000000000..c7269f4e0decc58ff0d81d94d3900b8908592846 --- /dev/null +++ b/docs/source/inputs/InputsHypre.rst @@ -0,0 +1,74 @@ +.. _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 | | | ++-----------------------------------+-----------------------------------------------------------------------+-------------+--------------+ diff --git a/docs/source/inputs/InputsMultigrid.rst b/docs/source/inputs/InputsMultigrid.rst index e115257888ae4c67b4f9052b0d64380054e5f280..d88f0926c39a36d10ccff8a2619e06eef5533283 100644 --- a/docs/source/inputs/InputsMultigrid.rst +++ b/docs/source/inputs/InputsMultigrid.rst @@ -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 | | | ++-------------------------+-----------------------------------------------------------------------+-------------+--------------+