|
[Sponsors] |
fvOptions (RotorDiskSource). How read from File? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 12, 2013, 13:55 |
fvOptions (RotorDiskSource). How read from File?
|
#1 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
Hi all,
I am playing with the new rotorDisk source implemented into OF2.2.x and apart from some code modification because a minor bug when converting a vector field from Cartesian coordinates to Cylindrical coordinates ( bug reported and pending to analyze), I am trying to introduce the polar curves and blade geometry using file but I can not. The code below works and the geometrical information and polars are correctly read but I do not know to modify rotorDisk dict to introduce the information required using external files. Code:
blade { data ((profile1 (8 11.96 3.357)) (profile1 (10 9.45 3.323))); } profiles { profile1 { type lookup; data ((-90 1.378 -0.09) (-60 1.04 -0.73) (-20 0.1755 -0.68) (-15 0.127 -0.59) (-12 0.07 -0.52) (-10 0.04 -0.43) (-9 0.0316 -0.43) (-8 0.0114 -0.39) (-7 0.018 -0.38) (-6 0.015 -0.24) (-5 0.011 -0.11) (-4 0.009 0.009) (-3 0.007 0.12) (-2 0.005 0.31) (-1 0.005 0.43) (0 0.00717 0.56) (1 0.006 0.62) (2 0.007 0.7691) (3 0.0074 0.9581) (4 0.0079 1.05) (5 0.008 1.2) (6 0.0085 1.25) (7 0.0089 1.37) (8 0.022 1.43) (9 0.014 1.54) (10 0.020 1.55) (11 0.025 1.417) (12 0.039 1.325) (13 0.056 1.285)); } } Best Regards Marcelino |
|
July 12, 2013, 10:38 |
|
#2 | ||
Member
Laurent Fitschy
Join Date: May 2011
Posts: 40
Rep Power: 15 |
Hi,
I also noticed a problem with cylindrical coordinate transformation when I wanted to use a rotorDiskSource not aligned with coordinate system in a uniform freestream flow. The rotorForce field solution was not asymmetric as expected. I added these lines add the end of Foam::fv::rotorDiskSource::constructGeometry() : Quote:
Quote:
Best regards. |
|||
February 13, 2014, 03:48 |
|
#3 |
New Member
Antar Netra
Join Date: Sep 2013
Location: India
Posts: 2
Rep Power: 0 |
Hi Laurent
In this vector : vector localForce = vector( 0.0, -f*Cd*cos(alphaEff)-tipFactor*f*Cl*sin(alphaEff), tipFactor*f*Cl*cos(alphaEff)-f*Cd*sin(alphaEff)); you are using effective angle of attack, should this not be just angle of attack calculated earlier as : atan2(-Uc.z(), Uc.y()); Please comment Thanks Antar |
|
May 9, 2014, 07:06 |
|
#4 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
Hi all,
Laurent, All In OF2.3.0 and above it seems that the line should be: Code:
vector Uc = coordSys_.R().R().T() & U[cellI]; The same for the last line you posted. I have not check the code, but one question: R tensor put in relation global to local or local to global? Why is firstly the inverse tensor and not in the opposite side? : Code:
vector Uc = coordSys_.R().R() & U[cellI]; force[cellI] = coordSys_.R().R().T() & localForce; Antar, I think It should be: Code:
scalar inflowAngle = atan2(Uc.z(), Uc.y()); scalar alphaEff = -alphaGeom + inflowAngle Code:
vector localForce = vector(0.0, -f*Cd*cos(inflowAngle)+tipFactor*f*Cl*sin(inflowAngle), tipFactor*f*Cl*cos(inflowAngle)+f*Cd*sin(inflowAngle)); Last edited by be_inspired; May 13, 2014 at 12:54. |
|
May 13, 2014, 07:25 |
Selection of cells with a cellSet
|
#5 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
In case the rotor plane would not be aligned with the mesh axis, the selection of cells using cellSet may not be "perfect". In some locations, we could have one cell, two cells or no cells for a specific radius and psi.
In some case, it is not easy to change the mesh for every rotor disk axis. So, how can it be solve? Is the rotorDiskSource prepared for those cases? The area_ of each cell is calculated but I do not understand completely the code. Sorry. Updated: The bug about the coordinate system issue has been resolved on 2.3.x using a new tensor. I have not checked yet if the solution is the same Last edited by be_inspired; May 13, 2014 at 12:52. |
|
May 14, 2014, 10:43 |
|
#6 | ||
Member
Laurent Fitschy
Join Date: May 2011
Posts: 40
Rep Power: 15 |
Hi Marcelino,
Quote:
But I think you should be able to do the same with snappyHexMesh using refinementCylinder. Quote:
I will test it soon. Laurent. |
|||
May 14, 2014, 10:58 |
|
#7 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
Hi Laurent,
I usually use ICEM HEXA for meshing but due to the fact that I want to use this code for wind turbine simulation in complex terrains/ wind direction, I would not want to change the overall grid for every wind direction/rotor misaligment. I will give a try to snappy or foamyHexMesh. Please, it would be great if you could you give us some feedback about the R() tensor and localForce vector issues? Post#4 |
|
May 14, 2014, 11:27 |
|
#8 | |
Member
Laurent Fitschy
Join Date: May 2011
Posts: 40
Rep Power: 15 |
Quote:
vector Uc = coordSys_.R().T() & U[cellI]; => rotation and translation to local coordinate system (cartesion to cartesian) Uc = Rcyl_[i] & Uc; => rotation to the cylindrical coordinate system (cartesian to cylindrical) Note that Rcyl is different for each cell in the rotor cellZone since each cell has a different theta ... It is the same operations in reverse order to convert back local force into global coordinate system. Hope this helps. Laurent. |
||
June 2, 2014, 13:43 |
|
#9 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
Hi Laurent, All:
I have been running a wind turbine simulation and making some comparisons with a Blade Element Code. When running with a TI=10%, the forces distribution are quite similar to BEM (1% lower) but when running with a TI=1% ( keeping turbulent length scale and wind velocity), the power is lower by 20% approximately wrt BEM. Did you see this issue or do you think about why this could happen? UPDATED: http://www.cfd-online.com/Forums/ope...tml#post495673 Because forces are applyed directly over cell centers, it seems like it could created wiggles on the U and p field near the cell of interest. Best Regards Marcelino Last edited by be_inspired; June 5, 2014 at 07:13. |
|
July 3, 2014, 11:24 |
|
#10 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
Could someone help me to implement body forces in a different way to the conventional approach ( Ueqn)?
|
|
October 17, 2014, 23:39 |
|
#11 |
New Member
Join Date: Apr 2013
Posts: 11
Rep Power: 13 |
Hi Marcelino,
Would you be so kind as to point me out to a tutorial or example to set up the rotorDisk, I am also traying to work out how to use rotorDisk to model a helicopter main rotor. Thank you Juan Carlos |
|
November 20, 2014, 11:06 |
|
#12 |
New Member
Mathieu
Join Date: Nov 2014
Posts: 1
Rep Power: 0 |
Hi,
I am trying to use the rotorDisk from openfoam 2.3.x but get wrong solutions. Firstly, the resulting rotorforce vectors seems completly wrong if the rotor is not in the direction of the Z axis. Secondly, if the rotor axis is the Z axis, the axial component (Z) of the rotorForce seems okay'ish. But,the drag component of the rotordisc is not good on both X and Y as the picture attached shows. I have read the starting of the thread describing errors in the shift from the cartesian global coordinate system to the local cylindrical coordinate system, but it seems the code changed since then. It is now done through the following line in the rotordiskSourceTemplates.C: Code:
// velocity in local cylindrical reference frame vector Uc = localAxesRotation_->transform(U[cellI], i); thank you, |
|
June 12, 2015, 05:40 |
rotorDiskSource for tank mixing
|
#13 |
New Member
Jonas
Join Date: Sep 2014
Posts: 6
Rep Power: 12 |
Hi all,
I'm trying to use the rotorDiskSource to simulate a propeller for tank mixing (~100,000L). Has anybody used it for similar simulations or are there concerns why it couldn't be used for it? Simulations are already running in simpleFoam but I'd like to get transient solutions in twoPhase simulations with interFoam also. Any shared experience would be greatly appreciated. Cheers! |
|
June 28, 2016, 07:51 |
|
#14 | |
Member
alex
Join Date: Feb 2016
Location: chennai
Posts: 48
Rep Power: 10 |
Quote:
I am also stuck at the same issue. If you know how to simulate a propeller case please help me. |
||
May 15, 2017, 11:19 |
|
#15 | |
New Member
Kim Le
Join Date: May 2016
Location: Lyon, France
Posts: 21
Rep Power: 10 |
Quote:
I am attempting to do the same simulation. I am investigating three options to do so : adding a source term, actuationDiskSource ou rotorDiskSource. Have you managed to do it ? If yes, what was your strategy ? Thanks for sharing ! |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[swak4Foam] Error bulding swak4Foam | sfigato | OpenFOAM Community Contributions | 18 | August 22, 2013 13:41 |
[blockMesh] error message with modeling a cube with a hold at the center | hsingtzu | OpenFOAM Meshing & Mesh Conversion | 2 | March 14, 2012 10:56 |
1.7.x Environment Variables on Linux 10.04 | rasma | OpenFOAM Installation | 9 | July 30, 2010 05:43 |
[Gmsh] Compiling gmshFoam with OpenFOAM-1.5 | BlGene | OpenFOAM Meshing & Mesh Conversion | 10 | August 6, 2009 05:26 |
PHI file structure | Eugene | Phoenics | 9 | November 2, 2001 23:00 |