|
[Sponsors] |
February 24, 2017, 07:07 |
Frozen rotor simulation
|
#1 |
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 196
Rep Power: 9 |
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, 10:54 |
|
#2 |
New Member
Pablo Mtz. Filgueira
Join Date: Apr 2014
Location: Vitoria-Gasteiz
Posts: 25
Rep Power: 12 |
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, 04:23 |
|
#3 |
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 196
Rep Power: 9 |
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; } "(ImpellerWalls|VoluteWalls)" { type zeroGradient; } } Code:
Starting time loop Courant Number mean: 0.000251018 max: 0.498309 Time = 5e-006 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.17346e-005, global = -9.67471e-006, cumulative = -9.67471e-006 GAMG: Solving for p, Initial residual = 0.0642548, Final residual = 6.36254e-009, No Iterations 28 time step continuity errors : sum local = 3.2037e-009, global = 9.18978e-010, cumulative = -9.67379e-006 ExecutionTime = 21.036 s ClockTime = 21 s Courant Number mean: 0.115253 max: 11.8192 Time = 1e-005 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.22185e-009, No Iterations 31 time step continuity errors : sum local = 8.10986e-010, global = -2.2843e-010, cumulative = 0.000152321 ExecutionTime = 76.17 s ClockTime = 76 s Courant Number mean: 0.114349 max: 13.1679 Time = 1.5e-005 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.31512e-005, cumulative = 0.00011917 GAMG: Solving for p, Initial residual = 0.44843, Final residual = 8.32125e-009, No Iterations 29 time step continuity errors : sum local = 6.59205e-011, global = -1.86083e-011, cumulative = 0.00011917 ExecutionTime = 93.095 s ClockTime = 93 s Courant Number mean: 0.114484 max: 22.49 Time = 2e-005 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.355e-005, global = 1.57552e-005, cumulative = 0.000134925 GAMG: Solving for p, Initial residual = 0.141025, Final residual = 6.86812e-009, No Iterations 31 time step continuity errors : sum local = 6.23933e-011, global = 1.76006e-011, cumulative = 0.000134925 ExecutionTime = 157.508 s ClockTime = 157 s Courant Number mean: 0.114674 max: 44.8948 Time = 2.5e-005 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.0336e-005, global = -5.26303e-006, cumulative = 0.000129662 GAMG: Solving for p, Initial residual = 0.279803, Final residual = 4.17876e-009, No Iterations 31 time step continuity errors : sum local = 2.87213e-011, global = -8.10944e-012, cumulative = 0.000129662 ExecutionTime = 177.742 s ClockTime = 177 s Courant Number mean: 0.114891 max: 308.443 Time = 3e-005 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.29825e-006, cumulative = 0.00013196 GAMG: Solving for p, Initial residual = 0.522485, Final residual = 4.09076e-009, No Iterations 33 time step continuity errors : sum local = 4.17708e-011, global = 1.18071e-011, cumulative = 0.00013196 ExecutionTime = 239.778 s ClockTime = 239 s Courant Number mean: 0.116034 max: 1059.57 Time = 3.5e-005 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.63291e-006, cumulative = 0.000130327 GAMG: Solving for p, Initial residual = 0.676814, Final residual = 8.72489e-009, No Iterations 28 time step continuity errors : sum local = 2.19735e-010, global = -6.7754e-011, cumulative = 0.000130327 ExecutionTime = 254.929 s ClockTime = 255 s Courant Number mean: 0.120919 max: 4742.82 Time = 4e-005 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.52914e-006, cumulative = 0.000127798 GAMG: Solving for p, Initial residual = 0.555316, Final residual = 8.76215e-009, No Iterations 30 time step continuity errors : sum local = 9.50579e-010, global = -2.7071e-010, cumulative = 0.000127798 ExecutionTime = 312.559 s ClockTime = 312 s Courant Number mean: 0.152711 max: 18586.1 Time = 4.5e-005 Any comments? Thanks! |
|
February 27, 2017, 04:33 |
|
#4 |
New Member
Pablo Mtz. Filgueira
Join Date: Apr 2014
Location: Vitoria-Gasteiz
Posts: 25
Rep Power: 12 |
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, 05:53 |
|
#5 |
Senior Member
Join Date: Mar 2015
Posts: 250
Rep Power: 12 |
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, 06:25 |
|
#6 |
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 196
Rep Power: 9 |
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 1e-10 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, 07:37 |
|
#7 |
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 196
Rep Power: 9 |
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, 17:20 |
|
#8 |
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 21 |
Did you try nOuterCorrectors >> 1 with underrelaxation?
|
|
March 3, 2017, 03:53 |
|
#9 |
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 196
Rep Power: 9 |
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 k-epsilon. Thanks! Last edited by kandelabr; March 3, 2017 at 05:30. |
|
March 3, 2017, 07:08 |
|
#10 |
Member
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 11 |
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, 13:02 |
|
#11 |
Senior Member
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 196
Rep Power: 9 |
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. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Frozen rotor centrifugal pump | energy382 | CFX | 2 | April 24, 2022 13:52 |
Frozen viscosity option not listed in configuration template files | OSE | SU2 | 0 | April 27, 2016 12:05 |
The difference between frozen rotor and unsteady frozen rotor in turbo machinery? | samane_81 | CFX | 11 | April 7, 2016 13:54 |
Frozen Rotor Model CFX | windsim | CFX | 13 | January 5, 2012 13:25 |
Frozen Rotor Interface (CFX 5.5) | gilberto | CFX | 4 | November 14, 2001 21:07 |