espressomd / espresso

The ESPResSo package
https://espressomd.org
GNU General Public License v3.0
226 stars 183 forks source link

LE: add fully connected option to RegularDecomposition #4958

Closed RudolfWeeber closed 2 months ago

RudolfWeeber commented 2 months ago

Description of changes:

RudolfWeeber commented 2 months ago

@jngrad would you be weilling to hel pwith this? I ran out of ideas. My understanding is that all failing tests fail because of a segfault which occurs when forces from the GPU are added back to the particles, because then, the cell_strure.localparticles() iterator seems to be invalid.

However, I have added trace code to the cell_strucutre.set_particle_decomposition() method whcih demonstraes that the iterator is valid after the cell system is updated.

While the PR touches the cell system, it should only update connections between cells, whih affect the short range loop, but not the cell_strucuter.local_particles() iterator.

jngrad commented 2 months ago

@RudolfWeeber The entire testsuite runs without any segfault on my workstation using commit a4729bc269. I also don't see any obvious source of UB in the diff.

RudolfWeeber commented 2 months ago

@jngrad What does the compiler want me to do w.r.t the modernize warning in the "empty" test on gitlab CI? Thanks

jngrad commented 2 months ago

@jngrad What does the compiler want me to do w.r.t the modernize warning in the "empty" test on gitlab CI? Thanks

Replace m_fully_connected_boundary(fully_connected) by m_fully_connected_boundary(std::move(fully_connected)).