Reynolds Equationsolutionusing FEMin MATLAB

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

ME6800 Assignment

Journal bearing Reynolds equation


solution using FEM

Gantasala Sudhakar
ME13D014
16 April, 2013
Problem Statement:
To solve Reynolds equation using FEM for the fluid film pressure in journal bearings with the given
boundary conditions of zero pressure along the bearing ends and slope of the pressure is zero at bearing
mid-plane.

Theory:
A vector statement of the Reynolds equation for the fluid element is given by (Childs [1])
 h3  ∂h
∇ .  ∇p  = ∇ . ρhU + ρ (1)
 12 µ  ∂t

Variational principle as derived by Reddi [2] follows. The aim is to determine the function p(x, z) which
minimizes the functional and is specified on the Sp portion of the boundary of the fluid surface A.
 ρh 3  ∂h 
J = ∫  ∇p − ρhU  . ∇p + pρ  dA + ∫ (q . n ) p ds (2)
A 
24 µ  ∂t  Sq

Fluid domain is dicretized using triangular elements and pressure is expressed in terms of shape
functions as
3
p ( x, z ) = ∑ pi Li ( x, z ) (3)
i =1
where pi=p(xi, zi), and the linear interpolation functions are defined by

Li ( x, z ) = (ai + bi x + ci z ) / 2 A, i = 1, 2, 3,
a1 = x2 z3 − x3 z 2 , b1 = z2 − z3 , c1 = x3 − x2 ,
a2 = x3 z1 − x1 z3 , b2 = z3 − z1 , c2 = x1 − x3 ,
a3 = x1 z 2 − x2 z1 , b3 = z1 − z2 , c3 = x2 − x1 ,
1 x1 z1
2 A = 1 x2 z2
1 x3 z3

Substituting interpolation-function definitions for p, U x , U z , ∂h / ∂t into the extended variational


definition [1],
 ρh 3  ∂p  2  ∂p  2   ∂p ∂p  ∂h 
∆J = ∫      
+ − ρh U
 x ∂x + U z  + ρ p  dA + ∫S (q x nx + q y n y ) p ds (4)
A  24 µ 
 ∂x   ∂z  
 ∂z ∂t  q

yields
1 T
∆J = − ( p ) [Kp ]( p ) − ( p )T (Q − qn ), (5)
2
where
(Q ) = [KUx](Ux ) + [KUz ](Uz ) + [KH& ](H& ) (6)
and
ρh3 ∂Li ∂L j ∂Li ∂L j  
Kpij = − ∫  +  dA, 
A 12 µ ∂x ∂x ∂z ∂z  
∂L 
KUxij = ∫ ρh i L j dA, 
A ∂x 
∂L 
KUzij = ∫ ρh i L j dA,  (7 )
A ∂z 
KH& ij = ∫ ρ Li L j dA, 
A 
qni = ∫ ρh (q x nx + q z nz ) Li dS . 
Sq 


Minimizing the function defined by Eq. (5) with respect to the pressures at the nodes of the element;
i.e., ∂ ∆J / ∂pi = 0 yields the nodal flow equation
(qn ) = [Kp ] ( p ) + [KUx] (Ux ) + [KUz ] (Uz ) + [KH& ] (H& ) (8)
where=
ρ  3 3
 3

Kpij = −  ∑ H k
480 µ A  k =1
2
∑ H + ∏ H  (b b
k k i j + ci c j ) , 
k =1  i =1 
ρ ρ 
KUxij = f j bi , KUzij = f j ci , 
24 24
 (9 )
ρA 
KH& ij = − (1 + δ ij ) , 
12
3 
f j = ∑ H k (1 + δ kj ) . 
k =1 

Referencess:
[1]. Dara Childs, “Turbomachinery Rotordynamics: Phenomena, Modeling, & Analysis”, John Wiley &
Sons, 1993, 205-214.
[2]. Reddi, M., “Finite-element solution of the Incompressible Lubrication Problem”, Journal of
Lubrication Technology, 1969, July, 524-533.
[3]. Petri Hannukainen, “Non-linear journal bearing model for analysis of superharmonic vibrations of
rotor systems”, Thesis, Lappeenranta University of Technology, Finland, 2008.
Z=0

Z=L
X X=0 X=R*2π
(b) Journal Bearing
(a) Unwrapped geometry

(c) Meshed geometry over half bearing length, Nx=36, Ny=20


Fig. 1

