
[Sponsors] 
November 7, 2013, 05:36 

#21 
Member
hannes
Join Date: Mar 2013
Posts: 38
Rep Power: 4 
Hi Tobi,
what I meant was to increase the writeprecision and not the timeprecision. At least that helps me a lot when restarting simulations. Perhaps you could also try with larger timesteps. Your Courantnumber is extremely low. Maybe it's also worth trying with nNonOrthogonalCorrectors > 0 (I reckon your mesh is not 100% orthogonal?). Hannes 

November 7, 2013, 07:04 

#22 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
Hi Hannes,
I increased the "writePrecision" and not the "timePrecision" At the moment I increased both to 15, set my dT lower and the nonOrthogonal to 1. My mesh is good: Code:
Time = 0 Mesh stats points: 1420256 faces: 3787230 internal faces: 3501625 cells: 1185217 faces per cell: 6.14980632238653 boundary patches: 3 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 981723 prisms: 108684 wedges: 0 pyramids: 0 tet wedges: 42 tetrahedra: 0 polyhedra: 94768 Breakdown of polyhedra by number of faces: faces number of cells 4 746 5 920 6 27064 7 14 9 38347 11 7 12 25377 15 2055 18 231 21 4 24 3 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology wall 285437 286422 ok (nonclosed singly connected) inlet 72 77 ok (nonclosed singly connected) outlet 96 108 ok (nonclosed singly connected) Checking geometry... Overall domain bounding box (0.32 0.32 0) (0.320385 0.32 2.07) Mesh (nonempty, nonwedge) directions (1 1 1) Mesh (nonempty) directions (1 1 1) Boundary openness (2.28798557816184e15 4.72323772349634e15 2.4044112705264e16) OK. Max cell openness = 3.29050685177786e16 OK. Max aspect ratio = 10.1120918504922 OK. Minimum face area = 2.78885395035561e07. Maximum face area = 0.000490145875985542. Face area magnitudes OK. Min volume = 2.16128484755706e10. Max volume = 9.89733961507632e06. Total volume = 0.637961111300693. Cell volumes OK. Mesh nonorthogonality Max: 59.6160360035141 average: 9.19242164777073 Nonorthogonality check OK. Face pyramids OK. Max skewness = 2.68658486302931 OK. Coupled point location match (average 0) OK. Mesh OK. End Regards Tobi 

November 7, 2013, 08:30 

#23  
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 317
Rep Power: 10 
The idea of PIMPLE is to combine the PISO and the SIMPLE algorithms. You iterate several times over one time step and use underrelaxation to get a stable solution. Of course, if you only did one iteration per time step + underrelaxation your solution would not be correct. Therefore, you do multiple iterations (check your residuals).
So I would suggest, set nOuterCorrectors to e. g. 20 and and for the relaxation factors something like that: Code:
relaxationFactors { fields { rho 0.5; p_rgh 0.5; } equations { "(he)" 0.5; T 0.5; U 0.5; "(komega)" 0.5; } } Quote:


November 7, 2013, 12:23 

#24 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
Hi Joachim,
I know that the PIMPLE solver is a combination of PISO + SIMPLE. But your hint makes sence. To your suggestion to have a look at the tutorials. In the incompressible solver there are given the relaxation factors but always no underrelaxation. The factors always set to 1. In all other tutorials (used PIMPLE) its the same. But as I said befor your hint makes sence to make nOuterCorrectors = 20 or bigger to resolve the underrelaxation. I will give it a try. 

November 7, 2013, 12:35 

