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

Simulation of a small element of a Hydrodynamic Journal Bearing in Wind Energy Appln

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 24, 2021, 09:03
Question Simulation of a small element of a Hydrodynamic Journal Bearing in Wind Energy Appln
  #1
New Member
 
Germany
Join Date: Nov 2020
Location: Aachen
Posts: 2
Rep Power: 0
Anuraag is on a distinguished road
Hello,

would like to start with a typical starting line:
"I am quite new to OpenFOAM". I am trying to simulate an oil lubrication film in a Hydrodynamic Journal Bearing of a Wind Turbine as a part of my Master Thesis. It is massive in size. My current study is a transient, incompressible condition.

Kindly please refer to the attached picture (Bearing Test Case Bearing Test Case.JPG). You can see a stationary pad, a shaft rotating around the X-axis and 2 oil tanks that will act as the lubricant reservoir.
Here are my constraints:
1) The inlet and the outlet are given a CYCLIC AMI boundary condition.
2) Shaft and Pad are treated as walls.
3) The front, back and the top of the tanks are exposed to the atmosphere.

I am using a PIMPLE algorithm for simulation (pimpleFoam with pitzDaily tutorial case as the base) because I further plan to consider cavitation models to simulate the phenomenon.

Here are my questions:

1) Are my considerations for boundary conditions correct? If not, I kindly request your expert suggestions.

2) Can anyone please tell me the correct combination of boundary conditions in blockMeshDict, p and U for faces that are simply exposed to the atmosphere? (In my case, the front, back faces and the top of the oil tanks)

3) I am finding it a little difficult to find good literature for my problem. Can you please suggest/direct me to some papers that can help me model my problem better?

4) Do you have any suggestions for my 'p' and 'U' files?

5) What, in your opinion, would be the best way to validate my problem? Of course, we have the experimental data of the bearing, but is there any other way?

PS: What do I mean by a 'pad'? Well, the stationary journal of my bearing is divided into 16 parts. A pad is just one of these Model Description.JPG.

blockMeshDict file:

convertToMeters 0.001;

//Parameters in mm

r 232.5;
h_lub 0.5;
r_out #calc "$r + $h_lub";
oil_block_height 30;
angle 10;
padLength 40;
cellnosx 40;
cellnosypad 80;
cellnoszpad 6;
cellnosy 20;
cellnosztank 20;
back_contour_angle 7;
front_contour_angle 7;
contour_inlet_height 5;

//Calculations

//shaftSide
x0 #calc "0";
y0 #calc "(sin(degToRad($angle))) * $r * -1";
z0 #calc "(cos(degToRad($angle))) * $r";
x1 #calc "0";
y1 #calc "(sin(degToRad($angle))) * $r";
z1 #calc "(cos(degToRad($angle))) * $r";
x2 #calc "$padLength";
y2 #calc "$y1";
z2 #calc "$z1";
x3 #calc "$padLength";
y3 #calc "$y0";
z3 #calc "$z0";

//padSide
x4 #calc "0"; //for a curved entry
y4 #calc "(sin(degToRad($angle))) * $r_out * -1";
z4 #calc "(cos(degToRad($angle))) * $r_out";
x5 #calc "0";
y5 #calc "(sin(degToRad($angle))) * $r_out";
z5 #calc "(cos(degToRad($angle))) * $r_out";
x6 #calc "$padLength";
y6 #calc "$y5";
z6 #calc "$z5";
x7 #calc "$padLength";
y7 #calc "$y4";
z7 #calc "$z4";
/*
x4 #calc "0"; //for a parallel entry
y4 #calc "(sin(degToRad($angle))) * $r_out * -1";
z4 #calc "(cos(degToRad($angle))) * $r_out";
x5 #calc "0";
y5 #calc "(sin(degToRad($angle))) * $r_out";
z5 #calc "(cos(degToRad($angle))) * $r_out";
x6 #calc "$padLength";
y6 #calc "$y5";
z6 #calc "$z5";
x7 #calc "$padLength";
y7 #calc "$y4";
z7 #calc "$z4";
*/
//oilBlockInlet
x8 #calc "0";
y8 #calc "(sin(degToRad(1.5 * $angle))) * $r * -1"; //for a curved entry
z8 #calc "(cos(degToRad(1.5 * $angle))) * $r";
x9 #calc "0";
// y9 #calc "(sin(degToRad(1.5 * $angle))) * $r_out * -1";
y9 #calc "$y8";
z9 #calc "(cos(degToRad(1.5 * $angle))) * $r_out";
x10 #calc "0";
// y10 #calc "(sin(degToRad(1.5 * $angle))) * ($r + $oil_block_height) * -1";
y10 #calc "$y8";
z10 #calc "(cos(degToRad(1.5 * $angle))) * ($r + $oil_block_height)";

