AMReX-Codes / amrex

AMReX: Software Framework for Block Structured AMR
https://amrex-codes.github.io/amrex
Other
503 stars 336 forks source link

Multi-level composite solver using hypre #3987

Closed WeiqunZhang closed 2 weeks ago

WeiqunZhang commented 3 weeks ago

This adds a multi-level composite solver for cell-centered ABecLaplacian using hypre. Currently it uses the sstruct interface and BoomerAMG. What's different from our existing hypre solvers is that this one does not use amrex::MLMG at all and it can do multi-level composite solve entirely with hypre, whereas all previous solvers use hypre as a "bottom" solver of MLMG's v-cycle (even though the v-cycle could have only one level).

BenWibking commented 2 weeks ago

Are there plans to add SSAMG support: https://github.com/hypre-space/hypre/blob/recmat/src/sstruct_ls/ssamg.c?

WeiqunZhang commented 2 weeks ago

Yes, ssamg support will be added in the near future.

WeiqunZhang commented 2 weeks ago

I just pushed a commit that adds SSAMG support. For a CPU test, it works on 1, 2, and 4 processes, but segfaults on 3 processes. Not sure if it's our bug or a bug in hypre. BoomerAMG works for all these cases on CPU.

We still have some issues on GPU.