#25 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
Hi all,
there is something strange in my simulation. After changing the fvSolution with underrelaxation and using nOuterCorrections you can see that p_rgh is divergating: Code:
Starting time loop Courant Number mean: 6.92740348560543e07 max: 0.000485035005140737 deltaT = 1.1999904000768e05 Time = 1.1999904000768e05 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 0.000227906917869276, Final residual = 8.00197958041733e15, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000242870336814764, Final residual = 5.81998985128184e15, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0478932507424256, Final residual = 1.49170377519507e12, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 2.84115059167819e06, Final residual = 3.20991914926062e15, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.498391513070369, Final residual = 0.0048072398384564, No Iterations 15 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.71166386208481e11, global = 3.72967327420773e13, cumulative = 3.72967327420773e13 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.00297239339105636, Final residual = 8.87766177859976e13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00322895267974367, Final residual = 7.2022976930579e13, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.000379378167045237, Final residual = 1.64098927658491e13, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00583615033699652, Final residual = 5.04571824401549e12, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.683706329213839, Final residual = 0.00636112847281219, No Iterations 3 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.35850102227062e11, global = 1.00955438062397e11, cumulative = 1.04685111336604e11 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.00120007723564343, Final residual = 1.41567527398776e13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00126819150460156, Final residual = 8.52119948782395e14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.000132513009886713, Final residual = 1.20612194921868e13, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.999999998726388, Final residual = 1.07128788541726e11, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.912844010131718, Final residual = 0.00372321844237935, No Iterations 25 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.56611538047759e10, global = 6.42629601365956e12, cumulative = 4.04221512000088e12 PIMPLE: iteration 4 DILUPBiCG: Solving for Ux, Initial residual = 0.20194298245027, Final residual = 2.76331484073829e06, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.202183852081353, Final residual = 3.09369505797864e06, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.011558443777556, Final residual = 2.1117721551109e07, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.999999988990808, Final residual = 2.34718589851968e08, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.998398747386878, Final residual = 0.00508283293858129, No Iterations 22 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0.000223240394694745, global = 1.23595272869451e05, cumulative = 1.235952324473e05 PIMPLE: iteration 5 DILUPBiCG: Solving for Ux, Initial residual = 0.471230394911473, Final residual = 0.025384850908797, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.473116888057838, Final residual = 0.0265424633310726, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00122668676570402, Final residual = 0.000118580949836749, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.999995067819933, Final residual = 0.0405102898366022, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.989682031159005, Final residual = 408.300070365686, No Iterations 1000 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1057.20006941247, global = 1.28054489666432, cumulative = 1.28053253714107 PIMPLE: iteration 6 DILUPBiCG: Solving for Ux, Initial residual = 0.381749758427118, Final residual = 0.0226744526047933, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.388689320231996, Final residual = 0.0258482539592854, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0150666652678197, Final residual = 9.55394848855047e05, No Iterations 2 DILUPBiCG: Solving for h, Initial residual = 0.999999999998639, Final residual = 0.0746556981472783, No Iterations 1 > FOAM FATAL ERROR: Maximum number of iterations exceeded 

November 7, 2013, 12:50 

#26 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
If someone what to have a look at the case you can download it here:
www.holzmanncfd.de/upload/case_schichtspeicher.tar.gz Regards Tobi 

November 7, 2013, 13:47 

#27  
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 317
Rep Power: 10 
Add the following line to your thermophysicalProperties:
Code:
dpdt no; Quote:
Code:
/** C++ **\  =========    \\ / F ield  OpenFOAM: The Open Source CFD Toolbox   \\ / O peration  Version: 2.2.2   \\ / A nd  Web: www.OpenFOAM.org   \\/ M anipulation   \**/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { "rho.*" { solver PCG; preconditioner DIC; tolerance 1e6; relTol 0; } p_rgh { solver GAMG; tolerance 1e06; relTol 0.01; smoother GaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } p_rghFinal { $p_rgh; relTol 0; } "(UhekepsilonR)" { solver PBiCG; preconditioner DILU; tolerance 1e6; relTol 0.1; } "(UhekepsilonR)Final" { $U; relTol 0; } } PIMPLE { momentumPredictor yes; nOuterCorrectors 20; nCorrectors 1; nNonOrthogonalCorrectors 2; } relaxationFactors { fields { rho 0.2; "p_rgh*" 0.2; } equations { "(he)*" 0.2; "T*" 0.2; "U*" 0.2; "(komega)" 0.2; } } // ************************************************************************* // Quote:


November 7, 2013, 14:21 

