In subroutine RUN_MFIX, why “DO WHILE (TIME + 0.1*DT < TSTOP)” ? Why 0.1?
Since time is discretized, we will not hit TSTOP
exactly. The comparison TIME + 0.1*DT < TSTOP
allows us to overshoot the stop time, but not by more than 90% of a time step … if we are within 10% of a time step to TSTOP
then we are “close enough” and terminate.
The choice of 10% is somewhat arbitrary, but if you look through the MFiX code you will see that this idiom is repeated in many places.