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

How to move rotorDisk tutorial?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 2, 2020, 15:07
Question How to move rotorDisk tutorial?
  #1
New Member
 
Join Date: Jun 2020
Posts: 4
Rep Power: 6
DanFO is on a distinguished road
Hello everyone,

My question is simple: How to impose motion to the rotor disk?

I refer to the rotor disk in the tutorial case "rotorDisk" found in: $FOAM_TUTORIALS/incompressible/simpleFoam/rotorDisk.
Or, if you prefer online: https://develop.openfoam.com/Develop...Foam/rotorDisk

I want to impose an oscillatory motion (sinusoidal) to the disk and analyze its transient response. I think the first step is to change the default solver "simpleFoam" (steady-state solver) to "pimpleFoam" (transient solver). And I managed to do this. Second step is to impose the motion, and I know how to do it for a Boundary Field using dynamicMeshDict and pointDisplacement (as we do for an oscillating cylinder). But the problem is that the rotor disk is not a boundary, it is a region of cells inside the domain and I didn't understand clearly how it is defined.

So, I would appreciate if someone could explain how the disk region is defined and how to impose an oscillatory motion to it.

(I'm using OpenFOAM 7, and I'm quite new to the software)

Thank you!
DanFO is offline   Reply With Quote

Old   July 2, 2020, 21:58
Default
  #2
Member
 
Ardalan
Join Date: Jul 2012
Location: Atlanta, USA
Posts: 77
Rep Power: 14
Ardali is on a distinguished road
This question needs a broad range of answer.
For a start check

$FOAM_TUTORIALS/incompressible/simpleFoam/mixerVessel2D
$FOAM_TUTORIALS//incompressible/pimpleFoam/RAS/propeller


search AMI functionality, you will find lots of useful links.
GGI is another functionality which is available only on FOAM-extended versions.
These two are applied on interfaces for a rotor-stator interaction.
MRF functionality is a steady solution for rotor-stator solution.
Good luck
Ardalan
Ardali is offline   Reply With Quote

Old   July 3, 2020, 12:24
Default
  #3
New Member
 
Join Date: Jun 2020
Posts: 4
Rep Power: 6
DanFO is on a distinguished road
Hello Ardalan,

I see that your suggestions are great for solving rotational mesh problems. But I don't want to rotate the disk. To better explain my problem: I want to model a floating offshore wind turbine moving up and down with waves. So, to simplify the problem, I want to simulate an actuator disk moving up and down. The whole mesh could move around the disk as for ALE (Arbitrary Lagrangian Eulerian) methods of dynamic mesh. So, how to apply vertical oscillatory motion to the disk?

Thank you for your attention
DanFO is offline   Reply With Quote

Old   July 3, 2020, 13:46
Default
  #4
Member
 
Ardalan
Join Date: Jul 2012
Location: Atlanta, USA
Posts: 77
Rep Power: 14
Ardali is on a distinguished road
Hi,
OK, it seems you want to replicate the effect of tidal wave on your turbine.
Please check

$FOAM_TUTORIALS/incomressible/pimpleFoam/laminar/movingCone


Please also check
$FOAM_TUTORIALS/incomressible/pimpleFoam/RAS/wingMotion


They have different dynamicMeshDict in constant folder.

Ardalan
Ardali is offline   Reply With Quote

Old   July 6, 2020, 15:42
Question
  #5
New Member
 
Join Date: Jun 2020
Posts: 4
Rep Power: 6
DanFO is on a distinguished road
Hi Ardalan,

Both tutorial cases impose motion to a boundary.
In the "movingCone" case, it is applied a velocity on the "movingWall" boundary, as we can see on file "0/pointMotionUx":
Code:
dimensions      [0 1 -1 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    movingWall
    {
        type            uniformFixedValue;
        uniformValue    constant 1;
    }
...
In the "wingMotion" case, a displacement is calculated on the "wing" boundary, as we can see on "wingMotion2D_pimpleFoam/pointDisplacement":
Code:
dimensions      [0 1 0 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    wing
    {
        type            calculated;
        value           uniform (0 0 0);
    }
...
But in the "rotorDisk" case, I think the disk which I want to apply a displacement is not a boundary. It is the objects defined on "constant/triSurface": "fixed.obj", and "rotatingZone.obj".

As we can see, the boundary conditions for the "rotorDisk" case are, for example "0/U":
Code:
Uinlet          (0 1 0);

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform $Uinlet;

boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform $Uinlet;
    }

    outlet
    {
        type            pressureInletOutletVelocity;
        value           uniform $Uinlet;
    }

    "slip.*"
    {
        type            slip;
    }

    #includeEtc "caseDicts/setConstraintTypes"
}
So, how to create a "pointDisplacement" file that imposes a motion to the disk (fixed.obj and rotatingZone.obj), which is not a boundary field?

Thanks
DanFO is offline   Reply With Quote

Old   June 2, 2021, 09:24
Question
  #6
New Member
 
Join Date: Mar 2021
Posts: 11
Rep Power: 6
4lix is on a distinguished road
Hi DanFO,


Did you find a way to move your actuator disk up and down ?
I am very interesting to hear about your solution.


I am working on ship self propulsion and I want to connect the actuator disk to the ship so that they can move together.


Thanks in advance for your time and consideration!


Best regards,


Alix
4lix is offline   Reply With Quote

Old   November 8, 2021, 06:41
Default
  #7
New Member
 
Talay
Join Date: Nov 2010
Posts: 6
Rep Power: 16
Talayal is on a distinguished road
Hi Alix,


Were you able to do it? I am looking for the answer to the same problem..



Quote:
Originally Posted by 4lix View Post
Hi DanFO,


Did you find a way to move your actuator disk up and down ?
I am very interesting to hear about your solution.


I am working on ship self propulsion and I want to connect the actuator disk to the ship so that they can move together.


Thanks in advance for your time and consideration!


Best regards,


Alix
Talayal is offline   Reply With Quote

Old   November 15, 2021, 09:51
Post
  #8
New Member
 
Join Date: Mar 2021
Posts: 11
Rep Power: 6
4lix is on a distinguished road
Hi Talay,


I was not able to do it.

Here is an answer from Herpes to the same question that may help you: boatAndPropeller tutorial with actuator disk


Let me know if you find something else!


Best regards,


Alix
4lix is offline   Reply With Quote

Old   November 16, 2021, 01:40
Default
  #9
New Member
 
Talay
Join Date: Nov 2010
Posts: 6
Rep Power: 16
Talayal is on a distinguished road
Hi Alix,

Thanks for the reply. Actually, in the mean time I was able to capture the motion of the disk with a trick. I couldn't figure out how to move the disk so I increased the innerdistance parameter for the hull in dynamicmeshdict. Since the disk is close to the hull (closer than the innerdistance value), it is moving with it. You can find the description of the parameter below;

https://openfoamwiki.net/index.php/P...Outer_Distance
Talayal is offline   Reply With Quote

Reply

Tags
actuator disk, oscillating body, rotordisk


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
tutorial files KITetima FLUENT 8 November 23, 2019 17:05
AMI - Propeller Tutorial diverging kingmaker OpenFOAM Running, Solving & CFD 2 November 4, 2016 03:57
Tutorial For Workbench CFX Remesh ashtonJ CFX 2 April 26, 2014 22:19
Fluent Tutorial Guide Ch. 17: Non-Premixed Combust, THTR MAE7509 FLUENT 0 January 22, 2014 21:59
STAR-CD Tutorial shekhar aryal STAR-CD 4 March 22, 2010 04:25


All times are GMT -4. The time now is 12:19.