Why DT reduced to DT_min but not trigger error report?

Hi, developers!
In a CaCO3 decomposition CGP simulation, when reaction is almost finish, I encountered a problem like below. The DT not reduced to the value less than DT_min and not error report, but always DT = DT_min. I used nice dt. What caused this happened? And how I avoid this probelm? Is need I reduce inlet velocity? Because original simulation has 40000+ particles, and only after simulate 80+ seconds encountered this problem, for save time, I create a simple simulation that can quick reproduce this problem: dttest_2025-01-16T153422.670164.zip (47.3 MB)

Timestep walltime, fluid solver:    0.199 s
DEM NITs: 1   Total PIP: 3000
    NITs/SEC = 39.97
Timestep walltime, DEM solver:      0.027 s
   Recovered: Dt= 0.40000E-05 :-)
   Recovered: Dt= 0.30000E-05 :-)
   Recovered: Dt= 0.20000E-05 :-)
   Recovered: Dt= 0.10000E-05 :-)
   Recovered: Dt= 0.90000E-06 :-)
   Recovered: Dt= 0.80000E-06 :-)
   Recovered: Dt= 0.70000E-06 :-)
   Recovered: Dt= 0.60000E-06 :-)
   Recovered: Dt= 0.50000E-06 :-)
   Recovered: Dt= 0.40000E-06 :-)
   Recovered: Dt= 0.30000E-06 :-)
Timestep walltime, fluid solver:    0.399 s
DEM NITs: 1   Total PIP: 3000
    NITs/SEC = 35.05
Timestep walltime, DEM solver:      0.031 s
   Recovered: Dt= 0.20000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
   Recovered: Dt= 0.10000E-06 :-)
STOP
MFiX stopping, simulation time: 0.107ms elapsed time: 0:00:21
Previous MFiX run is resumable.
MFiX process has stopped

Hi Yupeng

When you have a problem with a DMP run it’s always a good idea to try the same job in serial mode.

I tried running this job here but the file geometry_0001.stl is missing so it won’t run.

But for rectangular domain, it don’t need geometry, just as jeff said. Is this file necessary for run simulation normally?

How this file generate? Is the file geometry_0001.stl generated when meshing? But when I meshing it not generated. And why this case can run in DMP without geometry_0001.stl file? Is this a bug?

When I run the project you uploaded I get an error:

(PE   0): input data file,    geometry_0001.stl is missing: run aborted

This may be because you have a region (Wall) defined as type STL but there is no corresponding STL file.

It actually could run normally a period of time when in DMP, so the missing of geometry_0001.stl is not the key to the problem. But if the Wall region definded as type box, it will be report error, just as below mentioned.

And the file geometry_0001.stl isn’t required for run simulation if Wall region is type box ?

You may have attached the wrong files. The case you uploaded won’t run due to missing stl files.

I fixed the wrong files and tried this model in serial mode, this time it report warning:

Recovered: Dt= 0.10000E-06 :slight_smile:
Warning from utilities_mod.f:170
Velocity exceeds limit: 85.000
in cell: I = 2 J = 8 K = 11
Epg = 1.0000 Ug = 1.0912 Vg = 85.053 Wg = 0.0000
To change the limit, adjust the scale factor MAX_INLET_VEL_FAC.
Recovered: Dt= 0.10000E-06 :slight_smile:
Warning from utilities_mod.f:170
Velocity exceeds limit: 85.000
in cell: I = 2 J = 8 K = 11
Epg = 1.0000 Ug = 1.0912 Vg = 85.053 Wg = 0.0000
To change the limit, adjust the scale factor MAX_INLET_VEL_FAC.
Recovered: Dt= 0.10000E-06 :slight_smile:
Warning from utilities_mod.f:170
Velocity exceeds limit: 85.000
in cell: I = 2 J = 8 K = 11
Epg = 1.0000 Ug = 1.0912 Vg = 85.053 Wg = 0.0000
To change the limit, adjust the scale factor MAX_INLET_VEL_FAC.
Recovered: Dt= 0.10000E-06 :slight_smile:
Warning from utilities_mod.f:170
Velocity exceeds limit: 85.000
in cell: I = 2 J = 8 K = 11
Epg = 1.0000 Ug = 1.0912 Vg = 85.053 Wg = 0.0000
To change the limit, adjust the scale factor MAX_INLET_VEL_FAC.

But it still print DT = DT_min, and didn’t reported DT<DT_min error then stop. I tried increase MAX_INLET_VEL_FAC to 100, this could avoid initial Velocity exceeds limit warining; but in the reaction end phase it also encountered this problem that always print DT = DT_min without stop.
Below is the right files:
dttest_2025-01-22T143044.964271.zip (792.9 KB)

Reduced max_DT when using nice DT can effectively avoid this problem.