|
[Sponsors] |
November 7, 2013, 05:36 |
|
#21 |
Member
hannes
Join Date: Mar 2013
Posts: 47
Rep Power: 13 |
Hi Tobi,
what I meant was to increase the write-precision and not the time-precision. At least that helps me a lot when restarting simulations. Perhaps you could also try with larger time-steps. Your Courant-number 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 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
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 (non-closed singly connected) inlet 72 77 ok (non-closed singly connected) outlet 96 108 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-0.32 -0.32 0) (0.320385 0.32 2.07) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (2.28798557816184e-15 4.72323772349634e-15 -2.4044112705264e-16) OK. Max cell openness = 3.29050685177786e-16 OK. Max aspect ratio = 10.1120918504922 OK. Minimum face area = 2.78885395035561e-07. Maximum face area = 0.000490145875985542. Face area magnitudes OK. Min volume = 2.16128484755706e-10. Max volume = 9.89733961507632e-06. Total volume = 0.637961111300693. Cell volumes OK. Mesh non-orthogonality Max: 59.6160360035141 average: 9.19242164777073 Non-orthogonality 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: 650
Rep Power: 22 |
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 { "(h|e)" 0.5; T 0.5; U 0.5; "(k|omega)" 0.5; } } Quote:
|
||
November 7, 2013, 12:23 |
|
#24 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
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 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
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.92740348560543e-07 max: 0.000485035005140737 deltaT = 1.1999904000768e-05 Time = 1.1999904000768e-05 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.00197958041733e-15, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000242870336814764, Final residual = 5.81998985128184e-15, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0478932507424256, Final residual = 1.49170377519507e-12, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 2.84115059167819e-06, Final residual = 3.20991914926062e-15, 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.71166386208481e-11, global = -3.72967327420773e-13, cumulative = -3.72967327420773e-13 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.00297239339105636, Final residual = 8.87766177859976e-13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00322895267974367, Final residual = 7.2022976930579e-13, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.000379378167045237, Final residual = 1.64098927658491e-13, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00583615033699652, Final residual = 5.04571824401549e-12, 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.35850102227062e-11, global = -1.00955438062397e-11, cumulative = -1.04685111336604e-11 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.00120007723564343, Final residual = 1.41567527398776e-13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00126819150460156, Final residual = 8.52119948782395e-14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.000132513009886713, Final residual = 1.20612194921868e-13, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.999999998726388, Final residual = 1.07128788541726e-11, 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.56611538047759e-10, global = 6.42629601365956e-12, cumulative = -4.04221512000088e-12 PIMPLE: iteration 4 DILUPBiCG: Solving for Ux, Initial residual = 0.20194298245027, Final residual = 2.76331484073829e-06, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.202183852081353, Final residual = 3.09369505797864e-06, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.011558443777556, Final residual = 2.1117721551109e-07, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.999999988990808, Final residual = 2.34718589851968e-08, 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.23595272869451e-05, cumulative = 1.235952324473e-05 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.55394848855047e-05, 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 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
If someone what to have a look at the case you can download it here:
www.holzmann-cfd.de/upload/case_schichtspeicher.tar.gz Regards Tobi |
|
November 7, 2013, 13:47 |
|
#27 | ||
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 22 |
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 1e-6; relTol 0; } p_rgh { solver GAMG; tolerance 1e-06; relTol 0.01; smoother GaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } p_rghFinal { $p_rgh; relTol 0; } "(U|h|e|k|epsilon|R)" { solver PBiCG; preconditioner DILU; tolerance 1e-6; relTol 0.1; } "(U|h|e|k|epsilon|R)Final" { $U; relTol 0; } } PIMPLE { momentumPredictor yes; nOuterCorrectors 20; nCorrectors 1; nNonOrthogonalCorrectors 2; } relaxationFactors { fields { rho 0.2; "p_rgh*" 0.2; } equations { "(h|e)*" 0.2; "T*" 0.2; "U*" 0.2; "(k|omega)" 0.2; } } // ************************************************************************* // Quote:
|
|||
November 7, 2013, 14:21 |
|
#28 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
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 pressure-work off. I did not pass the first iteration Code:
Starting time loop Courant Number mean: 6.92740348560565e-07 max: 0.000485035005140737 deltaT = 1.1999904000768e-05 Time = 1.1999904000768e-05 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 8.42413507755248e-05, Final residual = 3.54729103609964e-13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 9.21378139634789e-05, Final residual = 1.82525530651333e-13, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0187168161980647, Final residual = 6.06353742754268e-11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 2.51634465379983e-05, Final residual = 1.56279104603086e-12, 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.41856296605531e-05, No Iterations 25 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.77991013424088e-13, global = 7.57329170739056e-16, cumulative = 7.57329170739056e-16 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.000680942944125076, Final residual = 1.76114642617064e-10, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000790443785879614, Final residual = 2.74873946883088e-11, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00892150262682482, Final residual = 3.51531774000921e-11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.000930309879599932, Final residual = 1.85820310760487e-10, 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.55945635793244e-05, No Iterations 26 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.17070327305022e-13, global = 7.55545489361245e-16, cumulative = 1.5128746601003e-15 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.0011395760233973, Final residual = 2.3652677798002e-10, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00131451841255039, Final residual = 3.5459694893589e-11, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00211693777561587, Final residual = 5.12024918394817e-11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00157011429103543, Final residual = 2.23495757487066e-10, 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.04689519445376e-05, No Iterations 25 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.26499270303041e-13, global = 7.51819694696299e-16, cumulative = 2.2646943547966e-15 PIMPLE: iteration 4 DILUPBiCG: Solving for Ux, Initial residual = 0.00134051101572924, Final residual = 2.31123511653502e-10, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00154057920561374, Final residual = 3.37560804094569e-11, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00167728822715795, Final residual = 6.05329331640972e-11, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00386886101388262, Final residual = 7.3395771670127e-10, 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.37944329478499e-05, 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/OpenFOAM-2.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: 650
Rep Power: 22 |
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 2013-11-07 17:35:53.000000000 +0100 +++ case_schichtspeicher_new/constant/thermophysicalProperties 2013-11-07 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 2013-11-07 17:35:52.000000000 +0100 +++ case_schichtspeicher_new/system/controlDict 2013-11-07 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 2013-11-07 17:35:52.000000000 +0100 +++ case_schichtspeicher_new/system/fvSolution 2013-11-07 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 { - "(h|e)*" 0.5; - "T*" 0.5; - "U*" 0.5; - "(k|omega)" 0.5; + "(h|e)*" 0.2; + "T*" 0.2; + "U*" 0.2; + "(k|omega)" 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.x-221db2718bbb Exec : buoyantPimpleFoam Date : Nov 07 2013 Time : 20:29:13 Host : "lincl-gar99" PID : 7556 Case : /fsgarwork/hej/OpenFOAM/hej-2.2.x/run/case_schichtspeicher_new nProcs : 1 sigFpe : Floating point exception trapping - not supported on this platform fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Disallowing user-supplied 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.92740348560595e-07 max: 0.000485035005140766 PIMPLE: no residual control data found. Calculations will employ 20 corrector loops Starting time loop Courant Number mean: 6.92740348560595e-07 max: 0.000485035005140766 deltaT = 1.1999904000768e-05 Time = 1.1999904000768e-05 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 9.1163630481814e-05, Final residual = 5.1193175231975e-16, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 9.71490848695474e-05, Final residual = 3.72481419404164e-16, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0187538865453022, Final residual = 9.35541487983718e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 1.76831741796161e-05, Final residual = 2.67228746299042e-15, 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.38713762319944e-05, No Iterations 10 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 7.35784709563305e-13, global = -1.85799499346502e-14, cumulative = -1.85799499346502e-14 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.000686775855395583, Final residual = 7.14396564266084e-15, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000794366042970502, Final residual = 7.67124530401523e-15, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00895359057081986, Final residual = 3.06238604879054e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.000858241068750189, Final residual = 2.21595842009871e-13, 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.38185421689043e-05, No Iterations 10 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.07269703829333e-13, global = -2.36291161416501e-14, cumulative = -4.22090660763003e-14 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.00113985058441466, Final residual = 3.39453599622536e-14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00131143105708394, Final residual = 2.83695907589603e-14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00213051004644595, Final residual = 4.87634302488784e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00131987080423691, Final residual = 2.07612675430487e-12, 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.77057661398407e-05, No Iterations 8 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.04720483404779e-13, global = -2.17775905294083e-14, cumulative = -6.39866566057086e-14 PIMPLE: iteration 4 DILUPBiCG: Solving for Ux, Initial residual = 0.00134457549675224, Final residual = 5.15202105577183e-14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00154116265898411, Final residual = 4.27055662165159e-14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00168344966711099, Final residual = 4.73616888210978e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.0030725107370483, Final residual = 6.84440257652529e-13, 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.20874453068772e-05, No Iterations 14 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.33338002294485e-13, global = -7.05884179281619e-15, cumulative = -7.10454983985248e-14 PIMPLE: iteration 5 DILUPBiCG: Solving for Ux, Initial residual = 0.00132358885145769, Final residual = 5.02572591500388e-14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00151469150052342, Final residual = 4.27040369829544e-14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00309141934215543, Final residual = 4.73606704650387e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00423053333647794, Final residual = 5.31883164969322e-13, 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.36607945170241e-05, No Iterations 7 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.40641933350117e-13, global = -6.71637389855192e-15, cumulative = -7.77618722970767e-14 PIMPLE: iteration 6 DILUPBiCG: Solving for Ux, Initial residual = 0.00114933316427106, Final residual = 3.52188561423197e-14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00131541601380186, Final residual = 3.10533766890295e-14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00302926592587962, Final residual = 1.82377683537736e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00457292206305569, Final residual = 4.9050421883915e-13, 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.01740404987871e-06, No Iterations 6 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 4.48392766489955e-14, global = -1.26739448691108e-15, cumulative = -7.90292667839878e-14 PIMPLE: iteration 7 DILUPBiCG: Solving for Ux, Initial residual = 0.000903791946432484, Final residual = 1.68167675426977e-14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00103572270814686, Final residual = 1.55461471360026e-14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00227116122272187, Final residual = 6.36529643342747e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00431659166765035, Final residual = 6.52883734499076e-13, 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.69133035163225e-05, No Iterations 7 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 7.28222153789903e-14, global = 4.14777380999866e-15, cumulative = -7.48814929739891e-14 PIMPLE: iteration 8 DILUPBiCG: Solving for Ux, Initial residual = 0.000656461251872167, Final residual = 4.68091222293737e-15, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000753363951284882, Final residual = 4.56550326819808e-15, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00135864839506408, Final residual = 7.11696732449413e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00372942778773862, Final residual = 6.89130623295454e-13, 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.80658102856342e-05, No Iterations 8 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 6.81750621896981e-14, global = 2.06687052300283e-15, cumulative = -7.28146224509863e-14 ... PIMPLE: iteration 20 DILUPBiCG: Solving for Ux, Initial residual = 8.45302689107386e-05, Final residual = 2.55448166154299e-13, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 8.91296100181636e-05, Final residual = 1.53097949219376e-13, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 1.30213145200845e-05, Final residual = 4.61166001820522e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.000412508974183904, Final residual = 2.36980416126873e-11, 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.87076693520767e-07, No Iterations 30 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.5545981302749e-15, global = -8.3055810216029e-17, cumulative = -3.18310651239291e-14 ExecutionTime = 935.46 s ClockTime = 939 s Courant Number mean: 1.43623019227783e-06 max: 0.0010605794458006 deltaT = 2.4882045429521e-05 Time = 8.92959320643111e-05 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.88850257396712e-14, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.000725049928641916, Final residual = 4.57045281358977e-14, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.000138206854662912, Final residual = 3.66943814316356e-14, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00018004401459, Final residual = 7.01266999185591e-13, 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: 650
Rep Power: 22 |
||
November 8, 2013, 09:17 |
|
#32 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
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: 650
Rep Power: 22 |
There is a useful debug switch in the global controlDict:
Code:
InfoSwitches { writePrecision 6; writeJobInfo 0; writeDictionaries 1; // Allow case-supplied 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: 14 |
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 no-flow 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 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Dear Bernhard,
I think in your case it is possible to start with your steady-state 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: 14 |
It is a buoyancy-driven 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 1e-6; relTol 0; } p_rgh { solver GAMG; tolerance 1e-8; relTol 0.01; smoother DICGaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } p_rghFinal { $p_rgh; relTol 0; } "(U|h|e|k|epsilon|R)" { solver PBiCG; preconditioner DILU; tolerance 1e-8; relTol 0.1; } "(U|h|e|k|epsilon|R)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 no-slip 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: 14 |
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 { "(h|e)" 0.1; T 0.1; U 0.1; "(k|epsilon)" 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 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
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 (non-empty, non-wedge) directions (1 1 0) Mesh (non-empty) 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.97086e-08 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: 14 |
Thanks for the hint, I actually thought that I have checked the mesh but I found a little mistake in the blockMeshDict, the z-points 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 m-3). The density is 1740 kg m-3 in the upper region of the storage at 550 °C and 1905 kg m-3 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 stand-by conditions and there was a good agreement between numerical simulation (with low-Re 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... |
|
|
|