x11 #calc "0";
y11 #calc "(sin(degToRad($angle))) * ($r + $oil_block_height) * -1";
z11 #calc "(cos(degToRad($angle))) * ($r + $oil_block_height)";
x12 #calc "$padLength";
y12 #calc "(sin(degToRad(1.5 * $angle))) * $r * -1";
z12 #calc "(cos(degToRad(1.5 * $angle))) * $r";
x13 #calc "$padLength";
// y13 #calc "(sin(degToRad(1.5 * $angle))) * $r_out * -1";
z13 #calc "(cos(degToRad(1.5 * $angle))) * $r_out";
y13 #calc "$y12";
x14 #calc "$padLength";
// y14 #calc "(sin(degToRad(1.5 * $angle))) * ($r + $oil_block_height) * -1";
y14 #calc "$y12";
z14 #calc "(cos(degToRad(1.5 * $angle))) * ($r + $oil_block_height)";
x15 #calc "$padLength";
y15 #calc "(sin(degToRad($angle))) * ($r + $oil_block_height) * -1";
z15 #calc "(cos(degToRad($angle))) * ($r + $oil_block_height)";
/*
x11 #calc "0"; //for a parallel entry
y11 #calc "$y4";
z11 #calc "$z4 + $oil_block_height";
x15 #calc "$padLength";
y15 #calc "$y11";
z15 #calc "$z11";
x8 #calc "0";
y8 #calc "$y0 - 15";
z8 #calc "$z0";
x9 #calc "0";
y9 #calc "$y8";
z9 #calc "$z4";
x10 #calc "0";
y10 #calc "$y9";
z10 #calc "$z11";
x12 #calc "$padLength";
y12 #calc "$y3 - 15";
z12 #calc "$z3";
x13 #calc "$padLength";
y13 #calc "$y12";
z13 #calc "$z7";
x14 #calc "$padLength";
y14 #calc "$y13";
z14 #calc "$z15";
*/
//oilBlockOutlet

