Skip to content

Conversation

@JustinRayAngus
Copy link
Contributor

@JustinRayAngus JustinRayAngus commented Dec 15, 2025

This PR moves the collisions for the implicit solver to the proper place in the Evolve loop. This fixes a bug introduced in PR #6428, where the collisions are moved from just before to just after the PIC advance. (See #6449). However, with this change I noticed odd behavior in simulation outputs at processor boundaries late in time for highly collisional simulations. The fix is that the collisions should be placed after the particle communication and boundary handling is performed, which occurs later in the Evolve loop.

@JustinRayAngus JustinRayAngus added bug Something isn't working component: collisions Anything related to particle collisions component: implicit solvers Anything related to implicit solvers labels Dec 15, 2025
@JustinRayAngus JustinRayAngus requested a review from EZoni December 15, 2025 16:50
Copy link
Member

@EZoni EZoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, I think this is similar to the fix we had to implement in #6275 and #6453.

@RemiLehe RemiLehe self-assigned this Dec 16, 2025
@RemiLehe RemiLehe merged commit 09e1f8e into BLAST-WarpX:development Dec 17, 2025
50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working component: collisions Anything related to particle collisions component: implicit solvers Anything related to implicit solvers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants