Problem it solves
The current MPI code uses a simple MPI AllToAll summation to get all force contributions in src/simulation/m_ibm.fpp. While this makes the code very simple, it is inefficient for scaling. A refactor should be done to remove the MPI AllToAll.
Proposed solution
We most likely need a nearest-neighbor-type approach to transmitting Ib data. Each rank should own the IB with a centroid located in that rank. It should also be aware of the 8 (in 2D) or 26 (in 3D) neighbors IB patches to ensure appropriate continuity of the IB makers in HALO regions. Model this after the way that fluid values are exchanged across halo regions.
Alternatives
None at this time.
Additional context
None at this time.
Problem it solves
The current MPI code uses a simple MPI AllToAll summation to get all force contributions in
src/simulation/m_ibm.fpp. While this makes the code very simple, it is inefficient for scaling. A refactor should be done to remove the MPI AllToAll.Proposed solution
We most likely need a nearest-neighbor-type approach to transmitting Ib data. Each rank should own the IB with a centroid located in that rank. It should also be aware of the 8 (in 2D) or 26 (in 3D) neighbors IB patches to ensure appropriate continuity of the IB makers in HALO regions. Model this after the way that fluid values are exchanged across halo regions.
Alternatives
None at this time.
Additional context
None at this time.