x16 #calc "0"; //for a curved entry
y16 #calc "(sin(degToRad(1.5 * $angle))) * $r";
z16 #calc "(cos(degToRad(1.5 * $angle))) * $r";
x17 #calc "0";
// y17 #calc "(sin(degToRad(1.5 * $angle))) * $r_out";
y17 #calc "$y16";
z17 #calc "(cos(degToRad(1.5 * $angle))) * $r_out";
x18 #calc "0";
// y18 #calc "(sin(degToRad(1.5 * $angle))) * ($r + $oil_block_height)";
y18 #calc "$y16";
z18 #calc "(cos(degToRad(1.5 * $angle))) * ($r + $oil_block_height)";
x19 #calc "0";
y19 #calc "(sin(degToRad($angle))) * ($r + $oil_block_height)";
z19 #calc "(cos(degToRad($angle))) * ($r + $oil_block_height)";
x20 #calc "$padLength";
y20 #calc "(sin(degToRad(1.5 * $angle))) * $r";
z20 #calc "(cos(degToRad(1.5 * $angle))) * $r";
x21 #calc "$padLength";
// y21 #calc "(sin(degToRad(1.5 * $angle))) * $r_out";
y21 #calc "$y20";
z21 #calc "(cos(degToRad(1.5 * $angle))) * $r_out";
x22 #calc "$padLength";
// y22 #calc "(sin(degToRad(1.5 * $angle))) * ($r + $oil_block_height)";
y22 #calc "$y20";
z22 #calc "(cos(degToRad(1.5 * $angle))) * ($r + $oil_block_height)";
x23 #calc "$padLength";
y23 #calc "(sin(degToRad($angle))) * ($r + $oil_block_height)";
z23 #calc "(cos(degToRad($angle))) * ($r + $oil_block_height)";
/*

x19 #calc "0"; //for a parallel entry
y19 #calc "$y5";
z19 #calc "$z11";
x23 #calc "$padLength";
y23 #calc "$y6";
z23 #calc "$z11";
x16 #calc "0";
y16 #calc "$y1 + 15";
z16 #calc "$z1";
x17 #calc "0";
y17 #calc "$y16";
z17 #calc "$z5";
x18 #calc "0";
y18 #calc "$y17";
z18 #calc "$z19";
x20 #calc "$padLength";
y20 #calc "$y2 + 15";
z20 #calc "$z2";
x21 #calc "$padLength";
y21 #calc "$y20";
z21 #calc "$z6";
x22 #calc "$padLength";
y22 #calc "$y21";
z22 #calc "$z23";
*/
//curves
x_01 #calc "0";
y_01 #calc "0";
z_01 #calc "$r";
x_23 #calc "$padLength";
y_23 #calc "0";
z_23 #calc "$r";
x_45 #calc "0";
y_45 #calc "0";
z_45 #calc "$r_out";
x_67 #calc "$padLength";
y_67 #calc "0";
z_67 #calc "$r_out";
x_80 #calc "0";
y_80 #calc "sin(degToRad (12.5)) * $r * -1";
z_80 #calc "cos(degToRad (12.5)) * $r";
x_116 #calc "0";
y_116 #calc "sin(degToRad (12.5)) * $r";
z_116 #calc "cos(degToRad (12.5)) * $r";
x_123 #calc "$padLength";
y_123 #calc "sin(degToRad (12.5)) * $r * -1";
z_123 #calc "cos(degToRad (12.5)) * $r";
x_220 #calc "$padLength";
y_220 #calc "sin(degToRad (12.5)) * $r";
z_220 #calc "cos(degToRad (12.5)) * $r";
x_94 #calc "0";
y_94 #calc "sin(degToRad (12.5)) * $r_out * -1";
z_94 #calc "cos(degToRad (12.5)) * $r_out";
x_517 #calc "0";
y_517 #calc "sin(degToRad (12.5)) * $r_out";
z_517 #calc "cos(degToRad (12.5)) * $r_out";
x_137 #calc "$padLength";
y_137 #calc "sin(degToRad (12.5)) * $r_out * -1";
z_137 #calc "cos(degToRad (12.5)) * $r_out";
x_621 #calc "$padLength";
y_621 #calc "sin(degToRad (12.5)) * $r_out";
z_621 #calc "cos(degToRad (12.5)) * $r_out";
/* x_1011 #calc "0";
z_1011 #calc "cos(degtorad (12.5)) * ($r + $oil_block_height)";
y_1011 #calc "sin(degtorad (12.5)) * ($r + $oil_block_height) * -1";
x_1918 #calc "0";
y_1918 #calc "sin(degToRad (12.5)) * ($r + $oil_block_height)";
z_1918 #calc "cos(degToRad (12.5)) * ($r + $oil_block_height)";
x_1415 #calc "$padLength";
y_1415 #calc "sin(degToRad (12.5)) * ($r + $oil_block_height) * -1";
z_1415 #calc "cos(degToRad (12.5)) * ($r + $oil_block_height)";
x_2322 #calc "$padLength";
y_2322 #calc "sin(degToRad (12.5)) * ($r + $oil_block_height)";
z_2322 #calc "cos(degToRad (12.5)) * ($r + $oil_block_height)";
*/

vertices
(
($x0 $y0 $z0) //V0
($x1 $y1 $z1) //V1
($x2 $y2 $z2) //V2
($x3 $y3 $z3) //V3
($x4 $y4 $z4) //V4
($x5 $y5 $z5) //V5
($x6 $y6 $z6) //V6
($x7 $y7 $z7) //V7
($x8 $y8 $z8) //V8
($x9 $y9 $z9) //V9
($x10 $y10 $z10) //V10
($x11 $y11 $z11) //V11
($x12 $y12 $z12) //V12
($x13 $y13 $z13) //V13
($x14 $y14 $z14) //V14
($x15 $y15 $z15) //V15
($x16 $y16 $z16) //V16
($x17 $y17 $z17) //V17
($x18 $y18 $z18) //V18
($x19 $y19 $z19) //V19
($x20 $y20 $z20) //V20
($x21 $y21 $z21) //V21
($x22 $y22 $z22) //V22
($x23 $y23 $z23) //V23
/* ($x24 $y24 $z24) //V24
($x25 $y25 $z25) //V25
($x26 $y26 $z26) //V26
($x27 $y27 $z27) //V27
*/
);

