Some problems about SMP solver

Hello, staff, I have another question. My computer has a total of 12 threads. When I enable the SMP option to establish the solver (set 2, 4, 6, and 8 threads), the case cannot run, and a blue prompt appears in the following figure. However, when I turn off the SMP option, the case can run, and I am eager to know the reason.

From the information provided, I cannot tell you why the simulation stopped. Please go to main menu, click “Submit bug report”, and upload the ZIP file here if you want help.

Thank you for your reply. I submitted an error report. Additionally, there is a problem where the inlet velocity of the model is 0, but the particles still move. Can you tell me the reason and the solution? I have asked this question before, but it has not been resolved yet. Thanks a lot. (17.7 MB)

Thank you for your patient reply. Can you help me solve the above problem?
Best wishes!

Sorry for the delay.
Running this case in SMP mode with 5 cores, I’m getting:

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

Backtrace for this error:

#0 drag_MOD_c_dsxre_dv
at [drag_mod.f:42](drag_mod.f:42)

#1 drag_gs_mod_MOD_drag_syam_obrien
at [drag_gs.f:515](drag_gs.f:515)

Here’s the code from drag_mod.f:

35 !----------------------------------------------------------------->>>
37    USE param
38    USE param1
40    DOUBLE PRECISION, INTENT(IN) :: RE ! Reynolds number
42    C_DSXRE_DV = (0.63D0*SQRT(RE) + 4.8D0)**2
43    RETURN

Somehow the Reynold’s number has become negative, and the sqrt operation fails.

in drag_gs.f

   437                   DPM)
   479  ! Ratio of settling velocity of a multiparticle system to
   480  ! that of a single particle
   481        DOUBLE PRECISION :: V_rm
   497  ! Calculate V_rm
   505        V_RM=HALF*(A-0.06D0*RE+&
   506             SQRT((3.6D-3)*RE*RE+0.12D0*RE*(2.D0*BB-A)+A*A) )

But V_RM here can be zero or negative. For example (this happened running your case), RE=1.4783446185188789, A=0.027558277072635376, BB=0 results in V_RM=0

Then later

515        lDgA = 0.75D0*Mug*EPg*C_DSXRE_DV(RE/V_RM)/(V_RM*DPM*DPM)

if V_RM is 0, this resuts in a zero-division error. If V_RM is negative, then RE/V_RM results in the negative parameter passed to C_DSXRE_DV as observed previously.

Note that I obtain the same results running in SMP or serial, or with debug mode enabled. I’m not sure why this is happening.

You have set drag_c1 = 0.0 and drag_d1 = 0.0 which should not be allowed and is causing the division by zero. Unless you want to calibrate the Syamlal-O’Brien drag, use the default values drag_c1 = 0.8 and drag_d1 = 2.65.

1 Like

Thanks for your patience in replying. I have tried to do this, but the problem has not been resolved.

Thanks for your patience in replying. But the problem has not been resolved. When selecting the SMP option, it still cannot be calculated. However, without selecting the SMP solver, it can run.
Additionally, there is one of the deadliest questions: why do particles still move when the inlet velocity is set to 0? I set the parameters of the drag model according to Jeff Dietiker’s suggestion, but the particle motion still exists. I have been trying for a long time, but I don’t know how to solve it. (17.6 MB)

Please try to coarsen the des search grid to say 10x30x10 to see if this helps with the burst of particles. This may be due to missed collisions.

What issues to you get with SMP?

1 Like

Hello, according to your suggestion, I have set the options as shown in the following figure. Did I set them correctly? If yes, I have already tried, and the running time is very short, there will be an error of “DT < DTmin”. I have debugged on both Windows and Linux systems, but I cannot find the problem.

Firstly, I set 10 × 30 × 10, but there is an error of “DT < DTmin”. Subsequently, I adjusted the value to 20 × 50 × 20, the particles will still produce spouting as shown in the figure below, and there will also be an error of “DT<DTmin”. (17.6 MB)

Please keep the 10x30x10 des grid and increase the snap tolerance to 0.05 in all directions. This seems to run better.

Thank you for your patient reply.