Skip to content

Conversation

TomMelt
Copy link
Contributor

@TomMelt TomMelt commented Sep 9, 2025

Add Halo Exchange to Dynamics (WIP)

This is work in progress. Not to be merged

Summary

This PR adds halo exchange functionality to the dynamics. It also extends the halo class to handle CGVector types.

Todo

  • add CGVector to halo exchange class
  • add halo.exchange calls to the dynamics
  • compare a serial run with MPI runs (mpirun -n 1 and mpirun -n 4)

⚠️ Open Problems:

  • AFAIK for Interpolations::DG2CG(smesh, cgVector, DGVector) values inside the "inner" domain (i.e., not halo cells) depends on vertices set outside the inner cells i.e., from neighbouring points on the lattice. This means that you have to halo exchange the DGVector before you halo exchange the CGVector. It is not equivalent to first interpolate from DGVector onto CGVector and then halo exchange the CGVector.
  • We still don't have a solution for how to set vertices outside the main domain (so inner halo boundaries are fine, but points along the edge are not (also periodic boundaries would be an issue)

@TomMelt TomMelt self-assigned this Sep 9, 2025
@TomMelt TomMelt added the ICCS Tasks or reviews for the ICCS team label Sep 9, 2025
@TomMelt TomMelt changed the base branch from develop to halo-exchange September 9, 2025 14:07
Base automatically changed from halo-exchange to develop October 2, 2025 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ICCS Tasks or reviews for the ICCS team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant