# dynamic Mesh with angular velocity not parallel to x axis

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 LinkBack Thread Tools Display Modes
January 21, 2014, 00:00
dynamic Mesh with angular velocity not parallel to x axis
#1
New Member

Al
Join Date: Jul 2013
Posts: 29
Blog Entries: 1
Rep Power: 4
Hello,

I was trying to make a cylindrical mesh rotate around an axis that is not parallel to the x axis (see file attached). But what I get is a cylinder with the axis of rotation that rotates around x. How can I get an axis of rotation not parallel to x, but that maintains the same position in time?

In the example attached the angle between the x axis and the angular velocity vector is alpha = 5 degrees, the magnitude is 134.22rad/s
=> omega_x = 134.22 * cos(alpha) = 7660.97deg/s
omega_z = 134.22 * sin(alpha) = 670.24deg/s

so I tried:

Code:
```solidBodyMotionFvMeshCoeffs
{
cellZone        innerCylinderSmall;

solidBodyMotionFunction  rotatingMotion;
rotatingMotionCoeffs
{
CofG        (0 0 0);
radialVelocity (7660.9758431018 0 670.24853781736); // deg/s
}
}```
but it did not work, the cylinder rotation axis changes position in time.

I tried also

Code:
```dynamicFvMesh   solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
cellZone        innerCylinderSmall;

solidBodyMotionFunction  rotatingMotion;
rotatingMotionCoeffs
{
origin      (0 0 0);
axis        (0.996194698091746 0 0.0871557427476584);
omega       134.22; // rad/s
}
}```
but the result is the same.
Attached Files
 rotorCoGTesting.tar.gz (38.6 KB, 6 views)

Last edited by donQi; January 21, 2014 at 01:20.

 January 27, 2014, 19:01 #2 New Member   Al Join Date: Jul 2013 Posts: 29 Blog Entries: 1 Rep Power: 4 I ended up finding the following solution: use axisRotationMotion Code: ``` axisRotationCompensation { solidBodyMotionFunction axisRotationMotion; axisRotationMotionCoeffs { CofG (0 0 0); // origin (0 0 0); radialVelocity (omegaxDeg omegayDeg omegazDeg); } }``` where omegaxDeg, omegayDeg and omegazDeg are the components of the angular velocity along the x, y and z axis (expressed in deg/s).

 February 3, 2014, 10:29 units in dynamicMeshDict? #3 New Member   fabi Join Date: Jan 2014 Posts: 5 Rep Power: 3 Hello, i have a question about the units in the dynamicMeshDict. In the Propeller example of OF211 '// deg/s' is used. Am I doing right: 300rpm (rounds per minute) = 5 rounds per second = 1800 deg/s ??? Best regards, Fabian

 June 12, 2014, 01:46 #4 New Member   Al Join Date: Jul 2013 Posts: 29 Blog Entries: 1 Rep Power: 4 Hello Fabi yes, according to me your conversion is correct. In fact by searching among my files I am noticing when "radialVelocity" is used units are in deg/s (so you use your 1800deg/s) Code: ```dynamicFvMesh solidBodyMotionFvMesh; motionSolverLibs ( "libfvMotionSolvers.so" ); solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction rotatingMotion; rotatingMotionCoeffs { CofG (0 0 0); radialVelocity (1800 0 0); // deg/s } }``` while when omega is used (like in OF22 and OF23 in the pimpleDyMFoam/propeller/constant/dynamicMeshDict) you use radiants/s so instead of 1800 deg/s use 31.415926 rad/s Code: ``` rotatingMotionCoeffs { origin (0 0 0); axis (0 1 0); omega 31.415926; // rad/s }```

 September 26, 2014, 08:03 #5 New Member   Kostis Join Date: Jan 2013 Posts: 6 Rep Power: 4 I was wondering if it is possible for the mesh to move with a velocity which is calculated during the run. For example, in case of a accelerating falling sphere is it possible for the mesh to move if the velocity of the sphere? dynamicFvMesh solidBodyMotionFvMesh; solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction linearMotion; linearMotionCoeffs { velocity (0 velocityOfSphere 0); } }

 October 2, 2014, 23:19 #6 New Member   Al Join Date: Jul 2013 Posts: 29 Blog Entries: 1 Rep Power: 4 Hello Kostis, once I tried with pimpleDymFoam: while the analysis was running I changed the rmp in dynamicMeshDict but the rotor continued to rotate with the same initial velocity. I tried both manually and automatically by adding in controlDict the following function to update the dynamicMeshDict: Code: ```functions { fileUpdate1 { type timeActivatedFileUpdate; functionObjectLibs ("libutilityFunctionObjects.so"); outputControl timeStep; outputInterval 1; fileToUpdate "\$FOAM_CASE/constant/dynamicMeshDict"; timeVsFile ( ( -1 "\$FOAM_CASE/constant/dynamicMeshDict_1" ) ( 0.05 "\$FOAM_CASE/constant/dynamicMeshDict_2" ) ); } #include "readFields" #include "Q" #include "surfaces" #include "forces" }``` The dynamicMeshDict was correctly updated with the new angular velocity but once I checked the analysis was still rotating with the initial angular velocity. I don't know if there is a simple way. If you find it out let me know.

 Thread Tools Display Modes Linear Mode

 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 OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Kryo OpenFOAM Native Meshers: snappyHexMesh and Others 8 September 13, 2012 09:28 Tom Clark FLUENT 9 July 7, 2010 07:56 asherah STAR-CCM+ 0 February 19, 2010 18:45 lukasfischer OpenFOAM Running, Solving & CFD 0 August 12, 2009 06:36 Anand FLUENT 0 January 9, 2009 16:52

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

 Contact Us - CFD Online - Top