I ran this case on both Linux and Windows. It runs a little faster on Linux.
Linux:
Windows:
This is running on identical hardware (Lenovo X280).
I have not been able to reproduce the “lround” crash. On Linux, the simulation terminated after about 36 hours, without an error message. Unfortunately, I ran into a known bug in the timekeeping code -
MFiX running, simulation time: 0:00:3.326 elapsed time: 34:29:00
MFiX running, simulation time: 0:00:3.327 elapsed time: 34:30:00
MFiX running, simulation time: 0:00:3.328 elapsed time: 2562082:17:51
MFiX running, simulation time: 0:00:3.329 elapsed time: 2562082:18:00
due to a numerical overflow, the elapsed time jumped from the correct value (34 hours, 30 minutes) to an absurdly high value (about 300 years!) and I believe this triggered the batch time limit - I’m not 100% sure about this. But I reached a simulation time of 3.439 seconds without seeing any FPE errors.
On Windows, the job is still running, I have reached a simulation time of 3.313 s after 42 hours of run time.
Since the lround
crash is fairly hard to reproduce, I think the most useful things for me to work on at this point are:
- Fix the timekeeping overflow bug
- Improve the FPE trap on Windows, to print a full stack trace instead of just the innermost stack frame (this is a bit difficult but maybe I can get it to work)
To make your case run faster, the standard advice is:
- Use a coarser mesh
- Increase the maxiumum time step
- Increase tolerances for convergence
- Experiment with different discretization and preconditioning schemes (Numerics pane)
- Use more CPUs (this works better on Linux)
I also advise you to look at the WARNINGS printed during the run and take them seriously.
Warning: Could not find BC.
Check input file to make sure domain boundaries are defined.
DES_POS_NEW: -0.01940 -0.07859 0.00033
I,J,K: 1 2 9
CLOSEST_PT: -0.02000 -0.07859 0.00033
NORM_FACE: 1.00000 0.00000 0.00000
Hope this helps,
– Charles