Topic: Thick-Wall Theory for Cylinders
Subject: Machine Design
Tools: Scilab and QCAD
- Interfacial or Contact Pressure
The contact pressure in a press or shrink fit of the shaft and hub assembly due to interference fit is used to calculated the axial force to disassemble the hub in the direction of the shaft. Likewise, it is used to calculate the torque to rotate the hub around the shaft axis as well. Figure 1 shows the forces and torque in a shaft-hub assembly of machine elements.
Figure 1. Pressure, Force, and Torque in the Shaft-Hub Assembly
This article presents the equations for calculating interfacial pressure between the surface of the shaft and the hub and apply it to solve for axial force and torque. Let us define and illustrate the problem using Figure 2.
Figure 2. Sample Shaft-Hub Assembly and Parameters
The contact pressure, \(p\), between the internal surface of the hub and outer surface of the shaft can be expressed as a function of interference as shown in Equation (1).
$$p = \left[ \frac{1}{K_h + K_s} \right] \frac{\delta_{total}}{R} \tag{1}$$
\(K_h\) – constant for outside member or the hub
\(K_s\) – constant for inside member or the shaft
\(\delta_{total}\) – total radial interference
\(R\) – mean radius at the interface of contacting surface
The constants for the outside (hub) and inside (shaft) members are defined as,
$$K_h = \frac{1}{E_h} [C_h + \nu_h], \quad C_h = \frac{\zeta_h^2 + 1}{\zeta_h^2 - 1}, \quad \zeta_h = \frac{r_h}{R} \tag{2}$$
$$K_s = \frac{1}{E_s} [C_s - \nu_s], \quad C_s = \frac{\zeta_s^2 + 1}{\zeta_s^2 - 1}, \quad \zeta_s = \frac{R}{r_s} \tag{3}$$
For the solid shaft where the inside radius is
$$r_s = 0 , \quad \zeta_s = \frac{R}{r_s} = \infty , \quad C_s = 1 \tag{4}$$
Then the constant for the inside member or the shaft becomes,
$$K_s = \frac{1}{E_s} [1 - \nu_s] \tag{5}$$
\(E_h\) and \(E_s\) – modulus of elasticity of the hub and shaft respectively
\(\nu_h\) and \(\nu_s\) – Poisson ratio of the hub and shaft respectively
\(r_h\) – outside radius of the hub
\(r_s\) – inside radius of the shaft
\(\zeta_h\) and \(\zeta_s\) – ratio of the radius defined in Equations (2) and (3)
\(C_h\) and \(C_s\) – geometric constant
- Radial Force
$$F_r = 2 \pi R L p \tag{6}$$
\(F_r\) – radial force
\(L\) – length of contact
- Tangential Force
$$F_t = f F_r \tag{7}$$
\(F_t\) – tangential force
- Torque
$$T = 2 \pi R^2 L f p \tag{8}$$
\(T\) – torque
\(f\) – coefficient of static friction
Below is the application of the equations presented to calculate for the solution of the illustrated problem with the use of Scilab script.
- Scilab Script
// Copyright (C) 2025 - Gani Comia // Date of creation: 28 Feb 2025 // Shaft-Hub Press or Shrink Fit Assembly Calculation clear;clc; // (1) --- methods or functions --- // (1-1) interfacial pressure between shaft-hub assembly function p=cP(Kh, Ks, radInt, R) p = (1/(Kh+Ks)).*(radInt./R); endfunction // (1-2) hub, K-constant function Kh=kHconst(E_h, nu_h, r_h, R) zeta = r_h./R; C_h = (zeta.^2 + 1)./(zeta.^2 - 1); Kh = (1/E_h).*(C_h + nu_h); endfunction // (1-3) shaft, K-constant function Ks=kSconst(E_s, nu_s) C_s = 1; Ks = (1/E_s).*(C_s - nu_s); endfunction // (1-4) radial force due to interfacial pressure function fRad=radialF(p, R, L) fRad = p.*2*%pi.*R.*L./9.8; endfunction // (1-5) tangential force due to radial force function fTan=tangentF(f, fRad) fTan = f.*fRad; endfunction // (1-6) torque at interference surface function T=torque(fTan, R) T = fTan.*R./1000; endfunction // (2) --- main function --- // (3) hub parameters, steel with the following properties id_h = [50.280 50.300]; // mm, hub ID od_h = 100.0; // mm, hub OD or_h = od_h./2; // mm, hub outside rad E_h = 213e3; // MPa (N/mm^2), modulus of elasticity nu_h = 0.295; // poisson ratio L = 25.0; // mm, length of contact f = 0.1; // coefficient of static friction steel-to-steel // (4) shaft parameter, steel with the following properties od_s = [50.350 50.370]; // mm, shaft OD id_s = 0; // mm, shaft ID E_s = 205e3; // MPa (N/mm^2), modulus of elasticity nu_s = 0.28; // poisson ratio // (5) derived parameters format(7); // (5-1) mean radius at the interface R = (1/2)*[(od_s(1)+id_h(2))/2 , (od_s(2)+id_h(1))/2]; // (5-2) total radial interference radInt = (1/2)*[(od_s(1)-id_h(2)) , (od_s(2)-id_h(1))]; // (5-3) diametral interference diaInt = 2*radInt; mprintf("Dia Inter (mm): min:%4.3f & max:%4.3f\n",diaInt(1),diaInt(2)); // (6) calculation for i = 1:2 Kh(i) = kHconst(E_h,nu_h,or_h,R(i)); Ks(i) = kSconst(E_s,nu_s); p(i) = cP(Kh(i),Ks(i),radInt(i),R(i)); fRad(i) = radialF(p(i),R(i),L); fTan(i) = tangentF(f,fRad(i)); T(i) = torque(fTan(i),R(i)); end mprintf("Axial Force (kgf): min:%5.0f & max:%5.0f\n",fTan(1),fTan(2)); mprintf("Torque (kgf-m): min:%4.0f & max:%4.0f\n",T(1),T(2)); // (7) plot calculation results clf; fig = gcf() fig.figure_size = [800,600] subplot(1,2,1); // (7-1) Fa = f(delta) relationship m_a = diff(fTan)/diff(diaInt); b_a = fTan(1) - m_a.*diaInt(1); x_a = linspace(0.040,0.100,50); y_a = m_a.*x_a + b_a; // (7-2) plot of axial force - diametral interference plot(x_a,y_a,"b-","linewidth",3); title(["$\Large Fa = f(\delta)$","for","$\Large f_s=0.1$"],"fontsize",3.5); xlabel(["$\large \delta$",", Dia Interference, mm"],"fontsize",3.25) ylabel(["$\large Fa$",", Axial Force, kgf"],"fontsize",3.25); xgrid(3,0); mprintf("Line Prop: m=%6.1f and b=%3.1e\n",m_a,b_a); legend("$\LARGE F_a = 62726.3\;\delta$",with_box=%F); xstring(0.045,7000,"https://gani-mech-toolbox.blogspot.com"); ax = gca() ax.data_bounds = [0.040 2000; 0.100 8000]; format(6) // (7-3) axial force @ min diametral interference for j = 1:2 v_x = [diaInt(j) diaInt(j)]; v_y = [2000 fTan(j)]; plot(v_x,v_y,"m--","linewidth",1.5); h_x = [0.04 diaInt(j)]; h_y = [fTan(j) fTan(j)]; plot(h_x,h_y,"m--","linewidth",1.5); plot(diaInt(j),fTan(j),"s","markerFaceColor","magenta"); xstring(diaInt(j)-0.001,fTan(j),["Fa = ",string(fTan(j))],-40); end subplot(1,2,2); // (7-4) T = f(delta) relation ship m_t = diff(T)/diff(diaInt); b_t = T(1) - m_t.*diaInt(1); x_t = linspace(0.040,0.100,50); y_t = m_t.*x_t + b_t; // (7-5) plot of torque - diametral interference plot(x_t,y_t,"r-","linewidth",3); title(["$\Large T = f(\delta)$","for","$\Large f_s=0.1$"],"fontsize",3.5); xlabel(["$\large \delta$",", Dia Interference, mm"],"fontsize",3.25); ylabel(["$\large T$",", Torque, kgf-m"],"fontsize",3.25); xgrid(3,0); ax = gca() ax.data_bounds = [0.040 60; 0.100 180]; mprintf("Line Prop: m=%6.1f and b=%3.1e\n",m_t,b_t); legend("$\LARGE T = 1578.4\;\delta$",with_box=%F); xstring(0.045,160,"https://gani-mech-toolbox.blogspot.com"); format(5); // (7-6) torque @ min & max diametral interference for k = 1:2 v_x = [diaInt(k) diaInt(k)]; v_y = [60 T(k)]; plot(v_x,v_y,"m--","linewidth",1.5); h_x = [0.04 diaInt(k)]; h_y = [T(k) T(k)]; plot(h_x,h_y,"m--","linewidth",1.5); plot(diaInt(k),T(k),"s","markerFaceColor","magenta"); xstring(diaInt(k)-0.001,T(k),["T = ",string(T(k))],-42); end
- Scilab Output (Figure 3)
Figure 3. Axial Force and Torque in relation to Diametral Interference
For the cylinder to be considered to follow the thick-walled theory, the ratio of thickness over diameter should be \(t\,/\,D > 0.1\), giving rise to tangential and radial stresses within the wall.
It is encouraged the reader to refer to the book Mechanical Engineering Design, 7th edition text by Joseph Edward Shigley, Charles R. Mischke and Richard G. Budynas for the detailed discussion of the subject.
Feel free to comment for inquiry, clarification, or suggestion for improvement. Drop your email to request the soft copy of the file.
- J.E. Shigley, C.R. Mischke, and R. Budynas. Mechanical Engineering Design. 7th Ed. McGraw-Hill Publishing Company. 2003.