laserDTRM infinite loop
Summary
A bug was encountered during the use of laserDTRM model in icoReactingMultiphaseInterFoam. When running in parallel, a particle or particles get stuck in the infinite loop at processor patches. The particle jumps from one CPU to another causing increase in the memory usage up to system overload and crash.
Steps to reproduce
run icoReactingMultiphaseInterFoam on multiple CPUs with beam crossing multiple processor patches. Time to crash shorter when surface of the absorption/reflection is of complex texture.
Example case
unavailable
What is the current bug behaviour?
simulation hangs during the cloud evolution / particles move. The job maintains CPU load up to the moment of memory overload.
What is the expected correct behavior?
The tracking of the particles stuck at patches should be abandoned after a few particle transactions between CPUs.
Relevant logs and/or images
The bug doesn't produce error message - stuck at "moving particles ...." message.
Environment information
- OpenFOAM version :1812, 1906
- Operating system : ubuntu 18.04 LTS
- Hardware info : 2xEpyc7601, 1TB memory; also tested on Intel Xeon arch.
- Compiler : gcc
Possible fixes
Introduce transaction counter. Issue similar to 3056 bug solution from attached file works for OF.org: 0001-particle-Added-logic-to-break-closed-loops.patch
## Reattaching the author to the issue ticket: @dawid ##