|
[Sponsors] |
multiphaseEulerFoam (OF2.3.0) : Courant number explodes when running in parallel |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 3, 2016, 10: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: 14 |
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 Phase-sum 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 Phase-sum volume fraction, min, max = 1.00061 0.00422589 1.71204 GAMG: Solving for p, Initial residual = 0.00139639, Final residual = 5.81202e-06, No Iterations 3 time step continuity errors : sum local = 2.41125e-08, global = -1.30472e-08, cumulative = -0.000127697 GAMG: Solving for p, Initial residual = 0.00773661, Final residual = 4.7937e-10, No Iterations 14 time step continuity errors : sum local = 1.99335e-12, global = 2.62437e-13, 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 Phase-sum 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 Phase-sum volume fraction, min, max = 1.00063 0.00423533 1.56304 GAMG: Solving for p, Initial residual = 0.0102849, Final residual = 3.65886e-05, No Iterations 3 time step continuity errors : sum local = 1.08056e-07, global = 5.29818e-08, cumulative = -0.000127644 GAMG: Solving for p, Initial residual = 0.528984, Final residual = 3.99465e-10, No Iterations 20 time step continuity errors : sum local = 2.48252e-12, global = -4.20296e-13, 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 Phase-sum 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 Phase-sum 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.29283e-10, No Iterations 18 time step continuity errors : sum local = 9.40381e-09, global = -2.04498e-09, 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 Phase-sum 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 Phase-sum 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.21206e-06, Final residual = 2.57156e-10, 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 Phase-sum 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 Phase-sum 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.89028e-16, Final residual = 2.89028e-16, 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 Phase-sum volume fraction, min, max = 1.99642e+122 -1.03006e+142 1.05705e+142 [0] #0 Foam::error:rintStack(Foam::Ostream&) in "/chemeng/ttreerat/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [0] #1 Foam::sigFpe::sigHandler(int) in "/chemeng/ttreerat/OpenFOAM/OpenFOAM-2.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/OpenFOAM-2.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/OpenFOAM-2.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/OpenFOAM-2.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/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so" [0] #7 Foam::multiphaseSystem::solveAlphas() in "/chemeng/ttreerat/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so" [0] #8 Foam::multiphaseSystem::solve() in "/chemeng/ttreerat/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so" [0] #9 [0] in "/chemeng/ttreerat/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/multiphaseEulerFoam" [0] #10 __libc_start_main in "/lib64/libc.so.6" [0] #11 [0] in "/chemeng/ttreerat/OpenFOAM/OpenFOAM-2.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/OpenFOAM-2.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/OpenFOAM-2.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/OpenFOAM-2.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/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so(_ZN4Foam16multiphaseSystem1 1solveAlphasEv+0xa3d)[0x2b063ff0f8bd] [tem110:04262] [ 8] /chemeng/ttreerat/OpenFOAM/OpenFOAM-2.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, 05:34 |
|
#2 |
Member
Join Date: May 2015
Posts: 34
Rep Power: 11 |
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.cfd-online.com/Forums/ope...ty-result.html Good luck! |
|
February 10, 2016, 10:37 |
|
#3 | |
Member
Sami
Join Date: Nov 2012
Location: Cap Town, South Africa
Posts: 87
Rep Power: 14 |
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, 06:01 |
|
#4 |
Senior Member
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 240
Rep Power: 17 |
Hi, I face some stability problems with multiphaseEulerFoam, too, and I have difficulties to find its source. Any news so far?
|
|
May 17, 2016, 08:15 |
|
#5 | |
Senior Member
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 240
Rep Power: 17 |
Quote:
Now it works fine, I modified the code to allow non-newtonian rheology models and coupled the solver to lagrangian particles using kinematicCollidingCloud, in case someone is interested. |
||
May 17, 2016, 09: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, 18:30 |
|
#7 |
Member
Vinícius da Costa Ávila
Join Date: Jul 2015
Location: Porto Alegre, Brazil
Posts: 62
Rep Power: 11 |
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, 10:42 |
|
#8 |
Member
Sami
Join Date: Nov 2012
Location: Cap Town, South Africa
Posts: 87
Rep Power: 14 |
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, 10:51 |
|
#9 | |
Senior Member
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 14 |
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 Euler-Euler class solvers seem to require.. |
||
May 18, 2016, 11:48 |
|
#10 |
Member
Sami
Join Date: Nov 2012
Location: Cap Town, South Africa
Posts: 87
Rep Power: 14 |
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, 12:44 |
|
#11 | |
Senior Member
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 14 |
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 |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Decomposing meshes | Tobi | OpenFOAM Pre-Processing | 22 | February 24, 2023 10:23 |
[OpenFOAM.org] OF2.3.1 + OS13.2 - Trying to use the dummy Pstream library | aylalisa | OpenFOAM Installation | 23 | June 15, 2015 15:49 |
Running stably with a large Courant number using pimpleFoam | mlawson | OpenFOAM | 11 | November 29, 2014 11:37 |
courant number explodes | 1988 | OpenFOAM Running, Solving & CFD | 10 | May 9, 2014 12:48 |