|
[Sponsors] |
March 20, 2011, 09:30 |
reactingFoam crashes mysteriously
|
#1 |
Member
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 16 |
hi forum,
I am experiencing lots of instability with the solver reactionFoam with parallelization and they are not the janafthermo sort My domain has around 260 000 elements and was divided in 32 domains for parallelization - divided as (16 2 1) to minimize proc borders. Im using the chemkin reader to read a single step combustion of CH4 oxidation in a GT combustor (diffusion flames). Inlet velocities are between 20 and 50 m/s. I started fixing Courant No to 0.1. Everything looks good for about thousands of iterations but suddenly it crashes with a floating point exception. I say suddendly because I dont see a change in timestep or even the problematic janafThermo error message. Also, it never crashes at the same timestep: if I simply restart the solver with the same parameters (no CourantNo change or any other) it will crash in a different timeStep. It just goes!... as you can see in the following output after decreasing CourantNo to 0.035 (it still crashes!). I also attached a txt with the complete error message. Bellow the output i also posted the fvSolution and fvSchemes so you can take and criticize. Thank you José [...] DILUPBiCG: Solving for epsilon, Initial residual = 4.32044e-06, Final residual = 9.94436e-09, No Iterations 1 DILUPBiCG: Solving for k, Initial residual = 1.74131e-06, Final residual = 3.09184e-09, No Iterations 1 ExecutionTime = 161537 s ClockTime = 164174 s Courant Number mean: 0.00125684 max: 0.0349221 deltaT = 3.80307e-07 Time = 0.3549768 Solving chemistry diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 DILUPBiCG: Solving for Ux, Initial residual = 1.19096e-05, Final residual = 6.46123e-09, No Iterations 1 [24] #0 Foam::error:rintStack(Foam::Ostream&)[25] #0 Foam::error:rintStack(Foam::Ostream&)[26] #0 Foam::error:rintStack(Foam::Ostream&)[27] #0 [...] fvSolution solvers { rho { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0; } p { solver PCG; preconditioner DIC; tolerance 1e-6; relTol 0.0; } pFinal { solver PCG; preconditioner DIC; tolerance 1e-6; relTol 0.0; } "(U|Yi|hs|k|epsilon)" { solver PBiCG; preconditioner DILU; tolerance 1e-06; relTol 0; } } PISO { nCorrectors 3; nNonOrthogonalCorrectors 6; } relaxationFactors { rho 0.6; U 0.6; pFinal 0.4; p 0.4; k 0.6; epsilon 0.6; hs 0.6; T 0.6; } fvSchemes ddtSchemes { default Euler; //CrankNicholson 1; //Euler; } gradSchemes { default Gauss linear; grad(p) Gauss linear; } divSchemes { default none; div(phi,U) Gauss limitedLinearV 1; div(phi,Yi_h) Gauss limitedLinear01 1; div(phi,hs) Gauss limitedLinear 1; div(phiU,p) Gauss limitedLinear 1; div(phid,p) Gauss limitedLinear 1; div(phi,epsilon) Gauss limitedLinear 1; div(phi,k) Gauss limitedLinear 1; div((muEff*dev2(grad(U).T()))) Gauss linear; } laplacianSchemes { default Gauss linear uncorrected; laplacian(muEff,U) Gauss linear uncorrected; laplacian(mut,U) Gauss linear uncorrected; laplacian(DkEff,k) Gauss linear uncorrected; laplacian(DepsilonEff,epsilon) Gauss linear uncorrected; laplacian((rho*(1|A(U))),p) Gauss linear uncorrected; laplacian(alphaEff,hs) Gauss linear uncorrected; } interpolationSchemes { default linear; } snGradSchemes { default uncorrected; } fluxRequired { default no; p; } |
|
March 20, 2011, 10:01 |
error log
|
#2 |
Member
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 16 |
sorry, forgot the attachment
|
|
March 21, 2011, 04:52 |
|
#3 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hi,
does it always crash on the same equation, namely Uy? I have a similar problem with another solver, if I use PBiCG solvers with DILU preconditioner. You might want to try with another type of linear solver for that equation to verify if it still happens. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
March 21, 2011, 05:52 |
|
#4 |
Member
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 16 |
Hi alberto,
No, it crashes pretty randomly. Actually, my simulation crashes in two ways: a) mpi sends a message of "floating point exception" error (signal 8); b) mpi sends a message of "Hang Up" (signal 1) Are these 2 types of error related? A workmate told me that openFoam sometimes hangs on opensuse (i am using 11.4): do you think this might be the problem? |
|
March 21, 2011, 06:05 |
|
#5 | |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Quote:
Out of curiosity, do you use the system OpenMPI, the one in ThirdParty or a different version? Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
||
March 21, 2011, 06:15 |
|
#6 |
Member
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 16 |
hi,
I am using openMPI 1.4.1 from the Third Party package. I've compiled OpenFOAM myself. regards jose |
|
March 21, 2011, 06:35 |
|
#7 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
OK, we are using exactly the same configuration then. I am going to test a different MPI implementation to see if it might depend on that, and I'll let you know.
Maybe you should report it as a bug however. I reported mine, but we believed it was specific to the solver. You just confirmed it is not. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
March 21, 2011, 08:32 |
|
#8 |
Member
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 16 |
Ok, I ll report my problem ASAP.
One more thing, I d like you to take a look in my other post. It is not related to this one but is also turning my head around. Here is the link http://www.cfd-online.com/Forums/ope...dary-face.html Regards |
|
June 26, 2012, 05:42 |
|
#9 |
Member
achinta
Join Date: May 2010
Location: Sydney
Posts: 66
Rep Power: 16 |
hello reactingFoamers ,
i am new to reactingFoam solver. I am first interested in mixing of gases(without reaction). Some threads suggested reactingFoam (with chemistry switched off). I ran the solver and it crashed after 16 milliseconds. Here is my set-up ------------------------ chemistry properties file // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // psiChemistryModel ODEChemistryModel<gasThermoPhysics>; chemistry off; // switch off chemistry chemistrySolver ode; initialChemicalTimeStep 1e-07; sequentialCoeffs { cTauChem 0.001; } EulerImplicitCoeffs { cTauChem 0.05; equilibriumRateLimiter off; } odeCoeffs { solver SIBS; eps 0.05; scale 1; } // ************************************************** *********************** // Combustion properties file // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // combustionModel PaSR<psiChemistryCombustionModel>; active false; //combustion switched off infinitelyFastChemistryCoeffs { C 10.0; } PaSRCoeffs { Cmix Cmix [ 0 0 0 0 0 0 0 ] 0.1; turbulentReaction off; //switched off } // ************************************************** *********************** // reactions file ------------- species ( O2 H2O CH4 CO2 N2 ); reactions { methaneReaction { type irreversibleArrheniusReaction; reaction "CH4 + 2O2 = CO2 + 2H2O"; A 5.2e16; beta 0; Ta 14906; } } ----------------- Thermophysical properties file ---------------------- thermoType hsPsiMixtureThermo<reactingMixture<gasThermoPhysic s>>; inertSpecie N2; chemistryReader foamChemistryReader; foamChemistryFile "$FOAM_CASE/constant/reactions"; foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas"; -------------------- i am using SST turbulence model. Below are the boundary conditions: ------------ mut and alphat internalField uniform 0; boundaryField { INLET { type fixedValue; value uniform 0; } OUTLET { type zeroGradient; } mut for walls type mutUSpaldingWallFunction; value uniform 0; alphat for walls type alphatWallFunction; Prt 0.85; value uniform 0; ----------- T: internalField uniform 550; boundaryField { INLET_FUEL { type fixedValue; value uniform 293; } INLET_AIR { type fixedValue; value uniform 550; } OUTLET { type zeroGradient; } WALL { type zeroGradient; } ----------------- I don't think there could be problems with boundary conditions of U,CH4,N2,O2,k,omega and Ydefault and i won't write them here as it will lengthen the post. There error message seems to do something with mut wall function and happens because its diverging-Tempearure is going out of range. But the Courant number is below 1. Probably, i have to improve my fvSchemes and fvSolution : ---------- fvSchemes ddtSchemes { default backward; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss linearUpwindV grad(U); div(phi,Yi_h) Gauss limitedLinear01 1; div(phi,h) Gauss limitedLinear 1; div(phi,K) Gauss limitedLinear 1; div(phid,p) Gauss limitedLinear 1; div(phi,omega) Gauss limitedLinear 1; div(phi,k) Gauss limitedLinear 1; div((muEff*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } fluxRequired { default no; p; } ------------ fvSolution solvers { rho { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0.05; } rhoFinal { $rho; tolerance 1e-06; relTol 0; } p { solver PCG; preconditioner DIC; tolerance 1e-6; relTol 0.05; } pFinal { $p; tolerance 1e-6; relTol 0.0; } "(U|hs||k|omega)" { solver PBiCG; preconditioner DILU; tolerance 1e-06; relTol 0.05; } "(U|hs||k|omega)Final" { solver PBiCG; preconditioner DILU; tolerance 1e-06; relTol 0; } Yi { $hsFinal; } } PIMPLE { momentumPredictor no; nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 1; } ----------------------- I kindly request OpeFOAM experts to help me. I have spent lot of time on this problem. I didn't find many tutorials about reacting foam and i am not able to proceed with my simulation. Regards, Achinta |
|
August 4, 2015, 11:18 |
|
#10 | |
Member
Zhiyi Li
Join Date: Mar 2015
Location: Germany
Posts: 43
Rep Power: 11 |
Quote:
I saw in your case, fvSolution, you used PISO algorithm. But when I don't define PIMPLE in the fvSolution, there will be an error message. Do you think the PIMPLE keyword is required necessarily? Thank you Bes Regard Litchy |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[OpenFOAM] paraFoam crashes with channelFoam example | mgdenno | ParaView | 2 | February 5, 2011 08:46 |
reactingFoam wedge handling wrong U | dhondupant | OpenFOAM Bugs | 1 | December 9, 2010 08:34 |
reactingFoam floating point exception | pajofego | OpenFOAM | 0 | November 6, 2010 18:29 |
reactingFoam - turbulent reacting flow | hamburgFoam | OpenFOAM | 0 | December 7, 2009 13:57 |
Solver crashes only while writing a bak file | hagupta | CFX | 1 | April 11, 2006 19:10 |