-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LB: Particle not coupled due to rounding error #4825
Comments
4.2.1 is also affected |
As an aside: the correct term for the error here is cancellation, not rounding, I think. |
kodiakhq bot
added a commit
that referenced
this issue
Dec 5, 2023
…4827) Fixes #4825 Description of changes: * Bugfix: particles outside the simulation box are now properly coupled using PBC. The coordinates are folded before considering shifted positions in the LB particle coupling code. Also, a test that fails without the fix is added. To my understanding, if the particle position is folded, and then all combination of `folded_pos[i]` +/- `box_l[i]` for all Cartesian directions are considered, both the particle in the primary box and all potential halo regions are caught.
jngrad
pushed a commit
to jngrad/espresso
that referenced
this issue
Dec 5, 2023
…spressomd#4827) Fixes espressomd#4825 Description of changes: * Bugfix: particles outside the simulation box are now properly coupled using PBC. The coordinates are folded before considering shifted positions in the LB particle coupling code. Also, a test that fails without the fix is added. To my understanding, if the particle position is folded, and then all combination of `folded_pos[i]` +/- `box_l[i]` for all Cartesian directions are considered, both the particle in the primary box and all potential halo regions are caught.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Under veyr specific circumstances, particles are not fully coupled to LB:
Trigger: a particle coordinate is -epsilon but epsilon + box_l is = box_l due to a rounding error. In this case, neither the original position nor the folded positoin (-eps+box_l) is in the local domain and no force is added to the particle.
Probability of this occurring: probably very low in a system with randomly placed particles, but likely, if particles are initialized with a zero in one of the positoin coordinates. this can easily propagate to -epsilon due small numerical errors in the LB forces
MNWE (but this might be compiler dependent):
Likely, both, the dev version and 4.2 are affected.
The text was updated successfully, but these errors were encountered: