code-saturne / code-saturne/code_saturne
Particles statistics fail with local time step
- Dominant language
- C++
- Stars
- 307
- Forks
- 102
- PR merge metrics
- No merged PRs in 30d
Description
Particle statistics works fine with constant time step, but, in most cases, it leads to excessive calculation time. In lots of cases (cyclones, other separators, erosion) static and frozen flow approach is enough. In such a case using Steady (Local time step) option + frozen flow gives a huge performance advantage, but Saturne crashes instantly with memory violation error trying to calculate particle statistics in mesh cells. It's important that if you need gas-particles coupling (drying, combustion) your static case will not work at all with local timestep and particle statistics. This bug forces constant timestep for such conditions (flow + particles enabled) that rises calculation time incredibly. With frozen flow, workartound is a constant timestep (much slower but usable).
Steps to reproduce:
1. Use Saturne 8.0...8.3 versions (I think, any recent version).
2. Create or use ready case with gas and particles (no matter if the flow is frozen or not).
3. Set time stepping option to Steady + Local time step.
4. Enable particles statistics collection in particle tracking settings.
5. Run the case, Saturne will dump the core in the beginning of iteration.
Contributor guide
Research direction
Reproduce with a Saturne 8.0–8.3 gas-and-particles case using Steady + Local time step and particle statistics enabled. Start by examining the core dump from the beginning of the iteration, then verify that particle statistics no longer trigger the memory violation and that the case runs with local time stepping.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100