#28 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
Hi Joachim,
thanks for having a look at the case. Its working ? On my computer its not working I changed the fvSolution to yours and added the additionally line in the thermodynamics to switch the pressurework off. I did not pass the first iteration Code:
Starting time loop Courant Number mean: 6.92740348560565e07 max: 0.000485035005140737 deltaT = 1.1999904000768e05 Time = 1.1999904000768e05 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 8.42413507755248e05, Final residual = 3.54729103609964e13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 9.21378139634789e05, Final residual = 1.82525530651333e13, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0187168161980647, Final residual = 6.06353742754268e11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 2.51634465379983e05, Final residual = 1.56279104603086e12, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.580699975182104, Final residual = 0.00478720965181613, No Iterations 12 GAMG: Solving for p_rgh, Initial residual = 0.334415330256829, Final residual = 0.00194091937705147, No Iterations 4 GAMG: Solving for p_rgh, Initial residual = 0.00898117679195753, Final residual = 7.41856296605531e05, No Iterations 25 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.77991013424088e13, global = 7.57329170739056e16, cumulative = 7.57329170739056e16 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.000680942944125076, Final residual = 1.76114642617064e10, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000790443785879614, Final residual = 2.74873946883088e11, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00892150262682482, Final residual = 3.51531774000921e11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.000930309879599932, Final residual = 1.85820310760487e10, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.638129166520357, Final residual = 0.00461673233068237, No Iterations 12 GAMG: Solving for p_rgh, Initial residual = 0.276067203051502, Final residual = 0.00160361243232873, No Iterations 4 GAMG: Solving for p_rgh, Initial residual = 0.00626050873130121, Final residual = 5.55945635793244e05, No Iterations 26 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.17070327305022e13, global = 7.55545489361245e16, cumulative = 1.5128746601003e15 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.0011395760233973, Final residual = 2.3652677798002e10, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00131451841255039, Final residual = 3.5459694893589e11, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00211693777561587, Final residual = 5.12024918394817e11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00157011429103543, Final residual = 2.23495757487066e10, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.582881869836832, Final residual = 0.0047754812909206, No Iterations 11 GAMG: Solving for p_rgh, Initial residual = 0.187053430058256, Final residual = 0.00122013761404655, No Iterations 4 GAMG: Solving for p_rgh, Initial residual = 0.00460434224989363, Final residual = 3.04689519445376e05, No Iterations 25 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.26499270303041e13, global = 7.51819694696299e16, cumulative = 2.2646943547966e15 PIMPLE: iteration 4 DILUPBiCG: Solving for Ux, Initial residual = 0.00134051101572924, Final residual = 2.31123511653502e10, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00154057920561374, Final residual = 3.37560804094569e11, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00167728822715795, Final residual = 6.05329331640972e11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00386886101388262, Final residual = 7.3395771670127e10, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.428119251009807, Final residual = 0.00330107855087453, No Iterations 10 GAMG: Solving for p_rgh, Initial residual = 0.102997075578967, Final residual = 0.000913027858903973, No Iterations 4 GAMG: Solving for p_rgh, Initial residual = 0.00305980243329896, Final residual = 1.69264833389649e+22, No Iterations 1000 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4575673.39169354, global = 0.999999960825977, cumulative = 0.999999960825979 PIMPLE: iteration 5 DILUPBiCG: Solving for Ux, Initial residual = 0.119374031126277, Final residual = 0.00177263203267028, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.100299258671754, Final residual = 0.00143605435012423, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00310684451551815, Final residual = 7.37944329478499e05, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 1, Final residual = 0.0751911356351347, No Iterations 15 [1] [1] [1] > FOAM FATAL ERROR: [1] Maximum number of iterations exceeded [1] [1] From function thermo<Thermo, Type>::T(scalar f, scalar T0, scalar (thermo<Thermo, Type>::*F)(const scalar) const, scalar (thermo<Thermo, Type>::*dFdT)(const scalar) const, scalar (thermo<Thermo, Type>::*limit)(const scalar) const) const [1] in file /home/shorty/OpenFOAM/OpenFOAM2.2.x/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76. [1] FOAM parallel run aborting I did not change the standard OpenFOAM solver! 

November 7, 2013, 15:51 

