Hello, the following phenomenon occurred when I was running the program, and no error or warning was reported when I checked the message. I would like to know whether it was due to the influence of mesh roughness or particle diameter, thank you
You have posted a screenshot of the very end of the console output. If you scroll up in the console I believe you will see an error message in red.
/mfixsolver: line 3: 19609 Floating point exception(core dumped) env /cao_co2_tansuanhua_2022-10-04T153718.535142":"":${PYTHONPATH:+:$
Note, in the 22.3 version, due out this week, these solver crash messages are better detected and generate error popups so they are harder to miss.
Using gdb to examine the core dump:
mfix-22.2.2:) file core
core: ELF 64-bit LSB core file, x86-64, version 1 (SYSV), SVR4-style, from '/home/cgw/mambaforge/envs/mfix-22.2.2/bin/python3.10 -m mfixgui.pymfix -s -f /h', real uid: 103, effective uid: 103, real gid: 1000, effective gid: 1000, execfn: '/home/cgw/mambaforge/envs/mfix-22.2.2/bin/python3.10', platform: 'x86_64'
mfix-22.2.2:) gdb /home/cgw/mambaforge/envs/mfix-22.2.2/bin/python3.10 core
GNU gdb (Gentoo 12.1 vanilla) 12.1
...
Core was generated by `/home/cgw/mambaforge/envs/mfix-22.2.2/bin/python3.10 -m mfixgui.pymfix -s -f /h'.
Program terminated with signal SIGFPE, Arithmetic exception.
#0 0x00007fd4b72bb725 in desgrid::iofpos (fpos=-4.8878222745641619e+17)
at /home/cgw/mambaforge/envs/mfix-22.2.2/share/mfix/src/model/des/desgrid_mod.f:376
376 iofpos = floor((fpos-dg_xstart)*dg_dxinv) + dg_istart1
[Current thread is 1 (Thread 0x7fd4782e7640 (LWP 19617))]
(gdb) list
371 ! Purpose: Calculate the cell I index containing the given position. !
372 !......................................................................!
373 integer function iofpos(fpos)
374 implicit none
375 double precision fpos
376 iofpos = floor((fpos-dg_xstart)*dg_dxinv) + dg_istart1
377 end function iofpos
378
(gdb) print fpos
$1 = -4.8878222745641619e+17
(gdb) p dg_xstart
$2 = 0
(gdb) p dg_dxinv
$3 = 2221.7391304347816
(gdb) p dg_istart1
$4 = 2
(gdb) whatis iofpos
type = integer(kind=4) (real(kind=8))
iofpos is defined as an integer function, the value of fpos is too big and the resulting value is too big for a 4-byte integer. I might question why we are using 32 bit ints on 64-bit hardware, but the value of fpos is clearly incorrect and this is an error even if iofpos did not detect the integer overflow.
Thank you very much for your reply. I have seen the code of the source file, but I still don’t understand what you mean when you say the result value is too large. I’m really sorry for asking such a basic question. Do you have any specific tutorials or instructions? Where can I find them? Thank you!
Hello, I have run the program again. It is the same as the previous program without any modification, and there is a reminder as shown in the picture. May I ask what is the reason for this? thank you
Sorry about the FLASK_ENV warning. This is coming from one of the libraries used internally by MFiX for communication between display and solver. It is a harmless warning and should not appear any more if you upgrade to the 22.3 version.