Updating heatSource during simulation ('pause' CFDEM run)

Submitted by mardussa on Fri, 04/05/2019 - 06:24

Hello All,

I am running CFDEM simulations of internally heated particles, with an external code determining each particles heatSource value. Currently I am able to run a single iteration, steady-state, case where by

1) CFDEM initialises the particle locations (parDEMrun.sh)
2) relevant properties such as particle location are passed to the external solver
3) external solver runs to determine each particles unique heatSource value
4) CFDEM applies this heatSource to each particle and runs the coupled CFD-DEM simulation (parCFDDEMrun.sh).

This would be my single iteration. I now want to pass the updated particle locations and temperatures (found in ./DEM/post/dump.liggghts_run), and fluid temperature (found in ./CFD//T) to the external solver again, to recalculate the per particle heatSource value, and so on a so fourth.

ie.
5) pass latest CFDEM temperature and location data to external solver
6) solver for new per pebble heatSource value
7) update heatSource values in CFDEM and finish current iteration.

Does anyone know if it is possible to "pause" a CFDEM run to update the heatSource values of particles. Or does anyone know how to use the latest dump*.liggghts_run file as the starting conditions of a new run?

The external solver does not change the locations of the particles, only takes their location, temperature, and the temperature of the surrounding fluid to determine a per pebble heatSource value.

Thank you for any insight people may have,
Kind regards,
Rob

mardussa | Wed, 04/17/2019 - 02:31

For anyone interested, I have found that there is an example for restarting a CFDEM simulation called ErgunTestMPI_restart. I think I will be able to import updated particle powers after learning how to properly restart simulations. If I have any success / issues I will update this in the future.
Rob.

saad2311 | Wed, 07/31/2019 - 14:37

Hey Rob, it was helpful ! I was just wondering if the example also works in a Scenario like I have time constraints on the cluster. So when I have to run a Sim I have to enter number of hours for my sim. Sometimes my Approximation is not enough e.g. I submitted my Job for like 3 hours and actually the Sim would require more than 3 hours. Lets say in 3 hours the Sim did 5000 iterations. What I'm looking for is that when I re-submit the Sim for another 3 hours it will run from 5000 onwards. Currently, I'm also looking into the "Example" to work out my Scenario but no success so far.

regards
Saad