blocks
(
hex (17 21 22 18 5 6 23 19) ($cellnosx $cellnosztank $cellnosy) simpleGrading (1 1 1) //oilBlockOutlet
hex (16 20 21 17 1 2 6 5) ($cellnosx $cellnoszpad $cellnosy) simpleGrading (1 1 1) //oilBlockOutlet
hex (1 2 6 5 0 3 7 4) ($cellnosx $cellnoszpad $cellnosypad) simpleGrading (1 1 1) //pad
hex (0 3 7 4 8 12 13 9) ($cellnosx $cellnoszpad $cellnosy) simpleGrading (1 1 1) //oilBlockInlet
hex (4 7 15 11 9 13 14 10) ($cellnosx $cellnosztank $cellnosy) simpleGrading (1 1 1) //oilBlockInlet
);

edges
(
arc 0 1 ($x_01 $y_01 $z_01)
arc 3 2 ($x_23 $y_23 $z_23)
arc 4 5 ($x_45 $y_45 $z_45)
arc 7 6 ($x_67 $y_67 $z_67)
arc 8 0 ($x_80 $y_80 $z_80)
arc 1 16 ($x_116 $y_116 $z_116)
arc 12 3 ($x_123 $y_123 $z_123)
arc 2 20 ($x_220 $y_220 $z_220)
arc 9 4 ($x_94 $y_94 $z_94)
arc 5 17 ($x_517 $y_517 $z_517)
arc 13 7 ($x_137 $y_137 $z_137)
arc 6 21 ($x_621 $y_621 $z_621)
/* arc 10 11 ($x_1011 $y_1011 $z_1011)
arc 19 18 ($x_1918 $y_1918 $z_1918)
arc 14 15 ($x_1415 $y_1415 $z_1415)
arc 23 22 ($x_2322 $y_2322 $z_2322)
*/
);

boundary
(
shaft
{
type wall;
faces
(
(0 1 2 3)
(1 16 20 2)
);
}
pad
{
type wall;
faces
(
(4 7 6 5)
(4 11 15 7)
(5 6 23 19)
);
}
inlet
{
type cyclicAMI;
neighbourPatch outlet;
transform rotational;
rotationAxis (-1 0 0);
rotationCentre (0 0 0);

faces
(
(8 12 13 9)
(9 13 14 10)
);
}

outlet
{

type cyclicAMI;
neighbourPatch inlet;
transform rotational;
rotationAxis (-1 0 0);
rotationCentre (0 0 0);

faces
(
(16 20 21 17)
(17 21 22 18)
);
}

frontAndBack
{
type wall;
faces
(

(3 2 6 7)
(0 1 5 4)
(0 4 9 8)
(1 16 17 5)
(4 9 10 11)
(5 19 18 17)
(3 7 13 12)
(2 20 21 6)
(7 15 14 13)
(6 21 22 23)

);
}
atmosphere
{
type patch;
faces
(
(11 10 14 15)
(19 23 22 18)
);
}

);

mergePatchPairs
(
);


p file:

dimensions [0 2 -2 0 0 0 0];

internalField uniform 2;

boundaryField
{
shaft
{
type zeroGradient;
}

pad
{
type zeroGradient;
}

inlet
{
type cyclicAMI;
}

outlet
{
type cyclicAMI;
}

frontAndBack
{
type zeroGradient;
}

atmosphere
{
type totalPressure;
p0 uniform 2;
}

}

U file:

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

internalField uniform (0 0 0);

boundaryField
{
shaft
{
type rotatingWallVelocity;
origin (0 0 0);
axis (-1 0 0);
omega 2;
}

pad
{
type noSlip;
}

inlet
{
type cyclicAMI;
}

outlet
{
type cyclicAMI;
}

frontAndBack
{
type slip;
}

atmosphere
{
type pressureInletOutletVelocity;
value $internalField;
}
Anuraag is offline   Reply With Quote

Reply

Tags
cfd, journal bearing, lubrication, open atmosphere, openfaom-7


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
Bearing simulation outlet pressure Tierce CFX 1 October 31, 2018 16:00
CFD analysis on wind turbine rotor Ken (Wind Turbine CFD Super Rookie) Main CFD Forum 45 February 9, 2016 14:07
Software for Wind Field Simulation based on LiDAR data around Wind Turbines davidebner Main CFD Forum 1 July 19, 2015 22:28
simulation of a radial hydrodynamic bearing in ANSYS CFX Jalen ANSYS 1 October 4, 2013 10:40
First Symposium on OpenFOAMⓇ in Wind Energy wiedangel OpenFOAM Announcements from Other Sources 0 February 27, 2013 15:23


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