Validation:
For L/D ratios of less than 0.25, closed form expressions for pressure are available with an assumption of
variation of pressure along the circumferential direction is very less compared to that along the bearing
length. Hence pressure term corresponding to circumferential direction, i.e., x direction pressure
variation in the Eq. (1) is neglected. Thus the Reynolds equation consists of only one independent
variable i.e., z and easily integrated to get the pressure. Applying boundary conditions as shown in Fig.
(b), we will get the pressure along the bearing and it is integrated over the bearing area to get the forces
in x and y directions. The expression for pressure after applying boundary conditions is given by [3]
3µ  1 ∂(U 0 h ) ∂h   L2 
p( z, θ ) = 
3 
+ 2   − z 2 . (10)
h  R0 ∂θ ∂t   4 

Program Input:
Speed of the journal in rpm, rpm=[20000]
Journal vibration displacements (m) and velocities (m/s) in X & Y directions:
x0=1e-5; y0=1e-5; A0=1e-3; B0=1e-2;

Bearing clearance (m), diameter (m), radius(m), length(m), density (kg/m^3), viscosity (Pa-s)
cr=50.8e-6; D=.0508; R=D/2; L=.0127; rho=850; nu=6.8948e-3;

Mesh density along circumference (X direction), length (Y direction)


Nx=36; // No. of divisions along the circumference
Nz=20; // No. of divisions along the half length, symmetry about bearing mid-plane is taken
advantage

Output:
For the above input values
Resultant force acting on the journal in X direction using FEM is, Fx = -87.4 N
Resultant force acting on the journal in Y direction using FEM is, Fy = -17.9 N

Resultant force acting on the journal in X direction using Short bearing approximation is, fx = -91.5 N
Resultant force acting on the journal in Y direction using Short bearing approximation is, fy = -19.5 N

Comment: There will be a difference in magnitudes of the forces from the above two methods and it
increases with increase in bearing eccentricity values because in the short bearing approximation we
neglect the pressure variation along the circumferential direction whereas in the FEM we include that.

For different eccentricity ratios (non dimensional numbers) i.e., ratio of eccentricity to the clearance,
forces from the Short bearing approximation and FEM are compared in the below table. (Here vibration
velocities in X and Y directions are considered as zero for the convenience)

S. X eccentricity/ Y eccentricity/ FEM Short bearing


No. Clearance Clearance Fx (N) Fy (N) fx (N) fy (N)
1 0.1 0.1 -26.8 18.8 -27.8 19.2
2 0.2 0.2 -67.7 31.9 -71.3 32.3
3 0.3 0.3 -137.1 37.9 -147.7 36.9
4 0.4 0.4 -274.5 26.7 -306.2 19.7

To check convergence of FEM and short bearing approximation, mesh size is varied and the forces are
compared from both the cases in the below table. Journal bearing vibration displacements, velocities
and speed of the journal are same as given in the input section.

No. of elements No. of elements FEM Short bearing


S.
in the X direction in the Z direction
No. Fx (N) Fy (N) fx (N) fy (N)
(Nx) (Nz)
1 18 10 -84.8 -17.6 -91.3 -19.6
2 36 20 -87.4 -17.9 -91.5 -19.5
3 54 30 -87.8 -18.1 -91.5 -19.5
4 72 40 -88.0 -18.1 -91.6 -19.5
Fig. 2
//////////////// Journal Bearing Reynolds equation solution using FEM /////////////////
/////////////// 3 noded traingular elements are used to descretize the fluid domain /////
clear
clc;
///////////////// Inputs //////////////////////////////
rpm=[20000]; //Speed of the journal in rpm
cr=50.8e-6; D=.0508; R=D/2; L=.0127; rho=850; nu=6.8948e-3;
// Bearing clearance (m), diameter (m), radius(m), length(m), density (kg/m^3), viscosity (Pa-s)
//ecfact=0.4;
//x0=ecfact*cr; y0=ecfact*cr; A0=0*1e-3; B0=0*1e-2;
x0=1e-5; y0=1e-5; A0=1e-3; B0=1e-2; // Journal displacement and velocities in X & Y
directions
Nx=36; // No. of divisions along the circumference
Ny=20; // No. of divisions along the length
///////////////////////////////////////////////////////

///////////////// Pre-processing ////////////////////


omega=2*%pi*rpm/60; // Angular velocity
N_el=Nx*Ny; // No. of elements
N_DOF=Nx*(Ny+1); // Last column corresponding to angle =2*%pi is not required
ang=(0:360/Nx:360);
x=R*ang*%pi/180; // Unwrapped circumference discretization
l=L/2:-L/2/Ny:0; // Bearing length discretization

