Monday, 25 August 2025

Factor of Safety for Basic Design of Machine Elements under Simple Stress

Topic: Design Factor and Simple Stresses

Subject: Machine Design

Tool: Scilab & QCAD

By: Gani Comia, August 2025

  • Types of Design
  1. Rational design – regarded as purely mathematical and founded on the principles of mechanics.
  2. Empirical design – a design approach that follows established practices, relying primarily on past performance rather than theoretical justification.
  3. Industrial design – a term generally used for designing with emphasis on both appearance and function.

Design that relies on the factor of safety, such as in cases of simple static compression or tensile loads, is classified as rational design. On the other hand, industrial design addresses aspects like final appearance and additional features of machine elements.

  • Simple or Direct Stress

A fundamental challenge for engineers is selecting the appropriate material and applying it correctly and proportionately, ensuring that a structure or machine element performs its intended function efficiently. To achieve this, it is crucial to determine the material’s strength, stiffness, and other properties.

The unit strength of a material is generally defined in terms of stress. Stress is denoted symbolically as:

$$\sigma = \frac{F}{A} \tag{1}$$

Where:
\(\sigma\) – stress or force per unit area
\(F\) – applied compressive or tensile force
\(A\) – cross-sectional area
  • Factor of Safety or Design Factor

The Factor of Safety (\(FoS\)) is a value used to divide the strength criterion to a design stress in order to establish a design criterion. In a literal sense, it represents how many times stronger the design is compared to the expected load. However, since the term does not precisely match its literal meaning, it is sometimes referred to as the design factor. The design factor, or factor of safety, establishes the design stress based on ultimate-strength or yield-strength considerations.

$$\sigma_d = \frac{\sigma_u}{N}, \quad \sigma_d = \frac{\sigma_y}{N} \tag{2}$$

Where:
\(\sigma_d\) – design stress
\(\sigma_u\) – ultimate-stress criteria
\(\sigma_y\) – yield-stress criteria
\(N\) – factor of safety or design factor

In this article, since the machine element under consideration is made of ductile material, the following allowable values of design factor should be applied under dead load conditions.

$$\text{Dead Load, } N = \left\{ \begin{aligned} N & \geq 3 \; \; \; \, \text{ based on } \sigma_u \\ N & \geq 1.5 \; \text{ based on } \sigma_y \end{aligned} \right\} \tag{3}$$

The more basic definition of factor of safety for a single load is:

$$\text{Factor of Safety} = \frac{\text{Load that would cause failure}}{\text{Actual load on part}} \tag{4}$$

  • Application Example

Figure 1 shows a steel dead weight of \(8 \; \text{tons}\) supported by four cylindrical polyurethane material. Three types of polyurethane materials with ultimate strengths of \(\sigma_u = 10, \; 20, \; \text{and} \; 30 \text{MPa}\) are considered in this example. Each cylindrical support has a diameter of \(4 \; \text{inches}\). Based on this information, the factor of safety will be evaluated for each material type under a dead load ranging from \(1 \; \text{to} \; 12 \; \text{tons}\).

Figure 1. Simply Supported Dead Load.

One of the key concepts in mechanics is the free-body diagram (FBD). A FBD is a sketch of an isolated body that illustrates the external forces acting on it. The reaction forces represent the forces exerted by the body on its supports or adjacent bodies. Figure 2 shows the free-body diagram of a simply supported dead load.

Figure 2. Free-body Diagram for Simply Supported Dead Load of 8 Tons.

Analysis of the given scenario are shown in Figure 3. Three different factors of safety is shown on the figure for each different materials defined by its ultimate strength, \(\sigma_u\), at a particular \(8 \; \text{tons}\) weight or load.

Figure 3. Factor of Safety Calculation for a Simple Stress Analysis.

Visualizing the graph of the calculation provides far more insight than a single computed value for a given scenario. The Scilab script below recreates the plot shown in Figure 3.

  • Scilab Script
// Copyright (C) 2025 - Gani Comia
// Date of creation: 24 Aug 2025
// Factor-of-Safety Calculation for Simple Compressive Stress
clear;clc;clf;

// primary parameters
W = linspace(1,12,50);                  // tons, compressive load or weight
Ncyl = 4;                               // pcs, number of cylindrical support
F = 9806.65*(W/Ncyl);                   // N, load
d = 4-0.02;                             // inch, diameter (min)
d = 25.4*d;                             // mm, diameter (min)
A = (%pi/4)*d.^2;                       // mm^2, area

// sample material properties of a brittle material
sigma = [10 20 30];                    // MPa, ultimate or yield strength
Nst =  length(sigma)

