CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Meshing & Mesh Conversion

dynamic Mesh with angular velocity not parallel to x axis

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   January 21, 2014, 00:00
Default 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
donQi is on a distinguished road
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
File Type: gz rotorCoGTesting.tar.gz (38.6 KB, 6 views)

Last edited by donQi; January 21, 2014 at 01:20.
donQi is offline   Reply With Quote

Old   January 27, 2014, 19:01
Default
  #2
New Member
 
Al
Join Date: Jul 2013
Posts: 29
Blog Entries: 1
Rep Power: 4
donQi is on a distinguished road
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).
donQi is offline   Reply With Quote

Old   February 3, 2014, 10:29
Default units in dynamicMeshDict?
  #3
New Member
 
fabi
Join Date: Jan 2014
Posts: 5
Rep Power: 3
odin is on a distinguished road
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
odin is offline   Reply With Quote

Old   June 12, 2014, 01:46
Default
  #4
New Member
 
Al
Join Date: Jul 2013
Posts: 29
Blog Entries: 1
Rep Power: 4
donQi is on a distinguished road
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
    }
donQi is offline   Reply With Quote

Old   September 26, 2014, 08:03
Default
  #5
New Member
 
Kostis
Join Date: Jan 2013
Posts: 6
Rep Power: 4
cosbergel is on a distinguished road
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);
}
}
cosbergel is offline   Reply With Quote

Old   October 2, 2014, 23:19
Default
  #6
New Member
 
Al
Join Date: Jul 2013
Posts: 29
Blog Entries: 1
Rep Power: 4
donQi is on a distinguished road
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.
donQi is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Add Mesh Layers doesnt work on the whole surface Kryo OpenFOAM Native Meshers: snappyHexMesh and Others 8 September 13, 2012 09:28
Dynamic Mesh Problem. Tom Clark FLUENT 9 July 7, 2010 07:56
A girl fail to plot velocity profile when mesh changes + Wall function asherah STAR-CCM+ 0 February 19, 2010 18:45
dynamic mesh interDyMFoam parallel run and processor boundaries lukasfischer OpenFOAM Running, Solving & CFD 0 August 12, 2009 06:36
parallel processing and dynamic mesh Anand FLUENT 0 January 9, 2009 16:52


All times are GMT -4. The time now is 21:07.