for i=1:Nx+1
for j=1:Ny+1
pr_num(j,i)=(i-1)*(Ny+1)+j; // Node numbers of the geometry stored in a matrix form
end
end
stacksize('max')
gstacksize('max')
// Initialization
KP=zeros(N_DOF,N_DOF); KUx=zeros(N_DOF,N_DOF); KH_Dot=zeros(N_DOF,N_DOF);
/////////////////////////////////////////////////////////////////////
// Plotting Mesh geometry///////////////////////////////////////////
figure;
for ii=1:Nx // Loop for elements along the bearing circumference (i.e., X direction)
for jj=1:Ny // Loop for element along the bearing length (i.e., Y direction)
if ii~=Nx
i=(ii-1)*(Ny+1)+jj; // Node numbering in the order i,j,k,m in anti-cloclwise direction of
rectangular element
j=(ii-1)*(Ny+1)+jj+1;
k=ii*(Ny+1)+jj+1;
m=ii*(Ny+1)+jj;
end
if ii==Nx // Takes care of angle =0 and angle=2*%pi cyclic boundaries
i=(ii-1)*(Ny+1)+jj;
j=(ii-1)*(Ny+1)+jj+1;
k=jj+1;
m=jj;
end

xi=x(ii); xj=x(ii); xk=x(ii+1); xm=x(ii+1); // X-cordinates of nodes (i.e., R * angle)


yi=l(jj); yj=l(jj+1); yk=l(jj+1); ym=l(jj);

plot([xi xj xk xi],[yi yj yk yi],'r')


plot([xi xk xm xi],[yi yk ym yi],'b')
end
end
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
for ii=1:Nx // Loop for elements along the bearing circumference (i.e., X direction)
for jj=1:Ny // Loop for element along the bearing length (i.e., Y direction)
if ii~=Nx
i=(ii-1)*(Ny+1)+jj; // Node numbering in the order i,j,k,m in anti-cloclwise direction of
rectangular element
j=(ii-1)*(Ny+1)+jj+1;
k=ii*(Ny+1)+jj+1;
m=ii*(Ny+1)+jj;
end

if ii==Nx // Takes care of angle =0 and angle=2*%pi cyclic boundaries


i=(ii-1)*(Ny+1)+jj;
j=(ii-1)*(Ny+1)+jj+1;
k=jj+1;
m=jj;
end

xi=x(ii); xj=x(ii); xk=x(ii+1); xm=x(ii+1); // X-cordinates of nodes (i.e., R * angle)


yi=l(jj); yj=l(jj+1); yk=l(jj+1); ym=l(jj); // Y-cordinates of nodes (i.e., Length)

A1=1/2*abs(xj*yk-xk*yj-xi*yk+xk*yi+xi*yj-xj*yi); // Area of the lower traingular


element (i, j, k)
A2=1/2*abs(xm*yk-xk*ym-xi*yk+xk*yi+xi*ym-xm*yi); // Area of the upper traingular
element (i, k, m)
// Nodal film thickness
Hi=cr+x0*cos(ang(ii)*%pi/180)+y0*sin(ang(ii)*%pi/180);
Hj=cr+x0*cos(ang(ii)*%pi/180)+y0*sin(ang(ii)*%pi/180);
Hk=cr+x0*cos(ang(ii+1)*%pi/180)+y0*sin(ang(ii+1)*%pi/180);
Hm=cr+x0*cos(ang(ii+1)*%pi/180)+y0*sin(ang(ii+1)*%pi/180);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Lower triangular element of the rectangle i.e., nodes i, j, k
xx=rho*((Hi^2+Hj^2+Hk^2)*(Hi+Hj+Hk)+(Hi*Hj*Hk))/(480*nu*A1);

bi=yj-yk; bj=yk-yi; bk=yi-yj; ci=xk-xj; cj=xi-xk; ck=xj-xi;

kpii=-xx*(bi*bi+ci*ci); kpij=-xx*(bi*bj+ci*cj); kpik=-xx*(bi*bk+ci*ck);


kpji=-xx*(bj*bi+cj*ci); kpjj=-xx*(bj*bj+cj*cj); kpjk=-xx*(bj*bk+cj*ck);
kpki=-xx*(bk*bi+ck*ci); kpkj=-xx*(bk*bj+ck*cj); kpkk=-xx*(bk*bk+ck*ck);

