|August 20, 2013, 13:19||
Rotor Torque Prediction
Join Date: Mar 2009
Posts: 65Rep Power: 8
I am studying a hydropower turbine using pimpleDyMFoam and AMI. A quick sketch of the setup is attached, however, this is just a simple model to replicate my larger problem.
I know that the fluid acting on the rotor will cause it to rotate anticlockwise around the x-axis when viewed along the positive x axis from the origin as shown, until the rotor reaches a certain free rotation speed, at which point the net torque on the rotor will be zero (Mxx = 0). A pressure plot is included indicating the high pressures on one side of the blades. As the rotor rotates faster and faster in the fluid the relative velocity between the moving fluid and the rotor blade surface will tend towards zero and thus the dynamic pressure created at the blade will tend to zero. To account for these moving blades I have additionally used the rotatingWall boundary condition.
When I run the solver in ‘locked’ mode, ie I specify zero rotation of the rotor in the dynamicMeshDict and zero rotatingWall boundary, I obtain a torque on the rotor for Mxx which is negative (right hand rule, thumb in +ve x-direction, positive torque is clockwise). So far so good, a negative Mxx will cause the rotor to rotate anticlockwise if the rotor was allowed to rotate. The torque magnitude is also in the right ball park so I am happy.
Next I set the rotor to rotate a little in the anticlockwise direction, my understanding is that the torque will decrease to zero as I increase the rotor speed anticlockwise due to the decreasing relative velocity and dynamic pressure above. However, OpenFOAM reports that the torque increases in magnitude (and is still negative).
Conversely, if I set the rotor to rotate a little in the clockwise direction OpenFOAM reports that the torque decreases in magnitude and will hit zero net torque at a certain rotor speed eg somewhere between +200 and +300 RPM as shown in the results graph...I haven’t pinned it down exactly yet but I do know from experiments that a similar rotor of this diameter will freely rotate around 230 RPM…..this also makes me happy. However, the rotor is now rotating in the wrong direction with zero net torque.
My questions are …
1) a) Has anyone experienced this and if so what was the problem?
2) b) Am I reading this correctly? Or is it possible that the forces/torques contribution from the rotating rotor and the pressure/viscous forces been summed incorrectly somehow in the code?
Any advice would be highly appreciated…my mesh is quite large but I could setup a simpler blockMesh case if that would help, please let me know.
Many thanks in advance
|August 18, 2015, 14:41||
Change Direction of Rotation
Join Date: Jul 2015
Location: West Lafayette, USA
Posts: 18Rep Power: 2
Hi Jason and Foamers comunnity,
It's been some time now since you worked with this model. I hoped you could solve it. I would like to ask you a Question about your model and your procedure.
How did you change the direction of the rotation of the Mesh ? Should one introduce a negative angular speed or just change the direction of the axis of rotation ,say (1 0 0) to (-1 0 0) ? I'm working with pimpleDyMFoam and I haven't been able to get a rotating mesh or my turbine stays still while the whole domain rotates ( it's crazy, I know ..) even though I'm following the pimpleDyMFoam/propeller tutorial.
How do you calculate the Torque on your turbine when you finish the simulation with pimpleDyMFoam ?
As for your question: may it that the torque that you get is the reaction torque acting on the air ?
|August 22, 2015, 10:15||
Join Date: Mar 2009
Posts: 65Rep Power: 8
Sorry for the delay in replying, been a hectic week.
See this post I just made for one type of example Streamlines and AMI patches
And also, this simple case attached for pimpleDyMFoam. The direction of the mesh movement if you have it setup correctly is purely a + or - for the omega value. You have to specify the cellZone that is rotating, in this case the cellZone is called "rotor" and contains all the rotor cells and was previously setup using the preprocessing tools. This can also be done on the fly in blockMesh as you generate the rotor mesh (see blockMesh file). Be careful about setting the axis as this is the axis the mesh rotates around and also the origin as this is the point the mesh rotates around.
motionSolverLibs ( "libfvMotionSolvers.so" );
// new method in OF 2.2.2
origin (0 0 0.6);
axis (0 0 1);
omega 5.24; //rad per sec = +50 rpm
The torque is output automatically if you switch on the function forces which you do in the controlDict - see the functions at the end of the file, be careful of specifying the correct patch, density and the COG as the forces output corresponds to the COG.
Example output in the postProcessing directory is:
# CofR : (0 0 0.6)
# Time forces(pressure,viscous,porous) moment(pressure,viscous,porous)
0.00025 ((0.00945082 0.229273 9569.17),(-0.000115894 -2.18429e-05 144.667),(0 0 0)) ((0.323281 0.134849 1232.03),(-8.93156e-05 1.73033e-06 -7.75084),(0 0 0))
where the forces and torques are listed in the order shown at each time step...((pressure force X, pressure force Y, pressure force Z), etc etc...
You also have to ensure you set the correct boundary conditions for U for the rotor which is:
value uniform (0 0 0);
This tells the solver that the wall forces should be corrected for rotation I think and then you get the correct output. This is not required for MRF as fixed value of zero should be used.
I compared MRF and AMI and the result is more or less identical.
|Thread||Thread Starter||Forum||Replies||Last Post|
|Difference in velocity prediction by kepsilon and komega||Chander||CFX||3||September 19, 2011 19:11|
|NASA High Lift Prediction Workshop||nomad||FLUENT||0||April 11, 2011 14:48|
|Near field noise prediction||Usman||CFX||1||January 23, 2008 12:15|
|Noise prediction||Atul T. Shinde||FLUENT||1||January 4, 2003 02:28|
|noise prediction||harrisonh||CD-adapco||3||January 8, 2002 02:24|