-
Notifications
You must be signed in to change notification settings - Fork 0
Cross‐section
Tianhao Fu edited this page Nov 24, 2025
·
3 revisions
from bridger import *
cross_section = CIV102Beam()
print(cross_section.centroid()) # (49.99999999999999, 41.43109435192319)from bridger import *
cross_section = CIV102Beam()
print(cross_section.q(cross_section.centroid()[1])) # 6193.283330576374
print(cross_section.q_max()) # 6193.283330576374To construct a cross-section consisting of multiple basic cross-sections, you need to know the x and y offsets of each component. We use the common sign convention that the origin of each relative coordinate system is in the bottom-left corner.
A hollow square can be divided into four nonoverlapping rectangles.
from bridger import *
cross_section = ComplexCrossSection([
(RectangularCrossSection(305, 12.7), 0, 0),
(RectangularCrossSection(12.7, 279.6), 0, 12.7),
(RectangularCrossSection(12.7, 279.6), 292.3, 12.7),
(RectangularCrossSection(305, 12.7), 0, 292.3)
])
print(cross_section.moment_of_inertia() * 1e-6) # 211.84488605453336In fact, we provide a shortcut for hollow rectangular cross-sections.
from bridger import *
cross_section = HollowBeam(305, 305, 12.7)
print(cross_section.moment_of_inertia() * 1e-6) # 211.84488605453336from bridger import *
cross_section = ComplexCrossSection([
(RectangularCrossSection(423, 43), 0, 0),
(RectangularCrossSection(24, 847), 199.5, 43),
(RectangularCrossSection(423, 43), 0, 890)
])
print(cross_section.moment_of_inertia() * 1e-6) # 8424.6495395This gives you I-beam W920x446, which is equivalent to:
from bridger import *
cross_section = IBeam(933, 423, 43, 24)
print(cross_section.moment_of_inertia() * 1e-6) # 8424.6495395from bridger import *
cross_section = IBeam(933, 423, 43, 24)
cross_section.visualize()
If you find our work helpful, please cite our design report.
@techreport{team602civ102,
title = {CIV102 Bridge Project Design Report},
author = {Chan, D. and Zhou, J. and Saxena, N. and Fu, T.},
institution = {Faculty of Applied Science and Engineering, University of Toronto},
year = {2025},
month = {November},
type = {Course Project Report},
course = {CIV102: Structures and Materials},
note = {Team 602}
}