Skip to content

Commit 3ae54db

Browse files
committed
Update test_girder.py
1 parent 7789c83 commit 3ae54db

1 file changed

Lines changed: 27 additions & 3 deletions

File tree

tests/test_girder.py

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,32 +76,55 @@ def test_asbi():
7676
shape = create_asbi("BC-2100-1+1500", mesher="gmsh")
7777
u = shape.units
7878
assert shape.area == pytest.approx(5_591_000*u.mm**2, rel=1e-2)
79+
assert shape.flange_area()+shape.web_area() == pytest.approx(shape.area, rel=1e-1)
7980

8081
shape = create_asbi("BC-2700-1", mesher="gmsh")
8182
u = shape.units
8283
assert shape.area == pytest.approx(5_471_000*u.mm**2, rel=1e-2)
84+
assert shape.flange_area()+shape.web_area() == pytest.approx(shape.area, rel=1e-1)
8385

8486
shape = create_asbi("BC-3000-1+750", mesher="gmsh")
8587
u = shape.units
8688
assert shape.area == pytest.approx(6_135_000*u.mm**2, rel=1e-2)
89+
assert shape.flange_area()+shape.web_area() == pytest.approx(shape.area, rel=1e-1)
8790

8891

8992

9093
def test_torsion():
94+
"""
95+
[2] Paradiso, Massimo, Salvatore Sessa, Nicolò Vaiana, Francesco Marmo, and Luciano Rosati.
96+
"Shear Properties of Isotropic and Homogeneous Beam-like Solids Having Arbitrary Cross Sections."
97+
International Journal of Solids and Structures 216 (May 2021): 231–49.
98+
https://doi.org/10.1016/j.ijsolstr.2021.01.012.
99+
[3] Roccia, Bruno A., Carmina Alturria Lanzardo, Fernando D. Mazzone, and Cristian G. Gebhardt.
100+
"On the Homogeneous Torsion Problem for Heterogeneous and Orthotropic Cross-Sections: Theoretical and Numerical Aspects."
101+
Applied Numerical Mathematics 201 (July 2024): 579–607.
102+
https://doi.org/10.1016/j.apnum.2024.03.017.
103+
104+
"""
91105
# Gruttmann, Wagner (2001)
92106
shape = load_shape("G02", mesh_type="T6", mesh_scale=1)
107+
assert shape.flange_area()+shape.web_area() == pytest.approx(shape.area, rel=1e-1)
108+
109+
# Center of shear wrt the bottom of the soffit
110+
scy,scz = shape._analysis.shear_center()
111+
assert scy == pytest.approx(0, rel=1e-3)
112+
assert scz == pytest.approx(1.569, rel=1e-3)
93113

94114
sv = SaintVenantSectionAnalysis(shape)
95-
assert sv.twist_rigidity()/shape.material["G"] == pytest.approx(42.487, rel=1e-1)
115+
assert sv.twist_rigidity()/shape.material["G"] == pytest.approx(42.487, rel=5e-2)
96116

97-
# shape = shape.translate(-sv.twist_center())
98-
# assert shape.cww()[0,0]/shape.material["E"] == pytest.approx(62.788, rel=2e-1)
99117

100118
tr = sv.create_trace(form="energetic")
101119
ky, kz = tr.sce()
102120
assert ky == pytest.approx(0.5993, rel=1e-3)
103121
assert kz == pytest.approx(0.2311, rel=1e-2)
104122

123+
# Warping constant, value from [3]
124+
shape = shape.translate([-scy,-scz]) # -sv.twist_center()
125+
Cw = shape.cww()[0,0]
126+
# Cw = sv.twist_warp_inertia()
127+
assert Cw/shape.material["E"] == pytest.approx(62.788, rel=1e-2)
105128

106129

107130
def test_fhwa():
@@ -110,6 +133,7 @@ def test_fhwa():
110133

111134
material = {"E": 4, "G": 2}
112135
shape = load_shape("G03", material=material, mesh_type="T6", mesh_scale=1/3)
136+
assert shape.flange_area()+shape.web_area() == pytest.approx(shape.area, rel=1e-1)
113137
u = shape.units
114138

115139
sv = SaintVenantSectionAnalysis(shape)

0 commit comments

Comments
 (0)