You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the proposal
There is a new FFT-based Poisson solver for open boundary conditions in AMReX. It may provide better performance because it can explicitly compute the Green's function in Fourier space and cache it for re-use each timestep. (The Green's function only has to be computed once.)
The downside is that the Green's function requires as much memory as one component of the level 0 multifab. At extreme scales, FFT can also require more communication, but it needs to be tested to see which one is faster in practice.
Describe alternatives you've considered
Keep using the real-space amrex::OpenBC solver for self-gravity.
If someone works out the math for the Green's function, we could also write a custom solver to do mixed periodic-open boundary conditions for solving the Poisson equation for "tall box" simulations:
FFT::PoissonOpenBC is a 3D only solver that supports open boundaries. Its implementation utilizes FFT::OpenBCSolver, which can be used for implementing convolution based solvers with a user provided Green’s function. If users want to extend the open BC solver to 2D or other types of Green’s function, they could use FFT::PoissonOpenBC as an example.
The text was updated successfully, but these errors were encountered:
Describe the proposal
There is a new FFT-based Poisson solver for open boundary conditions in AMReX. It may provide better performance because it can explicitly compute the Green's function in Fourier space and cache it for re-use each timestep. (The Green's function only has to be computed once.)
The downside is that the Green's function requires as much memory as one component of the level 0 multifab. At extreme scales, FFT can also require more communication, but it needs to be tested to see which one is faster in practice.
Describe alternatives you've considered
Keep using the real-space amrex::OpenBC solver for self-gravity.
Additional context
Documentation: https://amrex-codes.github.io/amrex/docs_html/FFT.html#poisson-solver
If someone works out the math for the Green's function, we could also write a custom solver to do mixed periodic-open boundary conditions for solving the Poisson equation for "tall box" simulations:
The text was updated successfully, but these errors were encountered: