diff --git a/src/pairs/code_gen/interface.py b/src/pairs/code_gen/interface.py index bbc1699f5df5917bedc0c1934170b1f41e2775d1..872914962de053931e4c9cd0afdc88e804ed000a 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)