Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions Docs/sphinx_documentation/source/LinearSolvers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -380,17 +380,21 @@ Available choices are
- :cpp:`MLMG::BottomSolver::petsc`: Currently for cell-centered only.

- :cpp:`LPInfo::setAgglomeration(bool)` (by default true) can be used
continue to coarsen the multigrid by copying what would have been the
bottom solver to a new :cpp:`MultiFab` with a new :cpp:`BoxArray` with
fewer, larger grids, to allow for additional coarsening.
to copy the current level of multigrid data to fewer, larger
boxes. Two advantages of using this option is that the bottom solver will become
smaller, and communication overhead is reduced.

- :cpp:`LPInfo::setAgglomerationGridSize(int)` (by default 8 in 1D, 16 in 2D, 32 in 3D)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's a GPU build, it's 32 be default. If it's a CPU build, it's 32 in 1D, 16 in 2D and 8 in 3D. (The order in the original commit is incorrect.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ajnonaka -- do you want to go ahead and fix this PR then we can merge?

if agglomeration is used, when the average box size becomes smaller than agg_grid_size^{DIM},
boxes will agglomerate until this is no longer the case. Note that this action is
recursive and can happen at several different levels in the multigrid hierarchy.

- :cpp:`LPInfo::setConsolidation(bool)` (by default true) can be used
continue to transfer a multigrid problem to fewer MPI ranks.
There are more setting such as :cpp:`LPInfo::setConsolidationGridSize(int)`,
:cpp:`LPInfo::setConsolidationRatio(int)`, and
:cpp:`LPInfo::setConsolidationStrategy(int)`, to give control over how this
process works.

process works. If agglomeration is used, consolidation is ignored.

:cpp:`MLMG::setThrowException(bool)` controls whether multigrid failure results
in aborting (default) or throwing an exception, whereby control will return to the calling
Expand Down
Loading