Two errors when running case of MFIX-TFM

Hi, everyone

Below are two errors i met recently. I am sorry that my case is not allowed be uploaded here, which may help you find my errors better.

What confuses me is that other cases of mfix-tfm with the same settings and just different in inlet velocity and initial solid fractions run well.

my mfix’s version is 20.2.1, running in Ubuntu 16.04.7 LTS amd64 OS installed in VMware 12.0 in Windows7 system.

Could you please tell me what is the meaning of these errors and how to adjust my simulation?

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:
** Something went wrong while running addr2line. **
** Falling back to a simpler backtrace scheme. **
#26 0x7f0d474ac2d2
#27 0x7f0d474aca0e
#28 0x7f0d961654bf
#29 0x7f0d47fa2006
#30 0x7f0d48174383
#31 0x7f0d4817530f
#32 0x7f0d4801525c
#33 0x7f0d4800e28e
#34 0x7f0d47df7972
#35 0x7f0d47fa308d
#36 0x7f0d47dfa0e4
#37 0x7f0d47ded1c6
#38 0x562446748cca
#39 0x5624467ae39d
#40 0x562446740e7a
#41 0x5624467a973f
#42 0x562446740e7a
#43 0x5624467a973f
#44 0x5624466f185a
#45 0x5624467104d2
#46 0x562446702ffd
#47 0x562446801f76
#48 0x5624467bc817
#49 0x7f0d965016b9
#50 0x7f0d962374dc
#51 0xffffffffffffffff
Floating point exception (core dumped)
12 6. 0.3 0.1 0. 7. 3. G1

Primary job terminated normally, but 1 process returned
a non-zero exit code… Per user-direction, the job has been aborted.

22 1.8E-07 2.2E-08 1.1E-09 0. 1.4E-10 3.1E-07 G1
23 1.7E-07 2.2E-08 9.3E-10 0. 9.4E-11 1.2E-07 G1
24 1.7E-07 2.2E-08 8.3E-10 0. 7.6E-11 3.0E-07 G1
25 1.7E-07 2.2E-08 8.0E-10 0. 6.6E-11 1.4E-07 G1
*** The MPI_Comm_f2c() function was called after MPI_FINALIZE was invoked.
*** This is disallowed by the MPI standard.
*** The MPI_Comm_f2c() function was called after MPI_FINALIZE was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
*** Your MPI job will now abort.
[(null):15076] Local abort after MPI_FINALIZE completed successfully; not able to aggregate error messages, and not able to guarantee that all other processes were killed!
[(null):15071] Local abort after MPI_FINALIZE completed successfully; not able to aggregate error messages, and not able to guarantee that all other processes were killed!
*** The MPI_Comm_f2c() function was called after MPI_FINALIZE was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
[(null):15074] Local abort after MPI_FINALIZE completed successfully; not able to aggregate error messages, and not able to guarantee that all other processes were killed!
*** The MPI_Comm_f2c() function was called after MPI_FINALIZE was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
[(null):15072] Local abort after MPI_FINALIZE completed successfully; not able to aggregate error messages, and not able to guarantee that all other processes were killed!
Previous MFiX run is resumable. Reset job to edit model
MFiX process has stopped
26 1.7E-07 2.2E-08 7.6E-10 0. 6.5E-11 3.1E-07 G1
27 1.7E-07 2.2E-08 7.6E-10 0. 5.7E-11 1.2E-07 G1
28 1.7E-07 2.2E-08 7.5E-10 0. 5.8E-11 3.1E-07 G1
29 1.7E-07 2.2E-08 7.5E-10 0. 5.7E-11 1.4E-07 G1
30 1.8E-07 2.2E-08 7.4E-10 0. 6.1E-11 3.2E-07 G1
t= 4.7082 Dt= 0.1045E-06 NIT= 30MbErr%= 0.5940E-13: Run diverged/stalled :frowning:

ERROR time_step.f:193
DT < DT_MIN. Recovery not possible!

Fatal error reported on one or more processes. The .LOG file
may contain additional information about the failure.
MPI Terminated.

Best regards.

For supplement, when the first error occured, the process can be paused but cannot be stopped. On the contrary, the process stopped when the second error occured.

Can one of the errors be solved if you do not use parallel computing?

Hi, Yuhao

In fact, these two errors occurred in different cases separately. These cases have the same physical models and numerical method, just differ in IC and BC, which are input according to reference. So it should not be unphysical. There are over ten successful cases. some of cases ran successfully in Windows7 OS with one core, without these two errors.

The first error is a “Floating point exception”

Floating point exception = something impossible with a floating point number, such as divide by zero

The second error “DT < DT_MIN” means that the simulation failed to converge.

Hi, Weber

Thank you for your translation. What i really want to know is that what caused “Floating point exception”. I have checked the denominator in my UDF. There is no possibility that the denominator will be zero in calculating. In fact, there has been some case running well.

These days, i ran the same case in two different OS. One is Ubuntu 16. 16.04.7 LTS amd64 OS installed in VMware 12.0 in Windows7 OS, and the other is Windows7 directly. These two OS are installed in two different computers, respectively. The cases were implemented without parallel computation. Results are shown in two figures below. It seems OS has an affect on the running of case.

image
figure 1. running on Ubuntu


figure 2. running on Win7 directly.(when i took the screenshot, the computer crashed suddenly)

I would suggest you build the solver in debug mode, this may point you to the exact line where the FPE occurs. FPE is not limited to division by zero. If you have a udf, check for any math operation that is not allowed division by zero, square root (or any non-integer power) of a negative number, log of a negative number etc.

Thank you for your suggestion, Dr. Dietiker. I tried choosing build type “debug” to build the solver. It was compiled successfully without errors.
Could you please tell what does following sentences mean? They are from the first error posted above.

*** The MPI_Comm_f2c() function was called after MPI_FINALIZE was invoked.
*** This is disallowed by the MPI standard.

And what is the cause of this error?