#29 
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 317
Rep Power: 10 
The only other change I made was that I run the case on 6 processors in parallel (as specified in your decompseParDict). Here are all changes:
Code:
diff uBbwr case_schichtspeicher/constant/thermophysicalProperties case_schichtspeicher_new/constant/thermophysicalProperties  case_schichtspeicher/constant/thermophysicalProperties 20131107 17:35:53.000000000 +0100 +++ case_schichtspeicher_new/constant/thermophysicalProperties 20131107 18:38:24.942474560 +0100 @@ 26,6 +26,8 @@ energy sensibleEnthalpy; } +dpdt off; + mixture { specie Only in case_schichtspeicher_new: log diff uBbwr case_schichtspeicher/system/controlDict case_schichtspeicher_new/system/controlDict  case_schichtspeicher/system/controlDict 20131107 17:35:52.000000000 +0100 +++ case_schichtspeicher_new/system/controlDict 20131107 20:37:36.257611022 +0100 @@ 27,9 +27,9 @@ deltaT 0.00001; writeControl adjustableRunTime; +writeControl timeStep; writeInterval 0.5; +writeInterval 1; purgeWrite 0; diff uBbwr case_schichtspeicher/system/fvSolution case_schichtspeicher_new/system/fvSolution  case_schichtspeicher/system/fvSolution 20131107 17:35:52.000000000 +0100 +++ case_schichtspeicher_new/system/fvSolution 20131107 18:32:27.697339449 +0100 @@ 64,22 +64,22 @@ momentumPredictor yes; nOuterCorrectors 20; nCorrectors 1;  nNonOrthogonalCorrectors 0; + nNonOrthogonalCorrectors 2; } relaxationFactors { fields {  rho 0.5;  "p_rgh*" 0.5; + rho 0.2; + "p_rgh*" 0.2; } equations {  "(he)*" 0.5;  "T*" 0.5;  "U*" 0.5;  "(komega)" 0.5; + "(he)*" 0.2; + "T*" 0.2; + "U*" 0.2; + "(komega)" 0.2; } } // ************************************************************************* // My OpenFOAM version is the commit 9f19321c01ca1e30d339b48eef3f70f5534ca7f4 from the 2.2.x branch at github. And here the log (single process) until I stopped the run with CTRL+C: Code:
/**\  =========    \\ / F ield  OpenFOAM: The Open Source CFD Toolbox   \\ / O peration  Version: 2.2.x   \\ / A nd  Web: www.OpenFOAM.org   \\/ M anipulation   \**/ Build : 2.2.x221db2718bbb Exec : buoyantPimpleFoam Date : Nov 07 2013 Time : 20:29:13 Host : "linclgar99" PID : 7556 Case : /fsgarwork/hej/OpenFOAM/hej2.2.x/run/case_schichtspeicher_new nProcs : 1 sigFpe : Floating point exception trapping  not supported on this platform fileModificationChecking : Monitoring runtime modified files using timeStampMaster allowSystemOperations : Disallowing usersupplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading g Reading thermophysical properties Selecting thermodynamics package { type heRhoThermo; mixture pureMixture; transport polynomial; thermo hPolynomial; equationOfState icoPolynomial; specie specie; energy sensibleEnthalpy; } Reading field U Reading/calculating face flux field phi Creating turbulence model Selecting turbulence model type RASModel Selecting RAS turbulence model laminar Calculating field g.h Reading field p_rgh Creating field dpdt Creating field kinetic energy K No finite volume options present Radiation model not active: radiationProperties not found Selecting radiationModel none Courant Number mean: 6.92740348560595e07 max: 0.000485035005140766 PIMPLE: no residual control data found. Calculations will employ 20 corrector loops Starting time loop Courant Number mean: 6.92740348560595e07 max: 0.000485035005140766 deltaT = 1.1999904000768e05 Time = 1.1999904000768e05 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 9.1163630481814e05, Final residual = 5.1193175231975e16, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 9.71490848695474e05, Final residual = 3.72481419404164e16, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0187538865453022, Final residual = 9.35541487983718e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 1.76831741796161e05, Final residual = 2.67228746299042e15, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.642251839912398, Final residual = 0.00606170016183952, No Iterations 12 GAMG: Solving for p_rgh, Initial residual = 0.263340985713119, Final residual = 0.00128423498480519, No Iterations 5 GAMG: Solving for p_rgh, Initial residual = 0.0094694014915167, Final residual = 9.38713762319944e05, No Iterations 10 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 7.35784709563305e13, global = 1.85799499346502e14, cumulative = 1.85799499346502e14 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.000686775855395583, Final residual = 7.14396564266084e15, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000794366042970502, Final residual = 7.67124530401523e15, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00895359057081986, Final residual = 3.06238604879054e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.000858241068750189, Final residual = 2.21595842009871e13, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.684628929599244, Final residual = 0.00600288778007521, No Iterations 12 GAMG: Solving for p_rgh, Initial residual = 0.221360640023605, Final residual = 0.00215099578466949, No Iterations 2 GAMG: Solving for p_rgh, Initial residual = 0.00588179229227761, Final residual = 4.38185421689043e05, No Iterations 10 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.07269703829333e13, global = 2.36291161416501e14, cumulative = 4.22090660763003e14 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.00113985058441466, Final residual = 3.39453599622536e14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00131143105708394, Final residual = 2.83695907589603e14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00213051004644595, Final residual = 4.87634302488784e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00131987080423691, Final residual = 2.07612675430487e12, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.619999889569158, Final residual = 0.00601747915483503, No Iterations 11 GAMG: Solving for p_rgh, Initial residual = 0.158771748997878, Final residual = 0.00151027382652094, No Iterations 5 GAMG: Solving for p_rgh, Initial residual = 0.00554752021932156, Final residual = 4.77057661398407e05, No Iterations 8 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.04720483404779e13, global = 2.17775905294083e14, cumulative = 6.39866566057086e14 PIMPLE: iteration 4 DILUPBiCG: Solving for Ux, Initial residual = 0.00134457549675224, Final residual = 5.15202105577183e14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00154116265898411, Final residual = 4.27055662165159e14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00168344966711099, Final residual = 4.73616888210978e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.0030725107370483, Final residual = 6.84440257652529e13, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.463912159501019, Final residual = 0.00412087485939903, No Iterations 9 GAMG: Solving for p_rgh, Initial residual = 0.095802803028836, Final residual = 0.000450164304916792, No Iterations 6 GAMG: Solving for p_rgh, Initial residual = 0.00379183328240838, Final residual = 3.20874453068772e05, No Iterations 14 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.33338002294485e13, global = 7.05884179281619e15, cumulative = 7.10454983985248e14 PIMPLE: iteration 5 DILUPBiCG: Solving for Ux, Initial residual = 0.00132358885145769, Final residual = 5.02572591500388e14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00151469150052342, Final residual = 4.27040369829544e14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00309141934215543, Final residual = 4.73606704650387e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00423053333647794, Final residual = 5.31883164969322e13, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.31553478013289, Final residual = 0.00242434318098542, No Iterations 8 GAMG: Solving for p_rgh, Initial residual = 0.0375850916881401, Final residual = 0.000280647329191612, No Iterations 6 GAMG: Solving for p_rgh, Initial residual = 0.0024286729121287, Final residual = 2.36607945170241e05, No Iterations 7 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.40641933350117e13, global = 6.71637389855192e15, cumulative = 7.77618722970767e14 PIMPLE: iteration 6 DILUPBiCG: Solving for Ux, Initial residual = 0.00114933316427106, Final residual = 3.52188561423197e14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00131541601380186, Final residual = 3.10533766890295e14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00302926592587962, Final residual = 1.82377683537736e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00457292206305569, Final residual = 4.9050421883915e13, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.207251334185455, Final residual = 0.00140326652548671, No Iterations 8 GAMG: Solving for p_rgh, Initial residual = 0.0150022362729806, Final residual = 0.000107645936085827, No Iterations 6 GAMG: Solving for p_rgh, Initial residual = 0.00162956850473228, Final residual = 9.01740404987871e06, No Iterations 6 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.48392766489955e14, global = 1.26739448691108e15, cumulative = 7.90292667839878e14 PIMPLE: iteration 7 DILUPBiCG: Solving for Ux, Initial residual = 0.000903791946432484, Final residual = 1.68167675426977e14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00103572270814686, Final residual = 1.55461471360026e14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00227116122272187, Final residual = 6.36529643342747e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00431659166765035, Final residual = 6.52883734499076e13, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.155353314726842, Final residual = 0.0012535018150181, No Iterations 10 GAMG: Solving for p_rgh, Initial residual = 0.0393566739412764, Final residual = 0.00021399861689955, No Iterations 6 GAMG: Solving for p_rgh, Initial residual = 0.00204648560880461, Final residual = 1.69133035163225e05, No Iterations 7 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 7.28222153789903e14, global = 4.14777380999866e15, cumulative = 7.48814929739891e14 PIMPLE: iteration 8 DILUPBiCG: Solving for Ux, Initial residual = 0.000656461251872167, Final residual = 4.68091222293737e15, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000753363951284882, Final residual = 4.56550326819808e15, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00135864839506408, Final residual = 7.11696732449413e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00372942778773862, Final residual = 6.89130623295454e13, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.180962310789521, Final residual = 0.00160395784679058, No Iterations 10 GAMG: Solving for p_rgh, Initial residual = 0.0476639702954349, Final residual = 0.000236999978140721, No Iterations 7 GAMG: Solving for p_rgh, Initial residual = 0.00250092661516854, Final residual = 1.80658102856342e05, No Iterations 8 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 6.81750621896981e14, global = 2.06687052300283e15, cumulative = 7.28146224509863e14 ... PIMPLE: iteration 20 DILUPBiCG: Solving for Ux, Initial residual = 8.45302689107386e05, Final residual = 2.55448166154299e13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 8.91296100181636e05, Final residual = 1.53097949219376e13, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 1.30213145200845e05, Final residual = 4.61166001820522e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.000412508974183904, Final residual = 2.36980416126873e11, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.919292093709393, Final residual = 0.0046168991139576, No Iterations 3 GAMG: Solving for p_rgh, Initial residual = 0.0982067389495213, Final residual = 0.000599694904119355, No Iterations 8 GAMG: Solving for p_rgh, Initial residual = 0.0185352617464535, Final residual = 5.87076693520767e07, No Iterations 30 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.5545981302749e15, global = 8.3055810216029e17, cumulative = 3.18310651239291e14 ExecutionTime = 935.46 s ClockTime = 939 s Courant Number mean: 1.43623019227783e06 max: 0.0010605794458006 deltaT = 2.4882045429521e05 Time = 8.92959320643111e05 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 0.000645140198227976, Final residual = 4.88850257396712e14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000725049928641916, Final residual = 4.57045281358977e14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.000138206854662912, Final residual = 3.66943814316356e14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00018004401459, Final residual = 7.01266999185591e13, No Iterations 1 GAMG: Solving for p_rgh, Initial residual = 0.979818275773936, Final residual = 0.00645209010331692, No Iterations 4 GAMG: Solving for p_rgh, Initial residual = 0.0316252767907005, Final residual = 0.000254600336052926, No Iterations 6 

