Home › Physics › Thermal Expansion Calculator
Thermal Expansion Calculator
Computes how much a length, area or volume of a solid changes with temperature from ΔL = α·L₀·ΔT (area coefficient 2α, volume coefficient 3α), using tabulated linear expansion coefficients for common materials or a custom coefficient.
When to use
You need the growth or shrinkage of a steel beam, rail, pipe, concrete slab, glass pane or metal part over a temperature change, or the volume change of a solid.
Do not use when: The material is a liquid or gas (enter its volumetric coefficient as custom with expansion_type volume, or use ideal-gas-law for gases), the temperature range crosses a phase change, or you need thermal stress in a constrained part rather than free expansion.
Formula
linear: change = α × initial_length_m × temperature_change_k; area: change = 2α × A₀ × ΔT; volume: change = 3α × V₀ × ΔT; change_mm = change × 1000; final_length_m = initial_length_m + change; percent_change = change / initial × 100. α (× 10⁻⁶/K): steel 12, stainless steel 17.3, aluminium 23.1, copper 17, brass 19, concrete 12, glass 8.5, Pyrex 3.3, PVC 52, wood along grain 5, ice 51
First-order (small α·ΔT) expansion of an isotropic solid free to expand; coefficients are room-temperature values from the Wikipedia table and vary with alloy, composition and temperature (steel 11–13, brass 18–19 × 10⁻⁶/K).
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
material | enum: steel | stainless_steel | aluminium | copper | brass | concrete | glass | pyrex | pvc | wood_along_grain | ice | custom | yes | Material, selecting a typical linear expansion coefficient near room temperature; choose custom to supply coefficient_per_k. | |
coefficient_per_k | number | 1/K | no | Linear coefficient of thermal expansion α in 1/K (e.g. 0.000012 for steel); required for material = custom and overrides the preset otherwise. Range: > 0, ≤ 0.01 |
initial_length_m | number | m | yes | Initial length in metres; for expansion_type area give the initial area in m², for volume the initial volume in m³. Range: > 0 |
temperature_change_k | number | K | yes | Temperature rise in kelvin (same as the °C difference); negative for cooling, which gives contraction. Range: ≥ -1000, ≤ 5000 |
expansion_type | enum: linear | area | volume | default linear | Which dimension expands: a length (α), an area (2α) or a volume (3α of an isotropic solid). |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
coefficient_per_k | number | 1/K | Linear expansion coefficient used. |
coefficient_ppm_per_k | number | µm/(m·K) | The same coefficient in parts per million per kelvin (× 10⁶). |
change | number | m / m² / m³ | Change in length (m), area (m²) or volume (m³) according to expansion_type; negative for contraction. |
change_mm | number | mm | Length change in millimetres (linear expansion only). |
final_length_m | number | m | initial_length_m + change (linear expansion only). |
percent_change | number | % | change / initial size × 100. |
formula_used | string | The expansion formula applied (linear, area or volume). |
Example
10 m steel rail heated by 40 K: {"material":"steel","initial_length_m":10,"temperature_change_k":40} → {"coefficient_per_k":0.000012,"coefficient_ppm_per_k":12,"change":0.0048,"change_mm":4.8,"final_length_m":10.0048,"percent_change":0.048}
1 m³ of aluminium heated by 50 K (volume): {"material":"aluminium","initial_length_m":1,"temperature_change_k":50,"expansion_type":"volume"} → {"coefficient_ppm_per_k":23.1,"change":0.003465,"percent_change":0.3465}
GET https://tttkmbb.com/api/v1/calculate/thermal-expansion?material=steel&initial_length_m=10&temperature_change_k=40
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/thermal-expansion(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/thermal-expansion · Markdown: https://tttkmbb.com/physics/thermal-expansion.md · JSON definition: https://tttkmbb.com/physics/thermal-expansion.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="thermal-expansion" - OpenAPI operationId:
calculate_thermal_expansion - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Thermal expansion (coefficient table) (reference)
- HyperPhysics – Thermal expansion (reference)
FAQ
Why is the volume coefficient 3α?
Each of the three dimensions of an isotropic solid grows by a factor (1 + α·ΔT); the product is 1 + 3α·ΔT plus terms in (α·ΔT)² that are negligible for the small values of α·ΔT met in practice.
Is the temperature change in °C the same as in K?
Yes: a difference of 40 °C is a difference of 40 K, so temperature_change_k can be taken directly from Celsius readings.
What if the part cannot expand freely?
It develops thermal stress σ = E·α·ΔT instead (E = Young's modulus); a fully restrained steel bar heated by 40 K sees about 100 MPa, which this calculator does not compute.
Related calculators
- Mixing Temperature Calculator — Temperature reached when bodies exchange heat.
- Specific Heat Calculator — Heat needed to produce the temperature change.
- Temperature Converter — Convert temperatures between °C, °F and K.