Co-axial rotor help
Does anyone know if any of the openfoam software simulate and co-axial helicopter? I have the both rotors, but I don't know if there is a way to rotate them in the opposite directions simultaneously. Any and all help would be greatly appreciated.
There is no dynamicFvMesh class suitable for your problem.
So, you have to make custom dynamicFvMesh class using examples from mixerGgiFvMesh that support only one rotating region.
looks like a job for GGI this means you have to use the -DEV version of OpenFOAM.
The other solutions would be the overset Grid (but this piece of software is not available to ordonary people)http://web.student.chalmers.se/group...SlidesOFW5.pdf
or "immersed boundary method" that is currently under development.
If you use a debian/ubuntu based distribution you can get compiled binaries
otherwise you have to use svn and check out the -DEV version of OpenFOAM.
Takes a little more time, but not that complicated.
Or you try a virtual machine / live DVD/ live usbstick =>read
I have solved the same problem a year ago and I used MRFSimpleFOAM for the solution of it.
Ohbuchi, How easy is it to modify that particular file? Is that 1 file all i need to modify?
Vojta, MRFSimpleFOAM is static, and only shows pressure on the rotors, I want to see airflow pressure changes. I've tried that before.
Thank you all for your quick replies and help.
Co-axial counter rotating rotors simulation
I made custom library "myCoAxialGgiFvMesh" (see attached files), and ran sample case with co-axial counter rotating two rotors.
This implementation is simple extension of mixerGgiFvMesh, I've only introducied two rotating speed (rpm1 and rpm2) and modified movingPointMask.
And the rotating region's name must be fixed as "rotor1" and "rotor2".
In dynamicMeshDict, you should define two moving slider, "moving1"
and "moving2" as follows.
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
moving1 ( ROTOR1.INLET ROTOR1.OUTLET );
moving2 ( ROTOR2.INLET ROTOR2.OUTLET );
static ( IN.OUTLET INTER.INLET INTER.OUTLET OUT.INLET );
I'm sorry, but I've made some mistake in my code.
It's rotating in twice speed than specified. And it will not work in case of abs(rpm1)<>abs(rpm2).
The bug is in update() function of myCoAxialGgiFvMesh.C
Now I'm fixing it. and I will upload fixed version soon.
updated library code
Here is bug-fixed library code.
I've introduced another movingPointMask for rotor2.
Thank you, Ohbuchi-san, will will implement your program tonight.
Edit: Ohbuchi-san I've combined my to rotors into 1 file. Is it possible to make multiple cellSets from the cellSetDict file? How did you create two diiferent cellZones?
|All times are GMT -4. The time now is 20:35.|