CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Floating point exception from twoPhaseEulerFoam (https://www.cfd-online.com/Forums/openfoam-solving/167978-floating-point-exception-twophaseeulerfoam.html)

openfoammaofnepo March 13, 2016 18:30

Floating point exception from twoPhaseEulerFoam
 
Hello,

I am using twoPhaseEulerFoam to simulate a problem of particle laden flow. So in this case, particle is the dispersed phase, while air is the continuous phase. I built my case file from:

OpenFOAM/OpenFOAM-3.0.0/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed

This is closest to my computation case. As you may know, I need to inject the particle from an inlet. So I need to give the alpha.particles at that BC as an value, say 0.0001. Then I found that once I change this, the solver has the Floating point exception when it solves the momentum equations. It is like this:

Code:

PIMPLE: iteration 1
MULES: Solving for alpha.particles
MULES: Solving for alpha.particles
alpha.particles volume fraction = 4.17916379e-07  Min(alpha.particles) = 0  Max(alpha.particles) = 0.0001
Constructing momentum equations
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 31815 on node sand-2-63 exited on signal 8 (Floating point exception).
--------------------------------------------------------------------------

The error information is as follows:
Code:

[1] #0  Foam::error::printStack(Foam::Ostream&) in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so"
[1] #1  Foam::sigFpe::sigHandler(int) in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so"
[1] #2  ? in "/lib64/libc.so.6"
[1] #3  Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so"
[1] #4  Foam::symGaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so"
[1] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so"
[1] #6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so"
[1] #7  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/bin/twoPhaseEulerFoam"
[1] #8  Foam::fvMatrix<double>::solve() in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/bin/twoPhaseEulerFoam"
[1] #9  ? in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/bin/twoPhaseEulerFoam"
[1] #10  __libc_start_main in "/lib64/libc.so.6"
[1] #11  ? in "/usr/local/Cluster-Apps/openfoam/3.0.0/OpenFOAM-3.0.0/platforms/linux64GccDPInt32Opt/bin/twoPhaseEulerFoam"
[sand-2-63:31815:0] Caught signal 8 (Floating point exception)
==== backtrace ====
 2 0x0000000000059e9c mxm_handle_error()  /var/tmp/OFED_topdir/BUILD/mxm-3.4.3065/src/mxm/util/debug/debug.c:641
 3 0x000000000005a00c mxm_error_signal_handler()  /var/tmp/OFED_topdir/BUILD/mxm-3.4.3065/src/mxm/util/debug/debug.c:616
 4 0x00000000000326a0 killpg()  ??:0
 5 0x0000000000032625 raise()  ??:0
 6 0x00000000000326a0 killpg()  ??:0
 7 0x00000000003cbb8d _ZN4Foam22symGaussSeidelSmoother6smoothERKNS_4wordERNS_5FieldIdEERKNS_9lduMatrixERKS5_RKNS_10FieldFieldIS4_dEERKNS_8UPtrListIKNS_17lduInterfaceFieldEEEhi()  ??:0
 8 0x00000000003cbfb8 _ZNK4Foam22symGaussSeidelSmoother6smoothERNS_5FieldIdEERKS2_hi()  ??:0
 9 0x00000000003c207a _ZNK4Foam12smoothSolver5solveERNS_5FieldIdEERKS2_h()  ??:0
10 0x00000000009e128d _ZN4Foam8fvMatrixIdE15solveSegregatedERKNS_10dictionaryE()  ??:0
11 0x00000000004916ec _ZN4Foam8fvMatrixIdE5solveERKNS_10dictionaryE()  ??:0
12 0x0000000000491a1f _ZN4Foam8fvMatrixIdE5solveEv()  ??:0
13 0x000000000047d6fb main()  ??:0
14 0x000000000001ed5d __libc_start_main()  ??:0
15 0x00000000004278c5 _start()  ??:0
===================

If I change the inlet BC to "zeroGradient" (as a test!), the simulation is fine and can continuously run. This means that some quantity may be divided by zero when solving the momentum equations.

I did the same test in the tutorial mentioned above, but change the inlet BC of 0.0001 for alpha.particles. it is fine! So I do not know what happen to my case. Anyone has the same experience? Thank you so much.

avila.vc March 19, 2016 13:56

Hi.

Is there a flow of particles at the outlet then? What are the BC for velocities? How is your geometry (checkMesh and the mesh itself)? Please give more details so somebody can try to help.


All times are GMT -4. The time now is 08:49.