
[Sponsors] 
February 24, 2017, 08:07 
Frozen rotor simulation

#1 
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 160
Rep Power: 6 
I have a 3d model of the fluid inside a pump impeller. I use SRFPimpleFoam with these boundary conditions (at the moment I have turbulence modelling turned off):
0/Urel: Code:
internalField uniform (0 0 0); boundaryField { Inlet { type SRFVelocity; inletValue uniform (5.5 0 0); relative no; value uniform (5.5 0 0); } Outlet { type rotatingPressureInletOutletVelocity; omega constant (439.823 0 0); // 4200 rpm value uniform (0 0 0); } Walls { type fixedValue; value uniform (0 0 0); } } Code:
internalField uniform 0; boundaryField { Inlet { type zeroGradient; } Outlet { type fixedValue; value uniform 0; } Walls { type zeroGradient; } } Any suggestions? Thanks 

February 24, 2017, 11:54 

#2 
New Member
Pablo Mtz. Filgueira
Join Date: Apr 2014
Location: VitoriaGasteiz
Posts: 25
Rep Power: 8 
Hi kandelabr!
Maybe your time step is too large. Try to enable adaptation with a low target Courant number to find out if you where too far from the appropiate time step value. Hope it helps! 

February 27, 2017, 05:23 

#3 
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 160
Rep Power: 6 
Hello,
thanks for reply. My initial courant number is as low as 0.5 but in a few timesteps it escalates to 1000+. When I cancel calculation and see intermediate results in paraFoam, there's a strangely high velocity right on the edge of blade on the outlet. My 'theory' is that I should include part of the fluid outside the impeller. I added a ring on the outlet (see attachment). Walls of the ring don't rotate. I have updated boundary conditions: 0/Urel: Code:
boundaryField { Inlet { type SRFVelocity; inletValue uniform (5.5 0 0); relative no; value uniform (5.5 0 0); } Outlet { type rotatingPressureInletOutletVelocity; omega constant (439.6 0 0); value uniform (0 0 0); } ImpellerWalls { type fixedValue; value uniform (0 0 0); } VoluteWalls { type SRFVelocity; inletValue uniform (0 0 0); relative no; value uniform (0 0 0); } } Code:
boundaryField { Inlet { type zeroGradient; } Outlet { type fixedValue; value uniform 0; } "(ImpellerWallsVoluteWalls)" { type zeroGradient; } } Code:
Starting time loop Courant Number mean: 0.000251018 max: 0.498309 Time = 5e006 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 1, Final residual = 0.0589673, No Iterations 2 smoothSolver: Solving for Urely, Initial residual = 1, Final residual = 0.0353024, No Iterations 2 smoothSolver: Solving for Urelz, Initial residual = 1, Final residual = 0.0354758, No Iterations 2 GAMG: Solving for p, Initial residual = 1, Final residual = 0.0251039, No Iterations 10 time step continuity errors : sum local = 3.17346e005, global = 9.67471e006, cumulative = 9.67471e006 GAMG: Solving for p, Initial residual = 0.0642548, Final residual = 6.36254e009, No Iterations 28 time step continuity errors : sum local = 3.2037e009, global = 9.18978e010, cumulative = 9.67379e006 ExecutionTime = 21.036 s ClockTime = 21 s Courant Number mean: 0.115253 max: 11.8192 Time = 1e005 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 0.295107, Final residual = 0.0172095, No Iterations 2 smoothSolver: Solving for Urely, Initial residual = 0.325871, Final residual = 0.0193292, No Iterations 2 smoothSolver: Solving for Urelz, Initial residual = 0.32537, Final residual = 0.0192109, No Iterations 2 GAMG: Solving for p, Initial residual = 0.0443229, Final residual = 0.00123252, No Iterations 4 time step continuity errors : sum local = 0.000405645, global = 0.000161995, cumulative = 0.000152321 GAMG: Solving for p, Initial residual = 0.170854, Final residual = 5.22185e009, No Iterations 31 time step continuity errors : sum local = 8.10986e010, global = 2.2843e010, cumulative = 0.000152321 ExecutionTime = 76.17 s ClockTime = 76 s Courant Number mean: 0.114349 max: 13.1679 Time = 1.5e005 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 0.0773901, Final residual = 0.00273242, No Iterations 2 smoothSolver: Solving for Urely, Initial residual = 0.063731, Final residual = 0.00264391, No Iterations 2 smoothSolver: Solving for Urelz, Initial residual = 0.0636405, Final residual = 0.00263283, No Iterations 2 GAMG: Solving for p, Initial residual = 0.685402, Final residual = 0.0158037, No Iterations 2 time step continuity errors : sum local = 0.000249623, global = 3.31512e005, cumulative = 0.00011917 GAMG: Solving for p, Initial residual = 0.44843, Final residual = 8.32125e009, No Iterations 29 time step continuity errors : sum local = 6.59205e011, global = 1.86083e011, cumulative = 0.00011917 ExecutionTime = 93.095 s ClockTime = 93 s Courant Number mean: 0.114484 max: 22.49 Time = 2e005 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 0.0317763, Final residual = 0.00129583, No Iterations 2 smoothSolver: Solving for Urely, Initial residual = 0.0257825, Final residual = 0.00123121, No Iterations 2 smoothSolver: Solving for Urelz, Initial residual = 0.0257636, Final residual = 0.00121398, No Iterations 2 GAMG: Solving for p, Initial residual = 0.206075, Final residual = 0.00911697, No Iterations 2 time step continuity errors : sum local = 9.355e005, global = 1.57552e005, cumulative = 0.000134925 GAMG: Solving for p, Initial residual = 0.141025, Final residual = 6.86812e009, No Iterations 31 time step continuity errors : sum local = 6.23933e011, global = 1.76006e011, cumulative = 0.000134925 ExecutionTime = 157.508 s ClockTime = 157 s Courant Number mean: 0.114674 max: 44.8948 Time = 2.5e005 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 0.0215758, Final residual = 0.00129572, No Iterations 2 smoothSolver: Solving for Urely, Initial residual = 0.0174309, Final residual = 0.00128903, No Iterations 2 smoothSolver: Solving for Urelz, Initial residual = 0.0175009, Final residual = 0.00129434, No Iterations 2 GAMG: Solving for p, Initial residual = 0.264416, Final residual = 0.00736207, No Iterations 3 time step continuity errors : sum local = 5.0336e005, global = 5.26303e006, cumulative = 0.000129662 GAMG: Solving for p, Initial residual = 0.279803, Final residual = 4.17876e009, No Iterations 31 time step continuity errors : sum local = 2.87213e011, global = 8.10944e012, cumulative = 0.000129662 ExecutionTime = 177.742 s ClockTime = 177 s Courant Number mean: 0.114891 max: 308.443 Time = 3e005 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 0.0211509, Final residual = 0.000875977, No Iterations 4 smoothSolver: Solving for Urely, Initial residual = 0.0202869, Final residual = 0.000901536, No Iterations 4 smoothSolver: Solving for Urelz, Initial residual = 0.0225594, Final residual = 0.00107766, No Iterations 4 GAMG: Solving for p, Initial residual = 0.396771, Final residual = 0.0149064, No Iterations 3 time step continuity errors : sum local = 0.000129075, global = 2.29825e006, cumulative = 0.00013196 GAMG: Solving for p, Initial residual = 0.522485, Final residual = 4.09076e009, No Iterations 33 time step continuity errors : sum local = 4.17708e011, global = 1.18071e011, cumulative = 0.00013196 ExecutionTime = 239.778 s ClockTime = 239 s Courant Number mean: 0.116034 max: 1059.57 Time = 3.5e005 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 0.0594116, Final residual = 0.00524483, No Iterations 4 smoothSolver: Solving for Urely, Initial residual = 0.0595924, Final residual = 0.00385022, No Iterations 6 smoothSolver: Solving for Urelz, Initial residual = 0.0786362, Final residual = 0.00630619, No Iterations 6 GAMG: Solving for p, Initial residual = 0.678854, Final residual = 0.0287991, No Iterations 3 time step continuity errors : sum local = 0.000422026, global = 1.63291e006, cumulative = 0.000130327 GAMG: Solving for p, Initial residual = 0.676814, Final residual = 8.72489e009, No Iterations 28 time step continuity errors : sum local = 2.19735e010, global = 6.7754e011, cumulative = 0.000130327 ExecutionTime = 254.929 s ClockTime = 255 s Courant Number mean: 0.120919 max: 4742.82 Time = 4e005 PIMPLE: iteration 1 smoothSolver: Solving for Urelx, Initial residual = 0.262302, Final residual = 0.0131629, No Iterations 6 smoothSolver: Solving for Urely, Initial residual = 0.331618, Final residual = 0.0246462, No Iterations 10 smoothSolver: Solving for Urelz, Initial residual = 0.41908, Final residual = 0.0382986, No Iterations 10 GAMG: Solving for p, Initial residual = 0.806774, Final residual = 0.020975, No Iterations 4 time step continuity errors : sum local = 0.00081054, global = 2.52914e006, cumulative = 0.000127798 GAMG: Solving for p, Initial residual = 0.555316, Final residual = 8.76215e009, No Iterations 30 time step continuity errors : sum local = 9.50579e010, global = 2.7071e010, cumulative = 0.000127798 ExecutionTime = 312.559 s ClockTime = 312 s Courant Number mean: 0.152711 max: 18586.1 Time = 4.5e005 Any comments? Thanks! 

February 27, 2017, 05:33 

#4 
New Member
Pablo Mtz. Filgueira
Join Date: Apr 2014
Location: VitoriaGasteiz
Posts: 25
Rep Power: 8 
Wow, that mesh looks really cool.
I'm not expert in SRF and that stuff in OF, but I think you should take a look at this: https://github.com/OpenFOAM/OpenFOAM...ontrolDict#L48 In LINE 48 you can see the adjustTimeStep parameter and maxCo, which you should keep below a reasonable value (<1?) Maybe it helps 

February 27, 2017, 06:53 

#5 
Senior Member
Join Date: Mar 2015
Posts: 250
Rep Power: 9 
Hi Nejc,
My first step would be to get the initial residuals lower. It seems like you have only 1 pimple iteration per timestep. Keep us updated! Best regards, Kate 

February 27, 2017, 07:25 

#6 
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 160
Rep Power: 6 
Hello Pablo, Kate,
I have turned time step adjustment on and it doesn't really help, it just makes time step 1000 times smaller. I also changed nCorrectors and some other settings so that now residuals are 1e10 or even less and time step has still dropped 1000 times. I'll just leave it be and see what comes out. I'll be back with a report Thanks (for now) 

February 27, 2017, 08:37 

#7 
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 160
Rep Power: 6 
Well, it turns out that although residuals are now much lower the solution still doesn't converge. I suspect boundary conditions are wrong.
In plain english, I guess that's my case:  inlet: uniform velocity in absolute coordinates, pressure with zero gradient  impeller walls: zero velocity in relative coords, zero gradient pressure  volute walls: zero velocity in absolute coordinates, zero gradient pressure  outlet: ??? (zero gradient? free stream? rotating <something something>)? I'm obviously having trouble with outlet BCs. If there's something on the web (or in books) I could learn from about that, I'd be very happy. 

March 2, 2017, 18:20 

#8 
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 613
Rep Power: 18 
Did you try nOuterCorrectors >> 1 with underrelaxation?


March 3, 2017, 04:53 

#9 
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 160
Rep Power: 6 
Yes I have. I had to check, though. And doing that I found pRefCell and pRefValue in my PIMPLE settings... I copied that from another case and missed that... I guess that was the problem.
It seems to work now, without turbulence modelling. I guess I'll have to further investigate boundary conditionsfor kepsilon. Thanks! Last edited by kandelabr; March 3, 2017 at 06:30. 

March 3, 2017, 08:08 

#10 
Member
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 77
Rep Power: 8 
can you post your checkMesh results? As I see you are using a tetra mesh for your problem. I had the same problem before and switching from tetra to hexa had actually solved my problem. Maybe you can try that aswell.
Regards, Ricky
__________________
If it is easy, then something is fishy! 

March 5, 2017, 14:02 

#11 
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 160
Rep Power: 6 
Hello,
checkMesh says the mesh is OK. I have two options now, either try hexahedral mesh with salome, use snappyHexMesh or do a MRF simulation with modelled volute as well. This moment i'm busy with another project but I'll report here whatever I discover. Thanks for now. 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Frozen viscosity option not listed in configuration template files  OSE  SU2  0  April 27, 2016 13:05 
The difference between frozen rotor and unsteady frozen rotor in turbo machinery?  samane_81  CFX  11  April 7, 2016 14:54 
Frozen rotor centrifugal pump  energy382  CFX  1  September 28, 2012 15:54 
Frozen Rotor Model CFX  windsim  CFX  13  January 5, 2012 14:25 
Frozen Rotor Interface (CFX 5.5)  gilberto  CFX  4  November 14, 2001 22:07 