CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM

Rigid Body with 3-DOF rotation

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 28, 2010, 01:04
Default Rigid Body with 3-DOF rotation
  #1
New Member
 
Lv Peng
Join Date: Dec 2009
Posts: 4
Rep Power: 17
aeropeng is on a distinguished road
Hi,
I wonder whether I can apply inertial coordinates, instead of rotation axis and angular velocity, to describe the rigid body with 3-DOF rotation in OF.
The inertial coordinates are transformated by a coordinate transition matrix form body-fixed coordinate system to inertial coordinate system.
If it can, I should use which Foam? InterDyMFoam or MRFFoam?

Best wishes
peng
aeropeng is offline   Reply With Quote

Old   April 28, 2010, 04:56
Default
  #2
Member
 
Masashi Ohbuchi
Join Date: Oct 2009
Posts: 74
Rep Power: 17
Ohbuchi is on a distinguished road
Please refer a paper by Dr. Jasak.
http://powerlab.fsb.hr/ped/kturbo/Op...h_AIAA2009.pdf

But detail setup procedure does not described in this paper.
The appropriate solver is turbDyMFoam of OF-1.5-dev, I think.
But I'm afraid you need some custom mesh changer class.
Ohbuchi is offline   Reply With Quote

Old   April 28, 2010, 07:18
Default
  #3
New Member
 
Lv Peng
Join Date: Dec 2009
Posts: 4
Rep Power: 17
aeropeng is on a distinguished road
Quote:
Originally Posted by Ohbuchi View Post
Please refer a paper by Dr. Jasak.
http://powerlab.fsb.hr/ped/kturbo/Op...h_AIAA2009.pdf

But detail setup procedure does not described in this paper.
The appropriate solver is turbDyMFoam of OF-1.5-dev, I think.
But I'm afraid you need some custom mesh changer class.
Hi, Ohbuchi
Thank you for your valuable suggestion.
I must point that my study object involves a large scale mesh deformation. I want to simplify it depending on the whole field rotation and just get the near field details.
Thank you again for your kind help.

Best wishes
Peng

aeropeng is offline   Reply With Quote

Old   June 28, 2011, 05:43
Default
  #4
New Member
 
Paul Bomke
Join Date: Mar 2010
Location: Bremen, Germany
Posts: 16
Rep Power: 16
paul b is on a distinguished road
To be able to use 3D rotation you need to modify the mesh class.
In src/dynamicMesh/dynamicFvMesh/ you will find the mesh class mixerGgiFvMesh.

Here, coordinates are defined in a cylindrical coordinate system, the coordinate system object cs which is initialized in the constructor method.
If you delete those lines the whole thing will be specified in cartesian coordinates. Then you need to adjust the part where the mesh is moved, the update() method:

Here it says:
Code:
        csPtr_->globalPosition
     movePoints
    (
            csPtr_->localPosition(allPoints())
          + vector(0, rpm_*360.0*time().deltaT().value()/60.0, 0)
            *movingPointsMask()
     )
Here the inner part says:
- get the pointer to the coordinate system and convert all points of to local coordinates relative to the origin
- add a vector which holds the values (radius, angle, height), thus all points of the mesh are rotated by rpm_*360.0*time().deltaT().value()/60.0
- apply a mask which holds a value of 0 or 1 for each point of the mesh. For rotor points the value is 1, for stator points it is 0. Thereby the motion is restricted to the rotor part.
- the enclosing csPtr_->globalPosition transfers the points back to global coordinates.

What you need here is a 3D rotation matrix instead.
You already got rid of the cylindrical coordinates, so all you need to do next is something like:
Code:
movePoints(
(((allPoints() - origin) ^ rotationMatrix) - origin) * movingPointsMask;
);
The rotation matrix has to be specified before using the rotation angles around your coordinate axes.


Ah, you also need to delete a "cs.()" somewhere around line 80 where it says:
Code:
    label originRegion = rs[findNearestCell(cs().origin())];
Here the rotating mesh region is determined by the fact that it contains the origin. You will need to specify the origin in your dynamicMeshDict and read it from there...


As a solver you can use anything that incorporates moving meshes, I think they all have a "DyM" in their name.


Hope this helps a bit.
Paul
paul b is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Rigid body Birkov CFX 4 May 25, 2012 07:26
Turbulent solver rigid body mechanics philippose OpenFOAM Running, Solving & CFD 53 July 16, 2011 14:35
Rigid body rotation NOT through the CG? Joe FLUENT 6 May 28, 2010 12:03
Rigid Body State Variables in Solid Immersed Simulation Hamidreza CFX 1 October 19, 2009 07:14
Rotation of a 3d rigid body through its free end M-Ray FLUENT 0 May 20, 2008 10:56


All times are GMT -4. The time now is 03:20.