// calculation of factor-of-safety for different material type
sigmaD = F./A
for i = 1:Nst
    FoS(i,:) = sigma(i)./sigmaD
end

// visualization
f = gcf();
f.figure_size = [700,700];
plot(W,FoS(1,:),"b-","linewidth",3)
plot(W,FoS(2,:),"c-","linewidth",3)
plot(W,FoS(3,:),"g-","linewidth",3)
title("Factor-of-Safety for Simple Compressive Stress","fontsize",3.5)
xlabel("Weight, W, (tons)","fontsize",3.25)
ylabel("Factor-of-Safety @ Cyl Support, FoS","fontsize",3.25)
note1 = "$\text{Matl#1},\;\sigma_u = 10\;\text{MPa}$"
note2 = "$\text{Matl#2},\;\sigma_u = 20\;\text{MPa}$"
note3 = "$\text{Matl#3},\;\sigma_u = 30\;\text{MPa}$"
leg = legend([note1,note2, note3],with_box=%F)
leg.font_size = 3
note2 = xstring(6.5,23-0.25,"https://gani-mech-toolbox.blogspot.com")
note2.font_size = 2
xgrid(color("grey"),1,7)

ax = gca()
ax.data_bounds = [0 0; 12 30]

// plotting intersecting lines & markers
idW = max(find(W <= 8.0))
W_val = W(idW)
mprintf("W_val: %3.1f, FoS_val: %3.1f \n",W_val,FoS(1,idW))
mprintf("W_val: %3.1f, FoS_val: %3.1f \n",W_val,FoS(2,idW))
mprintf("W_val: %3.1f, FoS_val: %3.1f \n",W_val,FoS(3,idW))

W_line_v = [8 8]; FoS_line_v = [0 FoS(3,idW)];
plot(W_line_v,FoS_line_v,"r--","linewidth",1)

for j = 1:Nst
    W_line_h = [0 8]
    FoS_line_h = [FoS(j,idW) FoS(j,idW)]
    plot(W_line_h,FoS_line_h,"r--","linewidth",1)
    plot(8,FoS(j,idW),"ro","linewidth",4.5)
end

// allowable factor-of-safety for ductile material
fos_min_x = [0 12]; fos_min_y = [3 3]
plot(fos_min_x,fos_min_y,"k--","linewidth",1.2)

// annotation or labelling
eqn_1 ="$\sigma_d=\frac{F}{A},\;FoS=\frac{\sigma_u}{\sigma_d},\;FoS=\frac{\sigma_y}{\sigma_d}$"
ann_1 = xstring(6.25,19.0,eqn_1)
ann_1.font_size = 3.5
eqn_2 = "$\text{Based on} \; \sigma_u \, , \; FoS_{allow} \geq 3$"
ann_2 = xstring(6.75,17.0,eqn_2)
ann_2.font_size = 3.5
eqn_3 = "$\text{Based on} \; \sigma_y \, , \; FoS_{allow} \geq 1.5$"
ann_3 = xstring(6.75,15.0,eqn_3)
ann_3.font_size = 3.5

ann_4 = xstring(0,FoS(1,idW),"$FoS_{#1} = 4.1$")
ann_4.font_size = 3.5
ann_5 = xstring(0,FoS(2,idW),"$FoS_{#2} = 8.2$")
ann_5.font_size = 3.5
ann_6 = xstring(0,FoS(3,idW),"$FoS_{#3} = 12.3$")
ann_6.font_size = 3.5

ann_7 = xstring(0,fos_min_y(1)-1.75,"$FoS_{allow} = 3.0$")
ann_7.font_size = 3.5

Feel free to comment for inquiry, clarification, correction or suggestion for improvement. Drop your email to make a request to the author.

References

  1. Virgil Moring Faires. Design of Machine Elements. 4th Ed. The Macmillan Company, New York. 1968.
  2. Robert H. Cramer. Machine Design. 3rd Ed. Addison-Wesley Publishing Company, Inc. 1984. 
  3. F.L. Singer and A. Pytel. Strength of Materials. 3rd Ed. Harper & Row, Publishers, New York. 1980. 
  4. F.L. Singer. Engineering Mechanics. 2nd Ed. Harper International Edition, New York, Evanston & London. 1970. 

No comments:

Post a Comment

Factor of Safety for Basic Design of Machine Elements under Simple Stress

Topic: Design Factor and Simple Stresses Subject: Machine Design Tool: Scilab & QCAD By: Gani Comia, August 2025 Types of Des...