Free thermal expansion
See how far the bar would grow if unconstrained: delta = alpha times L times deltaT. Until that growth fills the gap, the stress is exactly zero regardless of temperature.
このコンテンツはまだ日本語訳がありません。
A member free to expand develops no stress at all, but fix both ends and even a modest temperature rise creates forces large enough to buckle a rail or shear the bolts in a pipe flange, with no external load anywhere in the picture. The stress builds because constrained expansion is mechanically identical to a compressive load: the wall pushes back on the bar with exactly the force that would have been needed to squeeze it back to its original length. This simulator makes that process visible: a bar sits between two walls with an optional gap, the temperature rises, and you watch free expansion fill the gap stress-free before compressive stress begins to build the moment contact is made. #ThermalStress #ThermalExpansion #SolidMechanics
Open SimulatorFree thermal expansion
See how far the bar would grow if unconstrained: delta = alpha times L times deltaT. Until that growth fills the gap, the stress is exactly zero regardless of temperature.
Constrained thermal stress
Once the gap closes, read the compressive stress and safety factor against yield, computed from the material modulus and the blocked fraction of thermal expansion.
Gap-then-contact behavior
Choose a gap size and watch the stress chart stay flat until the critical temperature, then rise linearly. The design charts show how a larger gap raises that threshold.
Safety check
Find the safe temperature rise to yield, compare it against your applied deltaT, and read the remaining margin, for any of the five built-in materials or a custom configuration.
Animated bar between walls A canvas diagram shows the bar growing toward the far wall as temperature rises, with expansion arrows while the gap is open and a color shift to compressive stress once contact is made. The gap and expansion are exaggerated for clarity.
Play to ramp temperature Press Heat and the temperature climbs automatically so you can watch the transition from free expansion to constrained stress in real time, with a teal playhead sweeping the charts.
Live readouts Thermal stress, free expansion, actual expansion, gap state, safety factor, and safe deltaT all update as you drag any slider, with no need to press a compute button.
Four analysis charts in two groups The Response group shows stress magnitude and expansion against temperature rise; the Design group shows how stress and safe temperature change with gap size. A vertical marker tracks your current operating point.
Five preset configurations Steam pipe, rail track, bridge expansion joint, aluminium strut, and copper bar with gap, covering the range from fully fixed structural members to joints with deliberate clearance.
A/B case comparison Save the current curves as Case A, change the material, gap, or length, and overlay both datasets on every chart to compare the effect directly.
Downloadable resources A lab report with all four charts and the bar diagram, a CSV of the full stress and expansion dataset, and a design data sheet with the animation as a WEBM video.
| Preset | Material | L (mm) | deltaT (degC) | Gap (mm) | Represents |
|---|---|---|---|---|---|
| Steam pipe | Steel | 3000 | 150 | 0 | Fixed pipe between flanges, no expansion allowance |
| Rail track | Steel | 1000 | 45 | 3 | Rail with a small joint gap between sections |
| Bridge expansion joint | Steel | 2000 | 50 | 25 | Structural member with a deliberate expansion joint |
| Aluminium strut | Aluminium | 500 | 80 | 0 | Short fixed strut in a high-temperature enclosure |
| Copper bar with gap | Copper | 800 | 100 | 5 | Busbar with a small clearance to the adjacent block |
Free thermal expansion (no constraint or gap still open):
dFree = alpha * L * dTWhen free expansion is less than or equal to the gap, the bar has not yet touched the far wall and no stress exists:
if dFree <= gap: sigma = 0 dActual = dFreeOnce the gap closes, the blocked expansion produces compressive stress:
if dFree > gap: sigma = -E * (dFree - gap) / L dActual = gapWhich can be written explicitly in terms of the inputs:
sigma = -E * (alpha * L * dT - gap) / L = -E * (alpha * dT - gap / L)Safety factor against yield (compressive magnitude versus material yield strength):
SF = yield / |sigma|Safe temperature rise (the deltaT at which sigma first reaches the yield stress):
dT_safe = (yield * L / E + gap) / (alpha * L) = yield / (E * alpha) + gap / (alpha * L)Material properties used in the simulator (alpha in 1e-6/degC, E in GPa):
Steel: alpha = 12, E = 200, yield = 250 MPaAluminium: alpha = 23, E = 69, yield = 240 MPaCopper: alpha = 17, E = 117, yield = 210 MPaBrass: alpha = 19, E = 100, yield = 200 MPaTitanium: alpha = 8.6, E = 114, yield = 880 MPaWork through the Thermal Stress Experiments lesson for structured, Python-verified exercises that pair directly with this simulator:
Comments