fvOptions (RotorDiskSource). How read from File?
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 Best Regards Marcelino 
2 Attachment(s)
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. 
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 
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]; Antar, I think It should be: Code:
scalar inflowAngle = atan2(Uc.z(), Uc.y()); Code:
vector localForce = vector(0.0, f*Cd*cos(inflowAngle)+tipFactor*f*Cl*sin(inflowAngle), tipFactor*f*Cl*cos(inflowAngle)+f*Cd*sin(inflowAngle)); 
Selection of cells with a cellSet
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 
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. 
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 
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. 
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.cfdonline.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 
Could someone help me to implement body forces in a different way to the conventional approach ( Ueqn)?

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 
1 Attachment(s)
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 thank you, 
rotorDiskSource for tank mixing
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! 
Quote:
I am also stuck at the same issue. If you know how to simulate a propeller case please help me. 
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 ! 
All times are GMT 4. The time now is 10:09. 