kp=[kpii kpij kpik; // Fluid pressure matrix


kpji kpjj kpjk;
kpki kpkj kpkk];

KP([i j k],[i j k])=KP([i j k],[i j k])+kp;


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
fi=rho/24*(2*Hi+Hj+Hk); fj=rho/24*(Hi+2*Hj+Hk); fk=rho/24*(Hi+Hj+2*Hk);
kuii=bi*fi; kuij=bi*fj; kuik=bi*fk;
kuji=bj*fi; kujj=bj*fj; kujk=bj*fk;
kuki=bk*fi; kukj=bk*fj; kukk=bk*fk;

ku=[kuii kuij kuik; // Fluid circumferential velocity matrix


kuji kujj kujk;
kuki kukj kukk];

KUx([i j k],[i j k])=KUx([i j k],[i j k])+ku;


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
khii=-rho*A1/12*2; khij=-rho*A1/12; khik=-rho*A1/12;
khji=-rho*A1/12; khjj=-rho*A1/12*2; khjk=-rho*A1/12;
khki=-rho*A1/12; khkj=-rho*A1/12; khkk=-rho*A1/12*2;

kh=[khii khij khik; // Fluid squeeze velocity matrix


khji khjj khjk;
khki khkj khkk];

KH_Dot([i j k],[i j k])=KH_Dot([i j k],[i j k])+kh;


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Upper triangular element of the rectangle i.e., nodes i, k, m
xx1=rho*((Hi^2+Hk^2+Hm^2)*(Hi+Hk+Hm)+(Hi*Hk*Hm))/(480*nu*A2);

Bi=yk-ym; Bk=ym-yi; Bm=yi-yk; Ci=xm-xk; Ck=xi-xm; Cm=xk-xi;

kp1ii=-xx1*(Bi*Bi+Ci*Ci); kp1ik=-xx1*(Bi*Bk+Ci*Ck);
kp1im=-xx1*(Bi*Bm+Ci*Cm); kp1ki=-xx1*(Bk*Bi+Ck*Ci);
kp1kk=-xx1*(Bk*Bk+Ck*Ck); kp1km=-xx1*(Bk*Bm+Ck*Cm);
kp1mi=-xx1*(Bm*Bi+Cm*Ci); kp1mk=-xx1*(Bm*Bk+Cm*Ck);
kp1mm=-xx1*(Bm*Bm+Cm*Cm);

kp1=[kp1ii kp1ik kp1im; // Fluid pressure matrix


kp1ki kp1kk kp1km;
kp1mi kp1mk kp1mm];

KP([i k m],[i k m])=KP([i k m],[i k m])+kp1;


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Fi=rho/24*(2*Hi+Hk+Hm); Fk=rho/24*(Hi+2*Hk+Hm); Fm=rho/24*(Hi+Hk+2*Hm);
ku1ii=Bi*Fi; ku1ik=Bi*Fk; ku1im=Bi*Fm;
ku1ki=Bk*Fi; ku1kk=Bk*Fk; ku1km=Bk*Fm;
ku1mi=Bm*Fi; ku1mk=Bm*Fk; ku1mm=Bm*Fm;

ku1=[ku1ii ku1ik ku1im; // Fluid circumferential velocity matrix


ku1ki ku1kk ku1km;
ku1mi ku1mk ku1mm];

KUx([i k m],[i k m])=KUx([i k m],[i k m])+ku1;


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
kh1ii=-rho*A2/12*2; kh1ik=-rho*A2/12; kh1im=-rho*A2/12;
kh1ki=-rho*A2/12; kh1kk=-rho*A2/12*2; kh1km=-rho*A2/12;
kh1mi=-rho*A2/12; kh1mk=-rho*A2/12; kh1mm=-rho*A2/12*2;

kh1=[kh1ii kh1ik kh1im; // Fluid squeeze velocity matrix


kh1ki kh1kk kh1km;
kh1mi kh1mk kh1mm];

KH_Dot([i k m],[i k m])=KH_Dot([i k m],[i k m])+kh1;

end
end

brg_end_nodes=[1:Ny+1:N_DOF]; // Boundary condition nodes at the ends of length

////////////////////Penalty approach for applying end BC's////////////////


K_highval=max(max(abs(KP)))*1000;

KP1=KP;
KP1(brg_end_nodes,brg_end_nodes)=KP1(brg_end_nodes,brg_end_nodes)+eye(Nx,Nx)*K_hig
hval;

KUx1=KUx;
KH_Dot1=KH_Dot;

//////////////Half length BC steps i.e., Slope at half length is zero//////////////////


