From cf9ed0d25339ca49eecd2aa59152e65ce18738e5 Mon Sep 17 00:00:00 2001
From: Behzad Safaei <iwia103h@alex1.nhr.fau.de>
Date: Sun, 27 Apr 2025 20:09:16 +0200
Subject: [PATCH] Fix reneighbor procedure

---
 src/pairs/code_gen/interface.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/pairs/code_gen/interface.py b/src/pairs/code_gen/interface.py
index bbc1699..8729149 100644
--- a/src/pairs/code_gen/interface.py
+++ b/src/pairs/code_gen/interface.py
@@ -123,9 +123,11 @@ class InterfaceModules:
 
         reneighboring_procedures = [
             Exchange(self.sim._comm),
-            Borders(self.sim._comm),
-            # Note: DomainUpdateLocal must happen after exchange since local particles must be contained in AABBs
+            # Note: DomainUpdateLocal must happen after exchange since local particles must be contained in AABBs.
+            #       And it must happen before Borders since newly received particles need to be included, so they become ghosts
+            #       for their previous neighbor
             DomainUpdateLocal(self.sim),    
+            Borders(self.sim._comm),
             BuildCellListsStencil(self.sim, self.sim.cell_lists),
             self.sim.update_cells_procedures,
             ResetVolatileProperties(self.sim)
-- 
GitLab