Lesson 5 of 15

Thermal Expansion

Thermal Expansion

When a substance is heated, its particles move faster and tend to occupy more space, causing the material to expand. This phenomenon — thermal expansion — is important in engineering design, from bridge expansion joints to bimetallic thermostats.

Linear Expansion

For a solid rod or beam of initial length L0L_0, a temperature change ΔT\Delta T produces a length change:

ΔL=αL0ΔT\Delta L = \alpha L_0 \Delta T

The final length is therefore:

L=L0(1+αΔT)L = L_0(1 + \alpha \Delta T)

Where α\alpha is the coefficient of linear expansion (units: per °C or per K, since only differences matter).

Common Coefficients of Linear Expansion

Materialα\alpha (per °C)
Steel12×10612 \times 10^{-6}
Aluminium23×10623 \times 10^{-6}
Copper17×10617 \times 10^{-6}
Glass (Pyrex)3.3×1063.3 \times 10^{-6}
Invar (Fe-Ni alloy)1.2×1061.2 \times 10^{-6}

Invar's exceptionally low α\alpha makes it ideal for precision instruments.

Volumetric Expansion

For three-dimensional objects, the volume change is:

ΔV=βV0ΔT\Delta V = \beta V_0 \Delta T

Where β\beta is the coefficient of volumetric expansion. For isotropic solids (equal expansion in all directions):

β3α\beta \approx 3\alpha

This follows from (1+αΔT)31+3αΔT(1 + \alpha \Delta T)^3 \approx 1 + 3\alpha \Delta T for small αΔT\alpha \Delta T.

Liquids expand volumetrically but not linearly in a defined sense. For example, water has β207×106per °C\beta \approx 207 \times 10^{-6}\,\text{per °C} near 20°C (water's expansion behavior is unusual near 4°C, where it reaches its maximum density).

Engineering Significance

Thermal expansion must be accounted for in:

  • Bridge and rail design — expansion gaps prevent buckling
  • Pipeline systems — expansion loops absorb length changes
  • Precision instruments — low-expansion alloys maintain dimensional stability
  • Bimetallic strips — two metals with different α\alpha values bend when heated, acting as a temperature switch

Your Task

Implement the three functions below.

Python runtime loading...
Loading...
Click "Run" to execute your code.