
[Sponsors] 
multiphaseEulerFoam (OF2.3.0) : Courant number explodes when running in parallel 

LinkBack  Thread Tools  Search this Thread  Display Modes 
February 3, 2016, 09:18 
multiphaseEulerFoam (OF2.3.0) : Courant number explodes when running in parallel

#1 
Member
Sami
Join Date: Nov 2012
Location: Cap Town, South Africa
Posts: 87
Rep Power: 13 
Hi,
I am doing simulations using "multiphaseEulerFoam" (OpenFOAM 2.3.0). I started by the tutorial (bubble column) before trying more complicated geometry. My problem is that when I use a fine mesh (of course I reduce the time step "delta t"), OpenFoam craches (the courant number increases suddenly to ~ 1e+100 !!) after a certain time (after permanent flow is well established) when running in parallel. The strange thing is that when I don't run the "multiphaseEulerFoam" solver in parallel, everything is going well and the Courant number remains < 0.4 Do you have an idea about the origin of the problem ? How can I fix this ? Thank you for your help. Mehrez PS : Copy of the end of the log file : __________________________________________________ __________________ fieldAverage fieldAverage1 output: Calculating averages Courant Number mean: 0.0197451 max: 0.0684915 Time = 9.625 MULES: Solving for alpha.air air volume fraction, min, max = 0.465748 0.000119881 1 MULES: Solving for alpha.water water volume fraction, min, max = 0.53486 0 0.999981 Phasesum volume fraction, min, max = 1.00061 0.0042213 1.72497 MULES: Solving for alpha.air air volume fraction, min, max = 0.465796 0.000120519 1 MULES: Solving for alpha.water water volume fraction, min, max = 0.534812 0 0.999981 Phasesum volume fraction, min, max = 1.00061 0.00422589 1.71204 GAMG: Solving for p, Initial residual = 0.00139639, Final residual = 5.81202e06, No Iterations 3 time step continuity errors : sum local = 2.41125e08, global = 1.30472e08, cumulative = 0.000127697 GAMG: Solving for p, Initial residual = 0.00773661, Final residual = 4.7937e10, No Iterations 14 time step continuity errors : sum local = 1.99335e12, global = 2.62437e13, cumulative = 0.000127697 ExecutionTime = 798.17 s fieldAverage fieldAverage1 output: Calculating averages Courant Number mean: 0.0198142 max: 0.536377 Time = 9.6275 MULES: Solving for alpha.air air volume fraction, min, max = 0.465856 0.000121156 1 MULES: Solving for alpha.water water volume fraction, min, max = 0.53476 0 0.999981 Phasesum volume fraction, min, max = 1.00062 0.00423059 1.56304 MULES: Solving for alpha.air air volume fraction, min, max = 0.465919 0.000121796 1 MULES: Solving for alpha.water water volume fraction, min, max = 0.534714 0 0.999981 Phasesum volume fraction, min, max = 1.00063 0.00423533 1.56304 GAMG: Solving for p, Initial residual = 0.0102849, Final residual = 3.65886e05, No Iterations 3 time step continuity errors : sum local = 1.08056e07, global = 5.29818e08, cumulative = 0.000127644 GAMG: Solving for p, Initial residual = 0.528984, Final residual = 3.99465e10, No Iterations 20 time step continuity errors : sum local = 2.48252e12, global = 4.20296e13, cumulative = 0.000127644 ExecutionTime = 798.4 s fieldAverage fieldAverage1 output: Calculating averages Courant Number mean: 0.0442704 max: 69.0571 Time = 9.63 MULES: Solving for alpha.air air volume fraction, min, max = 0.467749 0.335673 23.0504 MULES: Solving for alpha.water water volume fraction, min, max = 0.534738 1.39541 1.65974 Phasesum volume fraction, min, max = 1.00249 0.335673 23.6134 MULES: Solving for alpha.air air volume fraction, min, max = 0.468363 603.363 190.594 MULES: Solving for alpha.water water volume fraction, min, max = 0.535464 11.6784 27.1617 Phasesum volume fraction, min, max = 1.00383 603.236 217.755 GAMG: Solving for p, Initial residual = 0.93761, Final residual = 0.0042504, No Iterations 3 time step continuity errors : sum local = 0.00868465, global = 0.00218753, cumulative = 0.00205988 GAMG: Solving for p, Initial residual = 0.597729, Final residual = 7.29283e10, No Iterations 18 time step continuity errors : sum local = 9.40381e09, global = 2.04498e09, cumulative = 0.00205988 ExecutionTime = 798.63 s fieldAverage fieldAverage1 output: Calculating averages Courant Number mean: 2.31929 max: 2036.06 Time = 9.6325 MULES: Solving for alpha.air air volume fraction, min, max = 3.06138 234880 453771 MULES: Solving for alpha.water water volume fraction, min, max = 0.368301 29517.2 14142.4 Phasesum volume fraction, min, max = 2.69308 235405 467914 MULES: Solving for alpha.air air volume fraction, min, max = 102602 4.0891e+08 2.16309e+09 MULES: Solving for alpha.water water volume fraction, min, max = 1570.57 2.35245e+07 4.54948e+07 Phasesum volume fraction, min, max = 104172 4.32434e+08 2.1622e+09 GAMG: Solving for p, Initial residual = 0.999469, Final residual = 0.00694096, No Iterations 3 time step continuity errors : sum local = 207305, global = 113118, cumulative = 113118 GAMG: Solving for p, Initial residual = 7.21206e06, Final residual = 2.57156e10, No Iterations 9 time step continuity errors : sum local = 2.27507e+06, global = 1.12627e+06, cumulative = 1.01315e+06 ExecutionTime = 798.83 s fieldAverage fieldAverage1 output: Calculating averages Courant Number mean: 2.39491e+11 max: 3.23227e+14 Time = 9.635 MULES: Solving for alpha.air air volume fraction, min, max = 1.68871e+17 2.39138e+22 1.91865e+22 MULES: Solving for alpha.water water volume fraction, min, max = 4.84919e+16 5.94328e+21 4.46871e+21 Phasesum volume fraction, min, max = 2.17363e+17 2.9857e+22 2.36552e+22 MULES: Solving for alpha.air air volume fraction, min, max = 5.25141e+41 2.25881e+45 9.02144e+45 MULES: Solving for alpha.water water volume fraction, min, max = 1.79355e+45 5.82929e+42 3.03974e+49 Phasesum volume fraction, min, max = 1.79408e+45 5.481e+39 3.03952e+49 GAMG: Solving for p, Initial residual = 1, Final residual = 0.00883942, No Iterations 3 time step continuity errors : sum local = 4.98206e+57, global = 1.53054e+55, cumulative = 1.53054e+55 GAMG: Solving for p, Initial residual = 2.89028e16, Final residual = 2.89028e16, No Iterations 0 time step continuity errors : sum local = 4.49754e+93, global = 1.81398e+77, cumulative = 1.81398e+77 ExecutionTime = 799.01 s fieldAverage fieldAverage1 output: Calculating averages Courant Number mean: 2.41532e+93 max: 1.40595e+97 Time = 9.6375 MULES: Solving for alpha.air air volume fraction, min, max = 7.57427e+121 1.03072e+142 1.05773e+142 MULES: Solving for alpha.water water volume fraction, min, max = 6.52985e+118 6.83465e+138 6.66015e+138 Phasesum volume fraction, min, max = 1.99642e+122 1.03006e+142 1.05705e+142 [0] #0 Foam::error:rintStack(Foam::Ostream&) in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [0] #1 Foam::sigFpe::sigHandler(int) in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [0] #2 in "/lib64/libc.so.6" [0] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [0] #4 Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> > Foam:perator*<Foam::fvsPatchField, Foam::surfaceMesh>(Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> > const&) in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/bin/multiphaseEulerFoam" [0] #5 Foam::fv::gaussConvectionScheme<double>::flux(Foam ::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" [0] #6 Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> > Foam::fvc::flux<double>(Foam::tmp<Foam::GeometricF ield<double, Foam::fvsPatchField, Foam::surfaceMesh> > const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::word const&) in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so" [0] #7 Foam::multiphaseSystem::solveAlphas() in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so" [0] #8 Foam::multiphaseSystem::solve() in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so" [0] #9 [0] in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/bin/multiphaseEulerFoam" [0] #10 __libc_start_main in "/lib64/libc.so.6" [0] #11 [0] in "/chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/bin/multiphaseEulerFoam" [tem110:04262] *** Process received signal *** [tem110:04262] Signal: Floating point exception (8) [tem110:04262] Signal code: (6) [tem110:04262] Failing at address: 0x2c50b000010a6 [tem110:04262] [ 0] /lib64/libc.so.6(+0x326a0)[0x2b064384a6a0] [tem110:04262] [ 1] /lib64/libc.so.6(gsignal+0x35)[0x2b064384a625] [tem110:04262] [ 2] /lib64/libc.so.6(+0x326a0)[0x2b064384a6a0] [tem110:04262] [ 3] /chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam8multiplyERNS_5FieldIdEERKN S_5UListIdEES6_+0xd5)[0x2b0642a15a05] [tem110:04262] [ 4] multiphaseEulerFoam(_ZN4FoammlINS_13fvsPatchFieldE NS_11surfaceMeshEEENS_3tmpINS_14GeometricFieldIdT_ T0_EEEERKS7_RKS8_+0x16c)[0x47c6dc] [tem110:04262] [ 5] /chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so(_ZNK4Foam2fv21gaussConvectionSc hemeIdE4fluxERKNS_14GeometricFieldIdNS_13fvsPatchF ieldENS_11surfaceMeshEEERKNS3_IdNS_12fvPatchFieldE NS_7volMeshEEE+0x28)[0x2b0641a75018] [tem110:04262] [ 6] /chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so(_ZN4Foam3fvc4fluxIdEENS_3tm pINS_14GeometricFieldIT_NS_13fvsPatchFieldENS_11su rfaceMeshEEEEERKNS2_INS3_IdS5_S6_EEEERKNS3_IS4_NS_ 12fvPatchFieldENS_7volMeshEEERKNS_4wordE+0x74)[0x2b063ff221c4] [tem110:04262] [ 7] /chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so(_ZN4Foam16multiphaseSystem1 1solveAlphasEv+0xa3d)[0x2b063ff0f8bd] [tem110:04262] [ 8] /chemeng/ttreerat/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so(_ZN4Foam16multiphaseSystem5 solveEv+0x517)[0x2b063ff11007] [tem110:04262] [ 9] multiphaseEulerFoam[0x466893] [tem110:04262] [10] /lib64/libc.so.6(__libc_start_main+0xfd)[0x2b0643836d5d] [tem110:04262] [11] multiphaseEulerFoam[0x427231] [tem110:04262] *** End of error message ***  mpirun noticed that process rank 0 with PID 4262 on node tem110 exited on signal 8 (Floating point exception). __________________________________________________ __________________ 