November 8, 2013, 08:50 

#31 
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 317
Rep Power: 10 

November 8, 2013, 09:17 

#32 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
Hi,
that was a mistake I made. I corrected it in the last post. That "no" "false" "off" should be the same is correct. I made any other strange mistake that I can not say at the moment. Maybe I wrote dtdp instead of dpdt in the thermodynamics ?! Thanks for your help. Now everything is working. Regards Tobi 

November 8, 2013, 09:29 
Output dictionary files into log

#33 
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 317
Rep Power: 10 
There is a useful debug switch in the global controlDict:
Code:
InfoSwitches { writePrecision 6; writeJobInfo 0; writeDictionaries 1; // Allow casesupplied C++ code (#codeStream, codedFixedValue) allowSystemOperations 0; } 

January 10, 2014, 09:32 

#34 
New Member
Bernhard
Join Date: May 2012
Location: Freiburg/Germany
Posts: 7
Rep Power: 5 
Hi Tobi,
I have a similar application and want to study the degradation of the stratification in the storage tank. I have initialized a temperature profile and want to see how the heat loss and the convective mixing currents at the wall affect the stratification under noflow conditions. My case works well with buoyantBoussinesqPimpleFoam. Now I want to run it with buoyantPimpleFoam because I want use chtMultiRegion later. The simulation stops after a couple of iterations due to pressure problems. Could you please summarize your steps?  Are you using now the solver with the changed createFields.H and have you initialized p or p_rgh?  What boundary conditions are using for p and p_rgh?  I have seen that you are using GAMG for the pressure, while this solver works quite good for my incompressible case, it does not work with buoyantPimpleFoam.  Could you post your fvSolution and fvScheme? I have also disabled dpdt and use polynomials in the thermophysical properties. I tried to download your zip file but it is not available anymore. Thanks and best regards Bernhard 

January 13, 2014, 02:24 

#35 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
Dear Bernhard,
I think in your case it is possible to start with your steadystate solution, arent you? Can you give me a hint why you have to use buoyantPimpleFoam befor using cht? How are your Settings of the fvSolution / pimple algorithm and your Relaxation factors? What about your schemes? Is is a forced or buoyancy driven flow? Regards Tobi 

January 13, 2014, 08:52 

#36 
New Member
Bernhard
Join Date: May 2012
Location: Freiburg/Germany
Posts: 7
Rep Power: 5 
It is a buoyancydriven case, the geometry is a cylinder as wedge with upper, lower and outer wall. There is no inlet or outlet. I use setFields and funkySetFields to initialize a temperature profile so that the upper region is 823 K and the lower 563 K and a transition zone in between (my fluid is molten salt). I use groovyBC for the outer wall to apply a variable gradient. The aim is to investigate the influence of the wall currents caused by the heat loss on the stratification. The result for the incompressible case is looking like that.
T.jpg U.jpg If I switch now to buoyantPimpleFoam and make the necessary changes for the BC's the simulation is not really running (only for some iterations). I am using fixedFluxPressure for p_rgh (for the walls) and calculated for the p. I tried to initialize a hydrostatic pressure for p with funkySetField but it does not help. While I was using a linearUpwind Scheme in the incompressible case for U and T, I have set all div schemes to Gauss upwind for the buoyantPimpleFoam case. I am using further a lowRe turbulence model. Increasing the number of correctors did not really help. This is my fvSolution file: Code:
solvers { "rho.*" { solver PCG; preconditioner DIC; tolerance 1e6; relTol 0; } p_rgh { solver GAMG; tolerance 1e8; relTol 0.01; smoother DICGaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } p_rghFinal { $p_rgh; relTol 0; } "(UhekepsilonR)" { solver PBiCG; preconditioner DILU; tolerance 1e8; relTol 0.1; } "(UhekepsilonR)Final" { $U; relTol 0; } } PIMPLE { momentumPredictor yes; nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; } Code:
thermoType { type heRhoThermo; mixture pureMixture; transport polynomial; thermo hPolynomial; equationOfState icoPolynomial; specie specie; energy sensibleEnthalpy; } mixture { specie { nMoles 1; molWeight 91.4; } equationOfState { rhoCoeffs<8> ( 2263.7234 0.636 0 0 0 0 0 0 ); } thermodynamics { Hf 0; Sf 0; CpCoeffs<8> ( 1515 0 0 0 0 0 0 0 ); } transport { muCoeffs<8> ( 0.00163 0 0 0 0 0 0 0 ); kappaCoeffs<8> ( 0.522 0 0 0 0 0 0 0 ); } } dpdt off; The fvSchemes are quite simple Code:
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss upwind; div(phi,K) Gauss upwind; div(phi,h) Gauss upwind; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div(phi,omega) Gauss upwind; div((muEff*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } fluxRequired { default no; p_rgh ; } However, if I change the patch type for the upper boundary (the upper face area of the cylinder) from wall to patch and use an outletInlet BC for U instead of a noslip condition and a fixedValue or totalPressure for the p_rgh the simulation is running. I dont know if these BCs are suitable to treat the upper boundary as an opening representing a free surface if the storage is not completely full. While the GAMG solver for the pressure was not working at all for the case with only walls as boundaries, it is faster than the PCG solver with the top patch as opening. I am using buoyantPimpleFoam to check the required settings before I switch to cht. I would be thankful for some hints. 

January 14, 2014, 08:12 

#38 
New Member
Bernhard
Join Date: May 2012
Location: Freiburg/Germany
Posts: 7
Rep Power: 5 
Hi Tobi,
thats my ControlDict Code:
libs ( "libOpenFOAM.so" "libcompressibleRASModels.so" "libgroovyBC.so" ); application buoyantPimpleFoam; startFrom latestTime; stopAt endTime; endTime 28800; deltaT 0.001; writeControl adjustableRunTime; writeInterval 10;//300; purgeWrite 0; writeFormat ascii; writePrecision 6; writeJobInfo 0; writeDictionaries 1; writeCompression off; timeFormat general; timePrecision 10; runTimeModifiable true; adjustTimeStep yes; maxCo 0.1; maxDeltaT 0.1; Code:
PIMPLE { momentumPredictor yes; nOuterCorrectors 20; nCorrectors 3; nNonOrthogonalCorrectors 1; } relaxationFactors { fields { rho 0.05; p_rgh 0.1; } equations { "(he)" 0.1; T 0.1; U 0.1; "(kepsilon)" 0.1; } } I've attached my case, if you want to have a look, it contains an Allrun script which does more or less everything such as initializing pressure and temperature by funkySetFiels. The parallel configuration uses 4 processors. Maybe you can have a look. Thanks Bernhard 

January 14, 2014, 13:51 

#39 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,125
Blog Entries: 6
Rep Power: 20 
Hi Bernhard,
1. your mesh is not okay for a rotation 2d case: Code:
Checking geometry... Overall domain bounding box (0 0 0.0436194) (0.999048 2 0.0436194) Mesh (nonempty, nonwedge) directions (1 1 0) Mesh (nonempty) directions (1 1 1) Wedge front with angle 2.5 degrees ***Wedge patch front not planar. Point (0.229781 0 0.0100325) is not in patch plane by 3.97086e08 meter. 2. your pressure gradient is 100000 Pa to 89.4 Pa ? That makes no sence to me 3. why do you use a turbulence model ? 4. what fluid do you have? Regards Tobi 

January 14, 2014, 15:49 

#40 
New Member
Bernhard
Join Date: May 2012
Location: Freiburg/Germany
Posts: 7
Rep Power: 5 
Thanks for the hint, I actually thought that I have checked the mesh but I found a little mistake in the blockMeshDict, the zpoints for all the arcs were wrong. After the change the mesh passed checkMesh, however, after executing ./Allrun and checking the mesh again I had the same error, so I removed the renumberMesh overwrite and now it also passes checkMesh after Allrun. Is seems the renumberMesh is mixing something up.
Anyway that is the new mesh file. mesh.txt I have initialized p by calculating the hydrostatic pressure with the average density of my fluid (1822 kg m3). The density is 1740 kg m3 in the upper region of the storage at 550 °C and 1905 kg m3 at 290°C in the lower region. With a storage height of 2 m, I would expect a pressure of approx. 35750 Pa, what is shown in ParaView if I have a look at cell center values, if I switch to interpolated values, the values I have specified for the BCs of p are mixing that up. So I have manually set the values for top (0 Pa) and bottom (35747.64 Pa) and the value for the side wall to 0??? What should be the inital value for the side wall? I probably have to restructure my Allrun script and use $internalField. My fluid is molten salt, it is a heat transfer fluid and heat storage medium used in solar thermal power plants, withstanding temperatures upto 600 °C. I have found some literature for water storages at standby conditions and there was a good agreement between numerical simulation (with lowRe model) and experimental data. Thats more or less the reason for the turbulence model. I will check if the changes in p have some effect... 

Thread Tools  
Display Modes  

