Mechanical Properties & Materials Testing

How materials respond to loads — and how we measure it. Learn the tensile test (engineering vs true stress–strain, elastic modulus, 0.2% offset yield, UTS, necking, elongation and reduction of area, resilience, toughness), strain hardening (Hollomon equation), hardness tests (Brinell, Vickers, Rockwell) and their link to strength, impact testing (Charpy) and the ductile-to-brittle transition, strengthening mechanisms (grain size/Hall–Petch, solid solution, work hardening, precipitation), variability and safety factors — with Python extracting properties from tensile data and computing Hall–Petch strengthening.

Design codes, product specifications and failure investigations all depend on measured mechanical properties. The tensile test is the most important: from one curve we get stiffness, strength, ductility and energy absorption.

Understanding what controls these properties at the microstructural level lets engineers strengthen materials deliberately.

An analogy

A tensile test is like stretching a spring and then a piece of chewing gum: first it stretches elastically and springs back (the spring), then it yields and flows permanently (the gum), thins locally (necking), and finally tears.

Reading the stress–strain curve

Regions of a ductile metal's curve:

Hardness and impact

Hardness tests press an indenter: Brinell (10 mm ball, HB), Vickers (diamond pyramid, HV — micro to macro), Rockwell (depth-based, HRC for hardened steel, HRB for soft metals). Fast and nearly non-destructive, correlating with tensile strength. Charpy V-notch impact tests measure absorbed energy; BCC steels show a ductile-to-brittle transition temperature (DBTT) — critical for ships, pipelines and cold-climate structures (Titanic, Liberty ships).

Strengthening mechanisms

All restrict dislocation motion: grain refinement (Hall–Petch — also improves toughness), solid-solution strengthening (alloying), strain/work hardening (cold rolling, drawing — reduces ductility), precipitation/age hardening (Al alloys, maraging steels, superalloys), dispersion strengthening, and martensitic transformation (steel). Annealing reverses work hardening through recovery, recrystallisation and grain growth.

Variability and design values

Properties vary between heats, positions and specimens; design uses minimum specified values (e.g. IS 2062 E250: yield ≥ 250 MPa) and statistics (A- and B-basis allowables in aerospace). Safety factors cover uncertainty in loads, properties and analysis. Other tests: compression, bend, shear, fracture toughness (CT specimens), fatigue, creep, nanoindentation; digital image correlation measures full-field strains. Standards: ASTM E8, ISO 6892, IS 1608.

Formulas

Worked example: Engineering stress

Given: F = 50 kN on a 10 mm diameter bar

Find: σ.

Answer: 637 MPa

Worked example: True stress

Given: σ = 490 MPa at ε = 0.10

Find: σ_T, ε_T.

Answer: 539 MPa, 0.0953

Worked example: Hardness to UTS

Given: Steel 180 HB

Find: UTS estimate.

Answer: ≈ 620 MPa

Analysing a tensile test and Hall–Petch

# Tensile test analysis: modulus, 0.2% offset yield, UTS, ductility; Hall-Petch strengthening
strain = [0.0, 0.0005, 0.001, 0.0015, 0.002, 0.004, 0.01, 0.05, 0.10, 0.15, 0.20, 0.24]
stress = [0, 100, 200, 300, 350, 380, 400, 460, 490, 500, 480, 430]          # MPa
E = (stress[2] - stress[0]) / (strain[2] - strain[0])
print(f"Young's modulus E = {E/1000:.0f} GPa")
# 0.2% offset yield: intersection of stress = E*(strain - 0.002) with the curve (linear interpolation)
for i in range(len(strain) - 1):
    f0 = stress[i] - E * (strain[i] - 0.002)
    f1 = stress[i + 1] - E * (strain[i + 1] - 0.002)
    if f0 > 0 >= f1:
        t = f0 / (f0 - f1)
        ys = stress[i] + t * (stress[i + 1] - stress[i])
        break
print(f"0.2% offset yield strength = {ys:.0f} MPa, UTS = {max(stress)} MPa, elongation at fracture ~ {strain[-1]*100:.0f}%")
print(f"resilience ~ {ys**2/(2*E):.2f} MJ/m3")
# Hall-Petch: sigma_y = sigma0 + k / sqrt(d)
s0, kHP = 70.0, 0.74                           # MPa, MPa*m^0.5 (mild steel)
for d_um in (100, 25, 5):
    print(f"grain size {d_um:3d} um: yield = {s0 + kHP/((d_um*1e-6)**0.5):.0f} MPa")
# Young's modulus E = 200 GPa
# 0.2% offset yield strength = 378 MPa, UTS = 500 MPa, elongation at fracture ~ 24%
# resilience ~ 0.36 MJ/m3
# grain size 100 um: yield = 144 MPa
# grain size  25 um: yield = 218 MPa
# grain size   5 um: yield = 401 MPa

The same routine a testing machine's software runs: fit the elastic slope, offset it by 0.2% strain and find where it cuts the curve. This steel-like curve gives E = 200 GPa, yield 378 MPa and UTS 500 MPa. Hall–Petch shows grain refinement alone nearly triples yield strength from 100 µm to 5 µm grains — the basis of thermo-mechanically rolled micro-alloyed steels.

Common mistakes

Applications

Key takeaways

Going further