You are on page 1of 5

Matlab Tutorial For Numerical Implementation of Hertz Contact Theory

Contents
Close all open figures and clear all variables in memory
Enter the geometric properties of the Ellipsoids in contact
Enter the material properties of the Ellipsoids
Transform the geometric data to Hertz theory
The angle between axis of contacting surfaces

Declare functions involving elliptic integrals in terms of x ( ) and k


Numerical integration by Boole's rule
Setting Initial Guess Values
Solution of Transcendental Equation
Evaluation of Elliptic Integrals
Radii of Contact
Maximum Pressure
Vertical Deformation
Drawing the contact Ellipse

Close all open figures and clear all variables in memory

close all;
clear all;

Enter the geometric properties of the Ellipsoids in contact

R11 = 0.01; %In meters


R12 = 0.005;
R21 = 1;
R22 = 1;

Enter the material properties of the Ellipsoids

E1 = 210* 10^9; %In Pa


E2 = 210* 10^9;
v1 = 0.3;
v2 = 0.3;

Transform the geometric data to Hertz theory

R = 1 / (1/R11 + 1/R12 + 1/R21 + 1/R22);


R1 = 1/R11 - 1/R12;
R2 = 1/R21 - 1/R22;

The angle between axis of contacting surfaces

w = 0;

omg = acos(R * sqrt(R1^2 + R2^2 + 2 * R1 * R2 * cos(2*w)));


omg = round(omg * 180/pi); % Convert radians into degrees

E = 1 / ( (1-v1^2)/E1 + (1-v2^2)/E2 );

Declare functions involving elliptic integrals in terms of x ( ) and k

syms x k

hk = symfun(1/sqrt(1-(1-k^2)*sin(x)^2), [x]);

ik = symfun(cos(x)^2/(sqrt(1-(1-k^2)*sin(x)^2))^3, [x]);

jk = symfun(cos(x)^2/(sqrt(1-(1-1/k^2)*sin(x)^2))^3, [x]);

Numerical integration by Boole's rule

BN = 2; %Intervals
HK = symfun(mBoole(hk, 0, pi/2,BN),[k]);
IK = symfun(mBoole(ik, 0, pi/2,BN),[k]);
JK = symfun(mBoole(jk, 0, pi/2,BN),[k]);

Setting Initial Guess Values

if (omg>=0) && (omg<=5) %These if statements give good initial guesses for finding roots of equation
ig = 0.04;
end
if (omg>5) && (omg<=73)
ig = 0.56;
end
if (omg>73)
ig = 0.85;
end

omg = omg*pi/180; %Conversion of angle back into radians

Solution of Transcendental Equation

fn = @(k) k^3/tan(omg/2)^2 - eval(JK)/eval(IK);


k1 = fzero(fn,ig);

Evaluation of Elliptic Integrals

HK = eval(HK(k1));
IK = eval(IK(k1));
JK = eval(JK(k1));

f = (2*IK/(pi*sin(omg/2)^2))^(1/3);
g = (2*JK/(pi*cos(omg/2)^2))^(1/3);

Radii of Contact

F = 1000; %Applied normal force in Newtons


a = f*((3* F * R)/(2*E)).^(1/3)
b = g*((3* F * R)/(2*E)).^(1/3)

a =

4.4416e-04
b =

2.8351e-04

Maximum Pressure

Pmax = 3*F / (2 * pi * a * b)/10^9 %Pressure in GPa

Pmax =

3.7917

Vertical Deformation

def = 3*F*HK/(2*pi*a*E) * 10^6 %In micro meters

def =

18.0896

Drawing the contact Ellipse

a = a*1000; %Convert radii units from m to mm


b = b*1000;
if a>= b
xCenter = a;
yCenter = a;
end

if a< b
xCenter = b;
yCenter = b;
end

xRadius = a;
yRadius = b;
theta = 0 : 0.01 : 2*pi;
x = xRadius * cos(theta) + xCenter;
y = yRadius * sin(theta) + yCenter;
plot(x, y, 'LineWidth', 3);
title('Geometry of Contact');
xlabel('Major contact radius a in mm');
ylabel('Minor contact radius b in mm');
axis square;
if a>= b
xlim([0 2*a]);
ylim([0 2*a]);
end
if a< b
xlim([0 2*b]);
ylim([0 2*b]);
end
set(gca,'fontsize', 16);
grid on;

Tutorial by Dr. Waqar Ahmed, Assistant Professor, Mechanical Engineering Department, University of Engineering & Technology Taxila. Pakistan.
waqaraq@gmail.com

You might also like