February 5, 2016, 04:34 

#2 
Member
Join Date: May 2015
Posts: 34
Rep Power: 10 
Hi,
without knowing the contents of your controlDict, you could try setting your maxCo (the maximum Courant number) to a reasonably small value and using adjustTimeStep instead of a fixed time step. The parallel vs. linear behavior sounds strange, a bit similar(?) to this post: http://www.cfdonline.com/Forums/ope...tyresult.html Good luck! 

February 10, 2016, 09:37 

#3  
Member
Sami
Join Date: Nov 2012
Location: Cap Town, South Africa
Posts: 87
Rep Power: 13 
Dear mnikku,
Thank you for your answer. Using adaptable time step to keep the Co number at a reasonable small value (0.01) didn't improve the stability... Mehrez Quote:


May 17, 2016, 05:01 

#4 
Senior Member
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 237
Rep Power: 16 
Hi, I face some stability problems with multiphaseEulerFoam, too, and I have difficulties to find its source. Any news so far?


May 17, 2016, 07:15 

#5  
Senior Member
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 237
Rep Power: 16 
Quote:
Now it works fine, I modified the code to allow nonnewtonian rheology models and coupled the solver to lagrangian particles using kinematicCollidingCloud, in case someone is interested. 

May 17, 2016, 08:06 