///// Applied as multi point constraint: Pi=Pj at i and j nodes////////////////////////
///// alpha*Pi + beta*Pj = gama ==> 1*Pi - 1*Pj = 0//////////// here alpha=1, beta=-1, gama=0
///// Additional matrix to be added to KP matrix: [kk*alpha^2 kk*alpha*beta;kk*alpha*beta
kk*beta^2]
/////i.e., [kk -kk;-kk kk] = kk * eye(2,2) - kk * eye(2,2)
brg_end_nodes1=[Ny:Ny+1:N_DOF]; // ith nodes in multi-point constraint
brg_end_nodes2=[Ny+1:Ny+1:N_DOF]; // jth nodes in multi-point constraint

KP1([brg_end_nodes1 brg_end_nodes2],[brg_end_nodes1 brg_end_nodes2])


=KP1([brg_end_nodes1 brg_end_nodes2],[brg_end_nodes1 brg_end_nodes2])
+eye(2*Nx,2*Nx)*K_highval; // kk * eye(2,2)

KP1([brg_end_nodes1 brg_end_nodes2],[brg_end_nodes2 brg_end_nodes1])


=KP1([brg_end_nodes1 brg_end_nodes2],[brg_end_nodes2 brg_end_nodes1])-
eye(2*Nx,2*Nx)*K_highval; // -kk * eye(2,2)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////// Solution for pressure /////////////////////////////////////////////////////////////////////////


ang_new=(0:2*%pi/Nx:(2*%pi-(2*%pi/Nx)));
Ux=zeros(size(KP1,1),1);
H_Dot=zeros(size(KP1,1),1);

for kk=1:Ny+1
Ux(kk:Ny+1:(Ny+1)*Nx,1)=(omega*R-A0.*(sin(ang_new)')+B0.*(cos(ang_new)'))/2;
H_Dot(kk:Ny+1:(Ny+1)*Nx,1)=-A0.*(cos(ang_new)')-B0.*(sin(ang_new)');
end

Pressure=KP1\(KUx1*Ux+KH_Dot1*H_Dot);

P=zeros(Ny+1,Nx+1);

for ii=1:Nx
P(1:Ny+1,ii)=Pressure((ii-1)*(Ny+1)+1:ii*(Ny+1));
end

P(1:Ny+1,Nx+1)=P(1:Ny+1,1);
figure;
surf(P)

for i=1:Ny+1
for j=1:Nx+1
if P(i,j)<0
P(i,j)=0; // Equating cavitation region to zero pressure
end
end
end

ang=(0:2*%pi/Nx:2*%pi);
for ii=1:Ny+1
px(ii,1)=inttrap(R*ang,P(ii,:).*cos(ang));
// Pressure integration along circumference to get force using Trapezoidal rule
py(ii,1)=inttrap(R*ang,P(ii,:).*sin(ang));
end

ll=l;
ll=ll';
Fx=inttrap(ll,px)*2; // Pressure integration along length to get force using Trapezoidal rule
Fy=inttrap(ll,py)*2;
////Fx, Fy --> Bearing forces in X and Y directions

/////////Validating FEM solution with Short bearing pressure analytical


expression///////////////////////////////////
Nz=2*Nz;
dang=360/Nx;
dz=L/Nz;
z=(-L/2):dz:(L/2);
ang=(0:dang:360)*%pi/180;

h=cr+x0.*cos(ang)+y0.*sin(ang);
P1=zeros(Nx+1,Nz+1);
P_uncav=zeros(Nx+1,Nz+1);

for i=1:Nx+1
for j=1:Nz+1
pij=3*nu/h(i)^3*( (x0*omega-2*B0)*sin(ang(i))-(y0*omega+2*A0)*cos(ang(i)) )*((L^2/4)-
z(j)^2);
P1(i,j)=P1(i,j)+pij;
if P1(i,j)<0
P1(i,j)=0; // Equating cavitation region to zero pressure
end
P_uncav(i,j)=P_uncav(i,j)+pij;
end
end
P1=P1'; P_uncav=P_uncav';
figure;
surf(P1)
figure;
surf(P_uncav)

for ii=1:Nz+1
ppx1(ii,1)=inttrap(R*ang,P1(ii,:).*cos(ang));
ppy1(ii,1)=inttrap(R*ang,P1(ii,:).*sin(ang));
end

ll1=z';
Fx1=inttrap(ll1,ppx1);
Fy1=inttrap(ll1,ppy1);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

You might also like