Dynamic/Adjustable timestep for LIGGGHTS, while coupling with new cfdemSolverPimple

Submitted by keepfit on Tue, 09/10/2013 - 02:42

Hi Chris,

I recently modified the original cfdemSolverPiso from PISO to PIMLE (merged PISO-SIMPLE) loop, i.e. supporting adjustable timestep for CFD solver. It helps speeding up the calculation when CFD domain contains millions of cells.

In priciple the new CFD-DEM solver works fine, and if the CFD "adjustTimeStep" option is turned off, the solver is more or less same to the original one. However, there are some remaining issues:

If the CFD "adjustTimeStep" is turned on, the real CFD timestep dt_CFD is adjusted to keep the max. Corrant Number (among all CFD cells) close to the required Corrant Number (< 1). So sometimes dt_CFD becomes very large (3~4 magnitude) compared to the DEM timestep if the CFD mesh is very coarse. Due to the rapid flow interaction with Particles, the max. fluid veloctiy becomes huge after few timestep and thus CFD timestep will become very small to make CFD calcution "endless".

So my questions are:

1. Can DEM timestep be adjustable during running?
If yes, what criterion should be followed so that the DEM calculation does not blow up? In CFD, the Corrant Number < 1 is used to make sure the convergency of transient flow simulation. In DEM, the Rayleigh- and Hertz time can be used to choose proper dt_DEM, how can we calculate it during time-stepping?

2. Once the real-time of dt_DEM is dertermined, can we pass it to CFD solver?
If yes, the real-time of dt_CFD might be adjusted to satisfy both Courrant Number and the dt_DEM (say dt_CFD = N * dt_DEM, N is coupling interval). If this can be implemented, it will be helpful to speed up large scale fluid-particle system.

Since I did not dig deep to the CFDEM and LIGGGHTS source code, coupld you please give me some tips, like API or function to communicate the time-step between CFD and DEM solver?

Best regards,

David

ckloss's picture

ckloss | Thu, 09/19/2013 - 20:55

Hi David,

>>1. Can DEM timestep be adjustable during running?
yes and no. You can do this fix dt/reset. But many other things will not work properly, such as dumping per time (as opposed to per timestep) and other things
>>2. Once the real-time of dt_DEM is dertermined, can we pass it to CFD solver?
Sure, but you'd have to mess around in the code :-)

Cheers
Christoph

keepfit | Mon, 09/30/2013 - 11:32

Hi Christoph,

thanks for the reply. It seems that we will stick to the PISO loop.

Best,
David

jiandai | Thu, 11/07/2013 - 11:39

Could you please post your modified solver? I also want to modify the original cfdemSolverPiso with some new functions.
Thanks a lot!