# How Bridges Work 2, Exercise 3: how far can a beam span? # For I-sections with flange 150 x 12 mm and web 8 mm, depths 300, 450 and # 600 mm, find the longest simply supported span when the stress limit is # 165 MPa, (a) for the beam's own weight alone and (b) with a further # 10 kN/m of load. Steel density 7850 kg/m3. import math RHO, G, ALLOW = 7850, 9.81, 165 def i_section(bf, tf, tw, depth): inner = depth - 2 * tf return (bf * depth**3 - (bf - tw) * inner**3) / 12 def area_i(bf, tf, tw, depth): return 2 * bf * tf + tw * (depth - 2 * tf) def max_span(w_kn_m, m_cap_knm): """Span at which w L^2 / 8 reaches the moment capacity.""" return math.sqrt(8 * m_cap_knm / w_kn_m) for depth in (300, 450, 600): a = area_i(150, 12, 8, depth) i = i_section(150, 12, 8, depth) cap = ALLOW * (i / (depth / 2)) / 1e6 # kN m w = RHO * G * a * 1e-6 / 1000 # kN/m print(depth, round(cap, 1), round(w, 3), round(max_span(w, cap), 1), round(max_span(w + 10, cap), 1)) # Output when run: # 300 97.6 0.447 41.8 8.6 # 450 164.4 0.54 49.4 11.2 # 600 241.2 0.632 55.3 13.5 # # Columns: depth (mm), moment capacity (kN m), self-weight (kN/m), # span with self-weight only (m), span with +10 kN/m (m). # Doubling the depth from 300 to 600 mm multiplies the moment capacity by # about 2.5 but the span carrying the extra 10 kN/m only by about 1.6 # (8.6 m to 13.5 m), and the span for self-weight alone by 1.3 (41.8 m to # 55.3 m). The beam has to carry more steel the longer it gets, so each # extra metre costs more than the last. That is the span limit of a plain # beam, and the reason for the arches, trusses and cables that follow.