
[Sponsors] 
Divergence only by lengthening of simulated geometry, buoyantPimpleFoam 

LinkBack  Thread Tools  Display Modes 
March 12, 2014, 05:34 
Divergence only by lengthening of simulated geometry, buoyantPimpleFoam

#1 
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Hi guys! I am totally new to this forums, and am looking for some input on a matter of simulating purely buoyancydriven flow.
I have a model of a vertical pipe with inversely stratified water, the interface being in the centre. The top water is 370 K and the bottom is 470 K. I have used NIST to produce my own polynomials for water properties. The pressure is 7 MPa, and I am absolutely certain the polynomials are valid outside of my temperature interval. The solver is buoyantPimpleFoam, so that heat transfer is also modeled. So when relaxed, the water should mix by buoyancy forces. My 250 cm long pipe with 20 cm diameter doesn't diverge, but multiplying the length by 8 (and thus also the number of cells) does. The pressure field reaches 1001 iterations in every time step, and after about 0.9 seconds the residual is too great. Any other parameter is solved for in 1 iteration. It is apparent to me that most probably the buoyancy forces become too great, and the vast acceleration of the fluid parcels simply make the physics problematic. I myself understand the physics and fluid mechanics, and recieved help from a teacher in setting the numerics, e.g. correctors and relaxation, etc. My only set boundary conditions except zeroGradient in temperature, and noslip in U, is 7 MPa pressure on top, and fixedFluxPressure on the walls. I have set nOuterCorrectors to 3, and nonOrthogonalCorrectors 0 (changing the latter didn't make a difference, I found). I have a relaxation factor of 0.5 for all parameters. in controlDict i juse adjustable time steps, with a maximum Co of 0.5. With 8 CPUs, I simply decompose the pipe vertically and solve in parallel. Other than the lengthening, the model is completely identical to the one that did not diverge. QUESTION: Is there any way to make this model work, other than refining the mesh so much that it becomes unpractical to finish the simulation within reasonable times? I am running the finer mesh now (3 million cells), but so far there are only slightly lower residuals in p_rgh. (I am validating the model against an experiment, so I need at least 150 seconds of the simulations. With 8 CPU's at hand, that time is precious to my project.) Thank you for any input 

March 12, 2014, 05:58 

#2 
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Also, I have kepsilon turbulence, RASmodel and blockMesh. I have temporarily doubled the maxIter for p_rgh, to see how that goes.


March 13, 2014, 06:12 

#3 
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 391
Rep Power: 11 
I think it would help if you could post you boundary conditions here (the files in the "0" directory). And also the files in the system directory.


March 14, 2014, 06:15 

#4 
Senior Member
Nicolas Edh
Join Date: Mar 2010
Location: Uppsala, Sweden
Posts: 106
Rep Power: 9 
Hi CarlMagnus,
Welcome to the forums! I think this thread might help you buoyantSimpleFoam and watertank Although the title says buoytantSimpleFoam they end up talking about the pimple version of the solver. One thing you could try is to force the dpdt term to zero as suggested here. Personally I have some doubts about using icoPolynomial with a compressible solver. In your case suspect one would have to develop a compressible version of icoPolynomial. If you attempt that then maybe this thread is of use How to add a new Equation of State Best Regards Nicolas 

March 14, 2014, 06:47 

#5  
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Quote:
Code:
Courant Number mean: 1.20916 max: 1.74202 deltaT = 0.000133197 Time = 0.948441 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 0.139108, Final residual = 0.00152522, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.34399, Final residual = 0.00131887, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.143764, Final residual = 0.00206552, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.0166886, Final residual = 4.20692e05, No Iterations 1 DICPCG: Solving for p_rgh, Initial residual = 0.00840404, Final residual = 8.39006e05, No Iterations 1465 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.38231e05, global = 1.97348e07, cumulative = 3.12036e06 DICPCG: Solving for p_rgh, Initial residual = 0.00149478, Final residual = 1.48895e05, No Iterations 1186 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.43263e05, global = 4.67573e07, cumulative = 2.65278e06 DICPCG: Solving for p_rgh, Initial residual = 0.00219061, Final residual = 1.88537e05, No Iterations 1488 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.17406e05, global = 1.43209e09, cumulative = 2.65135e06 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.130218, Final residual = 0.00288864, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.270003, Final residual = 0.00209802, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.135979, Final residual = 0.00270099, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.0580598, Final residual = 0.000321248, No Iterations 1 DICPCG: Solving for p_rgh, Initial residual = 0.0168534, Final residual = 0.00015614, No Iterations 1473 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 9.48016e05, global = 5.11128e08, cumulative = 2.60024e06 DICPCG: Solving for p_rgh, Initial residual = 0.000767346, Final residual = 6.73006e06, No Iterations 1492 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 5.39433e05, global = 1.50556e09, cumulative = 2.59873e06 DICPCG: Solving for p_rgh, Initial residual = 0.00157791, Final residual = 1.36561e05, No Iterations 1484 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 5.88858e05, global = 6.39112e09, cumulative = 2.60513e06 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.168643, Final residual = 1.9668e08, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 0.30858, Final residual = 1.14325e07, No Iterations 3 DILUPBiCG: Solving for Uz, Initial residual = 0.160013, Final residual = 9.34459e07, No Iterations 3 DILUPBiCG: Solving for h, Initial residual = 0.811487, Final residual = 1.55269e07, No Iterations 6 DICPCG: Solving for p_rgh, Initial residual = 0.315944, Final residual = 0.00313795, No Iterations 1464 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0.00948333, global = 3.08738e05, cumulative = 3.34789e05 DICPCG: Solving for p_rgh, Initial residual = 0.001084, Final residual = 9.0015e06, No Iterations 1488 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0.0160053, global = 2.87319e07, cumulative = 3.37662e05 DICPCG: Solving for p_rgh, Initial residual = 0.334231, Final residual = 8.98454e09, No Iterations 1536 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 3.23113e08, global = 3.7752e13, cumulative = 3.37662e05 DILUPBiCG: Solving for epsilon, Initial residual = 0.985638, Final residual = 9.23328e07, No Iterations 10 DILUPBiCG: Solving for k, Initial residual = 0.999651, Final residual = 1.0427e07, No Iterations 9 bounding k, min: 16.2075 max: 48108.4 average: 6.53818 ExecutionTime = 28571 s ClockTime = 28812 s fieldMinMax fieldMinMax1 output: min(mag(U)) = 0 at position (0.000140286 0 0.000392805) on processor 0 max(mag(U)) = 18873.4 at position (0.00972534 0.448438 0.00851755) on processor 1 min(p) = 6.98115e+06 at position (0.0102747 2 0.00851755) on processor 7 max(p) = 1.11691e+12 at position (0.0096 0 0.0008) on processor 0 min(T) = 375.435 at position (0.0102747 1.99844 0.00851755) on processor 7 max(T) = 686.871 at position (0.01 0.0015625 0.0004) on processor 0 min(k) = 1e15 at position (0.000140286 0.0015625 0.000392805) on processor 0 max(k) = 48108.4 at position (0.0181196 1.01719 0.00447374) on processor 4 min(epsilon) = 5.14027e05 at position (0.0096309 0.0015625 0.00959039) on processor 0 max(epsilon) = 55069.9 at position (0.0184835 1.02031 0.00382936) on processor 4 min(rho) = 60.3145 at position (0.01 0.0015625 0.0004) on processor 0 max(rho) = 960.914 at position (0.0102747 1.99844 0.00851755) on processor 7 Courant Number mean: 582.627 max: 1054.19 deltaT = 6.31753e08 Time = 0.948442 Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 1 2 0 0 0 0]; internalField uniform 7e+06; boundaryField { // when setting everything in p_rgh, these settings should all be "calculated" // this way conflicts are avoided bottom { type calculated; value $internalField; // internalField is just a variable from line 20 // value can always be used and is a useful when having // types that are not supported by paraview, like calculated, // because then there is at least a value at the beginning } top { type calculated; value $internalField; } fixedWalls { type calculated; value $internalField; } } // ************************************************************************* // Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 1 2 0 0 0 0]; internalField uniform 7e6; boundaryField { bottom { type fixedFluxPressure; value uniform 7e6; } // one surface should be set to include the pressure if there is no outlet top { type fixedValue; value uniform 7e6; } fixedWalls { type fixedFluxPressure; value uniform 7e6; } } // ************************************************************************* // Should I perhaps invest time in implementing the water property data libraries into my OpenFOAM distribution? (Don't recall the name of it, but XSteam utilizes it.) 

March 14, 2014, 06:49 

#6  
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Quote:
Thank you for all advice, I will definitely look into it after lunch. BTW, look at the courant number (code in my post above)  can it not just be that my case has a too great buoyant force? Such a courant number can result from a sudden acceleration, right? I do not know how good the selfadjustable time stepping works in OpenFOAM, but I presume there are limitations. 

March 14, 2014, 07:34 

#7  
Senior Member
Nicolas Edh
Join Date: Mar 2010
Location: Uppsala, Sweden
Posts: 106
Rep Power: 9 
Hi,
My guess is that the high courant numbers are a symptom, not a cause. Although I have seen cases where the variable time stepping caused problems I don't think it's a problem for your case. However it's so easy to rule out. You could try with a fixed, small time step. Restart the solution from some time where the solution seems stable (maybe t=0.8) and see what happens. Quote:
/Nicolas 

March 14, 2014, 08:09 

#8  
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Quote:
Yes, I also understand the courant number is a symptom. Thank you for confirming that the adjustable time step should be good enough! Since I have no written data due to the early divergence, I cannot restart it close to the point of divergence. But I will definitely rerun it for about 1.5 seconds, and write out every 0.1 seconds, to see if the physics are messed up. Thank you all for the kind feedback! I will hit you back with any updates. 

March 14, 2014, 09:30 

#9 
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Perhaps I should also supply you with my blockMeshDict, although I would not hope it is the problem since I have lengthened a functioning mesh, without ruining the aspect ratio.
Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( //Bottom circle (0 0 0) (0.01 0 0.01) (0.02 0 0) (0.01 0 0.01) //Bottom square (0.002 0 0) (0.01 0 0.008) (0.018 0 0) (0.01 0 0.008) //Top circle (0 2 0) (0.01 2 0.01) (0.02 2 0) (0.01 2 0.01) //Top square (0.002 2 0) (0.01 2 0.008) (0.018 2 0) (0.01 2 0.008) ); blocks ( //Blocks with grading hex (0 4 7 3 8 12 15 11) (6 20 640) simplegrading (2 1 1) hex (1 5 4 0 9 13 12 8) (6 20 640) simplegrading (2 1 1) hex (2 6 5 1 10 14 13 9) (6 20 640) simplegrading (2 1 1) hex (3 7 6 2 11 15 14 10) (6 20 640) simplegrading (2 1 1) hex (4 5 6 7 12 13 14 15) (20 20 640) simplegrading (1 1 1) ); edges ( arc 3 0 (0.00292893219 0 0.00707106781) arc 11 8 (0.00292893219 2 0.00707106781) arc 0 1 (0.00292893219 0 0.00707106781) arc 8 9 (0.00292893219 2 0.00707106781) arc 1 2 (0.01707106781 0 0.00707106781) arc 9 10 (0.01707106781 2 0.00707106781) arc 2 3 (0.01707106781 0 0.00707106781) arc 10 11 (0.01707106781 2 0.00707106781) ); boundary ( bottom { type wall; faces ( (0 3 7 4) (1 0 4 5) (2 1 5 6) (3 2 6 7) (4 7 6 5) ); } top { type wall; faces ( (11 8 12 15) (8 9 13 12) (9 10 14 13) (10 11 15 14) (12 13 14 15) ); } fixedWalls { type wall; faces ( (0 8 11 3) (1 9 8 0) (2 10 9 1) (3 11 10 2) ); } ); mergePatchPairs ( ); // ************************************************************************* // 

March 17, 2014, 07:12 

#10 
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Hi all,
I have now some written data on the divergence. This time it stopped at 0.8, again with a high Courant number. Code:
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 0.2464, Final residual = 0.00335823, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.593198, Final residual = 0.00190324, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.247312, Final residual = 0.00349747, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00869132, Final residual = 2.18017e05, No Iterations 1 DICPCG: Solving for p_rgh, Initial residual = 0.00398637, Final residual = 3.61218e05, No Iterations 1489 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.03653e05, global = 1.40403e11, cumulative = 1.02108e05 DICPCG: Solving for p_rgh, Initial residual = 0.00357569, Final residual = 3.54487e05, No Iterations 182 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 9.35465e06, global = 2.01011e07, cumulative = 1.00097e05 DICPCG: Solving for p_rgh, Initial residual = 0.00233777, Final residual = 2.24788e05, No Iterations 1489 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 9.29375e06, global = 1.3286e09, cumulative = 1.00111e05 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.0864367, Final residual = 0.00149477, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.224922, Final residual = 0.00107517, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0844334, Final residual = 0.00146596, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00691049, Final residual = 3.44991e05, No Iterations 1 DICPCG: Solving for p_rgh, Initial residual = 0.00641169, Final residual = 5.38555e05, No Iterations 1477 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.93211e05, global = 2.24201e08, cumulative = 1.00335e05 DICPCG: Solving for p_rgh, Initial residual = 0.000772992, Final residual = 6.98352e06, No Iterations 1492 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 3.72301e06, global = 1.50077e10, cumulative = 1.00336e05 DICPCG: Solving for p_rgh, Initial residual = 0.00844094, Final residual = 7.77021e05, No Iterations 1485 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 6.92087e06, global = 5.63935e10, cumulative = 1.00342e05 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.0579123, Final residual = 8.39988e09, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 0.508397, Final residual = 5.73844e09, No Iterations 3 DILUPBiCG: Solving for Uz, Initial residual = 0.056135, Final residual = 4.83073e09, No Iterations 3 DILUPBiCG: Solving for h, Initial residual = 0.0361884, Final residual = 2.59179e08, No Iterations 3 DICPCG: Solving for p_rgh, Initial residual = 0.0186181, Final residual = 0.00015513, No Iterations 1469 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 3.53444e05, global = 2.98665e09, cumulative = 1.00372e05 DICPCG: Solving for p_rgh, Initial residual = 0.00162671, Final residual = 1.35096e05, No Iterations 1490 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 6.90039e05, global = 1.57893e09, cumulative = 1.00356e05 DICPCG: Solving for p_rgh, Initial residual = 0.033054, Final residual = 7.48061e09, No Iterations 1527 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.73547e09, global = 5.41923e14, cumulative = 1.00356e05 DILUPBiCG: Solving for epsilon, Initial residual = 0.0695951, Final residual = 1.982e07, No Iterations 4 DILUPBiCG: Solving for k, Initial residual = 0.558717, Final residual = 2.36136e08, No Iterations 5 ExecutionTime = 25219 s ClockTime = 25547 s fieldMinMax fieldMinMax1 output: min(mag(U)) = 0 at position (0.000140286 0 0.000392805) on processor 0 max(mag(U)) = 15.4614 at position (0.016613 1.97656 0.00715851) on processor 7 min(p) = 1.2251e+08 at position (0.0096 0.0015625 8.41452e21) on processor 0 max(p) = 6.98107e+06 at position (0.01 2 0.0004) on processor 7 min(T) = 367.115 at position (0.016613 1.02344 0.00715851) on processor 4 max(T) = 466.916 at position (0.0198597 0.976562 0.000392805) on processor 3 min(k) = 2.59436e05 at position (0.0194437 0.0015625 0.00264287) on processor 0 max(k) = 0.0688622 at position (0.0103691 0.995312 0.00959039) on processor 3 min(epsilon) = 7.90773e05 at position (0.0096309 0.0015625 0.00959039) on processor 0 max(epsilon) = 4.34332 at position (0.0103691 0.995312 0.00959039) on processor 3 min(rho) = 876.878 at position (0.0198597 0.976562 0.000392805) on processor 3 max(rho) = 966.759 at position (0.016613 1.02344 0.00715851) on processor 4 Courant Number mean: 1.61501 max: 2.36562 deltaT = 8.85805e05 Time = 0.806548 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 0.116203, Final residual = 0.00157145, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.283288, Final residual = 0.00107667, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.116585, Final residual = 0.00160151, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.0216613, Final residual = 5.94309e05, No Iterations 1 DICPCG: Solving for p_rgh, Initial residual = 0.0176146, Final residual = 0.000147573, No Iterations 1491 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 2.20453e05, global = 1.00842e09, cumulative = 1.00346e05 DICPCG: Solving for p_rgh, Initial residual = 0.00166656, Final residual = 1.51823e05, No Iterations 1493 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.30494e05, global = 2.15517e12, cumulative = 1.00346e05 DICPCG: Solving for p_rgh, Initial residual = 0.00252207, Final residual = 2.37896e05, No Iterations 1491 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.19989e05, global = 1.98796e10, cumulative = 1.00348e05 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.137127, Final residual = 1.64292e05, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 0.282967, Final residual = 0.00240918, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.136695, Final residual = 1.75124e05, No Iterations 2 DILUPBiCG: Solving for h, Initial residual = 0.243831, Final residual = 0.00152883, No Iterations 1 DICPCG: Solving for p_rgh, Initial residual = 0.0631348, Final residual = 0.000625358, No Iterations 1484 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0.000246716, global = 1.16196e08, cumulative = 1.00232e05 DICPCG: Solving for p_rgh, Initial residual = 0.00104445, Final residual = 1.00774e05, No Iterations 1495 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0.000126416, global = 1.36375e09, cumulative = 1.00245e05 DICPCG: Solving for p_rgh, Initial residual = 0.00192377, Final residual = 1.89664e05, No Iterations 1491 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0.000122684, global = 6.97997e10, cumulative = 1.00239e05 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.237038, Final residual = 3.90856e08, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 0.208437, Final residual = 5.63899e08, No Iterations 3 DILUPBiCG: Solving for Uz, Initial residual = 0.232736, Final residual = 4.06552e08, No Iterations 3 DILUPBiCG: Solving for h, Initial residual = 0.979527, Final residual = 6.20112e07, No Iterations 4 greenshot screen capture Here is a picture of my mesh. I chose the weird design just to get a better aspect ratio of the cells. how to do a screenshot on a pc I am preparing a fine mesh, and attempting to solve the coarse one from 0.8 s with a manually set, much smaller time step. 

March 17, 2014, 07:56 

#11 
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Hi,
As i suspected, there was nothing wrong with the adjustable time step; even with the smallest manual stepping (1e7 s) the simulation would not converge, starting from 0.8 s. Still > 1400 iterations for p_rgh. I am queuing running a simulation with easier properties; atmospheric pressure, thus more incompressible. Please give feedback if you see something problematic with my mesh; meshing is not my experienced side, but this one (above) seems nice enough for OpenFOAM to handle. Otherwise I will keep you posted on the progress with the fine mesh run. Last edited by arvhult; March 17, 2014 at 10:46. 

March 18, 2014, 16:47 

#12 
Senior Member
Nicolas Edh
Join Date: Mar 2010
Location: Uppsala, Sweden
Posts: 106
Rep Power: 9 
Hi,
Did you try setting dpdt off yet? I'm feeling quite confident that your case will run if you do so. I did try to implement a compressiblePolynomial. It's based on icoPolynomial but additionally a polynomial for the compressibility has to be entered. I tried it on the hot room tutorial, but even with compressibility added, it crashes. Both icoPolynomial and my compressiblePolynomial runs just fine when dpdt is turned off. The simulation will also diverge as soon as dpdt is turn on if initialized with dpdt off. I suspect that dpdt will diverge for incomressible liquids as a direct consequence of the definition of incompressible. I mentioned this here. Now how, one motivates that dpdt can be safely neglected is another thing. I suspect that the same thing is done in fluent. At least from what I understand of the theory manual. Good luck. Nicolas 

March 19, 2014, 09:01 

#13  
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Quote:
Thanks for the heads up on that. When I now came to work, the "easier" simulation above mentioned had converged for 2 s, i.e. past the before time where it diverged. I will restart it now from 2 s; if it diverges, I will turn dpdt off. Next will also be to implement the water property libraries; I just recieved them from Roman. I also started two simulations of the actual case my work is focused on, which has a nicer aspect ratio (diameter 2 dm, height 23 m). They didn't diverge up to 150 seconds. This is good news, but I still need to validate my model against the nasty one. I will keep you posted on how the continued run goes  and thank you again for the great help. Best regards, CarlMagnus Last edited by arvhult; March 25, 2014 at 07:42. 

March 25, 2014, 07:21 

#14 
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Hi everyone;
Posting an update now as promised. My simulation is still running, coming up on its 11th second (in a week...). So, ehrm, this might take a while. Do you know if a maximum courant number larger than 0.5 would work? (That is kind of a default value I have used from tutorials and other models). Changing that would be the only way to speed up the simulation I believe. Other than that, thank you for all the help; hopefully the problem is now solved. I will still look into employing the property libraries, to make the physics nicer to the solver. Best regards, CarlMagnus 

March 25, 2014, 16:17 

#15 
Senior Member
Nicolas Edh
Join Date: Mar 2010
Location: Uppsala, Sweden
Posts: 106
Rep Power: 9 
Hi,
I happy to hear it worked for you. Did you have to turn off dpdt or did it work with it switch on and varying density? You could get a simulation to "work" with high Co. By increasing the outer iterations and introducing under relaxation. (will this improve the speed of the simulation?). I've seen post in this forums of people running with max Co as high as 24. It's however difficult to say if it's a good idea. The best way to find out is to try. Why not try to run with Co > 0.5 and compare it to your present case? Just restart with a higher Co. Let it run for a day or two and compare. Was it faster? Did the solution change? Since you have a simple geometry you probably have high Co in large parts of the domain and any errors introduced by the high Co will affect a large part of the domain. And using high Cos is probably not the best approach. If that's not the case and you have high Co in just a few cells consider remeshing instead of running with high Co. Best Regards Nicolas 

March 28, 2014, 05:32 

#16  
New Member
CarlMagnus Arvhult
Join Date: Feb 2014
Posts: 12
Rep Power: 4 
Quote:
I changed the model to atmospheric pressure, and the polynomials as well. Then it became more incompressible, and icoPolynomial probably works better. The simulation is still in the most transient phase (1020 s) where most accelerations occur. I may wait until monday before taking further measures; I would expect the water to slow down by then. Can I turn dpdt off while restarting, or will that mess things up? Otherwise, I will look into the Co and the property libraries to make things more realistic. Best regards, Carl 

March 29, 2014, 18:03 

#17 
Senior Member
Nicolas Edh
Join Date: Mar 2010
Location: Uppsala, Sweden
Posts: 106
Rep Power: 9 
Hi,
I don't think you can turn it off while running. Well maybe you can but it's not a good idea. As far as I understand the code, it will stop updating dpdt if you turn it off while the simulation is running. It won't reset dpdt=0. On the other hand, I don't think you need to restart in order to turn of dpdt. Just stop the simulation. /Nicolas 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Importing CAD geometry and Editing edges to match  Ahmed  CFX  15  March 21, 2016 13:39 
[ICEM] Ogrid around wing geometry  Anorky  ANSYS Meshing & Geometry  12  August 17, 2011 21:28 
Simulation of Flow through Complex 3D Geometry  EmersonKB  CFX  5  July 2, 2009 08:17 
vitual _ real  deneb  FLUENT  3  January 22, 2007 05:31 
Virtual/Real geometry.  Jack Keays  FLUENT  9  June 15, 2000 23:39 