#6 
Senior Member
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11 
Hi
i faced with this problem with twoPhaseEulerFoam in OP 2.2. i don't know it is about parallel calculating or not but i know Courant overshooting could be affected by type of Geometry, for example with tri meshing it is sometimes more sensitive to diverge another parameter is using maxCo option in controldict , u can find it in many tutorials of OP and copy it to your controlDict. 

May 17, 2016, 17:30 

#7 
Member
Vinícius da Costa Ávila
Join Date: Jul 2015
Location: Porto Alegre, Brazil
Posts: 62
Rep Power: 10 
vonboett, I sent you a private message about your code modifications, if you may, please take a look
__________________
Vinícius dC.A. 

May 18, 2016, 09:42 

#8 
Member
Sami
Join Date: Nov 2012
Location: Cap Town, South Africa
Posts: 87
Rep Power: 13 
Hello,
I fixed my problem by using snappyHexMesh to create hex meshes. It seems that any thing other than hex leads to unstability. I also recommend OF3 instead of OF2.3. There was a bug report about the solver that has been fixed in OF3. http://bugs.openfoam.org/view.php?id=1379 Mhrz 

May 18, 2016, 09:51 

#9  
Senior Member
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 13 
Quote:
are you able to produce pure Hex meshes with SnappyHexMesh? I'm also using twoPhaseEulerFoam but so far i have difficulties to obtain pure hexadral meshes, which the EulerEuler class solvers seem to require.. 

May 18, 2016, 10:48 

#10 
Member
Sami
Join Date: Nov 2012
Location: Cap Town, South Africa
Posts: 87
Rep Power: 13 
You cannot produce pure hex meshes with snappyHexMesh if your geometry is complex (by the way, can you share your geometry to have an idea). But if you have some polyhedral elements in your mesh, doesn't mean that your simulation will become unstable (from my experience).
What I suggest you, if you are comfortable with snappyHexMesh (SHM), is to use as initial hex mesh a mesh that is slightly closer to your geometry by creating it with Salome or gmsh. I think that starting the meshing with SHM from a box (meshed with hex elements using blockMesh) is not the best choice to do if your geometry is complex. Mehrez 

May 18, 2016, 11:44 

#11  
Senior Member
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 13 
Quote:
Maybe i can find some time to look into Salome, which sounds promissing at first glance.. 

Tags 
courant number increasing, multiphaseeulerfoam, openfoam 2.3.0, parallel computing 
Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Decomposing meshes  Tobi  OpenFOAM PreProcessing  22  February 24, 2023 09:23 
[OpenFOAM.org] OF2.3.1 + OS13.2  Trying to use the dummy Pstream library  aylalisa  OpenFOAM Installation  23  June 15, 2015 14:49 
Running stably with a large Courant number using pimpleFoam  mlawson  OpenFOAM  11  November 29, 2014 10:37 
courant number explodes  1988  OpenFOAM Running, Solving & CFD  10  May 9, 2014 11:48 