LShape Example
See link below for the current LShapes from the AISC v16 steel database.
Constructing a LShape:
Before constructing, import the AISCSteel
package. Also import the StructuralUnits
package since we will use it later on.
using StructuralUnits
import AISCSteel
import AISCSteel.Shapes.LShapes as ls
Now that the package has been imported, lets construct a L4x4x1/4.
lshape = ls.LShape("L5x3x1/2")
AISCSteel.Shapes.LShapes.LShape("L5X3X1/2", 12.8 plf, 3.75 inch^2, 3.0 inch, 5.0 inch, 0.5 inch, 0.938 inch, 0.746 inch, 1.74 inch, 0.375 inch, 1.25 inch, 9.43 inch^4, 5.12 inch^3, 2.89 inch^3, 1.58 inch, 2.55 inch^4, 2.08 inch^3, 1.13 inch^3, 0.824 inch, 0.642 inch, 0.322 inch^4, 0.444 inch^6, 2.38 inch, 4.81 inch^3, 3.21 inch^3, 0.957 inch^3, 1.2 inch^3, 2.47 inch^3, 2.99 inch, 29000.0 ksi, 50.0 ksi)
The following went and searched through the AISC v16 steel database and pulled the relevant info to construct a LShape
. You can now access information in the struct like so:
The width of the longer leg:
lshape.b
5.0 inch
The weight of the LShape:
lshape.weight
12.8 plf
Compression Capacity of LShape:
See link below for the available functions relating to compression for the LShape member:
We can calculate the compressive capacity of the L5x3x1/2 shape we just constructed:
leg_connected = :long
L = 12ft
ϕ_c = 0.9
P_n = ls.Compression.calc_Pn(lshape, leg_connected, L)
ϕP_n = ϕ_c * P_n
13.506437917918413 kip
Lets see what the calc_Pn
function did:
using Handcalcs
set_handcalcs(precision=2) # sets number of decimals displayed
@handcalcs P_n = ls.Compression.calc_Pn(lshape, leg_connected, L)
\[\begin{aligned} b &= b = 5\;\mathrm{inch} \\[10pt] t &= t = 0.5\;\mathrm{inch} \\[10pt] \lambda &= \frac{b}{t} = \frac{5\;\mathrm{inch}}{0.5\;\mathrm{inch}} = 10 \\[10pt] \lambda_{r} &= 0.45 \cdot \sqrt{\frac{E}{F_{y}}} = 0.45 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 10.84 \\[10pt] \text{Since: }\lambda \leq \lambda_{r} &= 10 \leq 10.84 = true \\[10pt] \lambda_{class} &= nonslender \\[10pt] \text{Since: }connection_{type} &= type_{a} = true \\[10pt] \text{Since: }leg_{connected} &= long = true \\[10pt] r_{a} &= r_{y} = 0.82\;\mathrm{inch} \\[10pt] \text{Since: }\frac{L}{r_{a}} \leq 80 &= \frac{12\;\mathrm{ft}}{0.82\;\mathrm{inch}} \leq 80 = false \\[10pt] L_{c} &= \left( 32 + 1.25 \cdot \frac{L}{r_{a}} \right) \cdot r_{a} = \left( 32 + 1.25 \cdot \frac{12\;\mathrm{ft}}{0.82\;\mathrm{inch}} \right) \cdot 0.82\;\mathrm{inch} = 17.2\;\mathrm{ft} \\[10pt] F_{e} &= \frac{\pi^{2} \cdot E}{\left( \frac{L_{c}}{r} \right)^{2}} = \frac{3.14^{2} \cdot 29000\;\mathrm{ksi}}{\left( \frac{17.2\;\mathrm{ft}}{0.82\;\mathrm{inch}} \right)^{2}} = 4.56\;\mathrm{ksi} \\[10pt] \text{Since: }\frac{F_{y}}{F_{e}} \leq 2.25 &= \frac{50\;\mathrm{ksi}}{4.56\;\mathrm{ksi}} \leq 2.25 = false \\[10pt] F_{n} &= 0.88 \cdot F_{e} = 0.88 \cdot 4.56\;\mathrm{ksi} = 4\;\mathrm{ksi} \\[10pt] \text{Since: }\lambda_{class} &= nonslender = true \\[10pt] P_{n} &= F_{n} \cdot A_{g} = 4\;\mathrm{ksi} \cdot 3.75\;\mathrm{inch}^{2} = 15.01\;\mathrm{kip} \end{aligned}\]
Flexure Capacity of LShape:
See link below for the available functions relating to flexure for the LShape member:
Geometric Axis Bending
X-Axis Bending
We can calculate the flexural capacity about the x-axis of an L4x4x1/4 shape:
lshape = ls.LShape("L4x4x1/4")
L_b = 6ft
ϕ_b = 0.9
restraint_type = :unrestrained
C_b = 1.14
M_nx = ls.Flexure.calc_positive_Mnx(lshape, L_b, restraint_type, C_b)
ϕM_nx = ϕ_b * M_nx
3.6940669012361314 ft kip
Lets see what the calc_positive_Mnx
function did:
@handcalcs M_nx = ls.Flexure.calc_positive_Mnx(lshape, L_b, restraint_type, C_b)
\[\begin{aligned} \lambda &= \frac{b}{t} = \frac{4\;\mathrm{inch}}{0.25\;\mathrm{inch}} = 16 \\[10pt] \lambda_{p} &= 0.38 \cdot \sqrt{\frac{E}{F_{y}}} = 0.38 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 9.15 \\[10pt] \lambda_{r} &= 1 \cdot \sqrt{\frac{E}{F_{y}}} = 1 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 24.08 \\[10pt] \text{Since: }\lambda_{p} < \lambda \leq \lambda_{r} &= 9.15 < 16 \leq 24.08 = true \\[10pt] \lambda_{class} &= noncompact \\[10pt] S_{min} &= S_{x} = 1.03\;\mathrm{inch}^{3} \\[10pt] \text{Since: }restraint_{type} &= fully_{restrained} = unrestrained = false \\[10pt] \text{Since: }b &= d = 4\;\mathrm{inch} = true \\[10pt] M_{y} &= F_{y} \cdot S_{min} = 50\;\mathrm{ksi} \cdot 1.03\;\mathrm{inch}^{3} = 4.29\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }restraint_{type} &= fully_{restrained} = unrestrained = false \\[10pt] C_{b} &= \mathrm{min}\left( C_{b}, 1.5 \right) = \mathrm{min}\left( 1.14, 1.5 \right) = 1.14 \\[10pt] M_{cr} &= \frac{0.58 \cdot E \cdot b^{4} \cdot t \cdot C_{b}}{L_{b}^{2}} \cdot \left( \sqrt{1 + 0.88 \cdot \left( \frac{L_{b} \cdot t}{b^{2}} \right)^{2}} - 1 \right) = \frac{0.58 \cdot 29000\;\mathrm{ksi} \cdot \left( 4\;\mathrm{inch} \right)^{4} \cdot 0.25\;\mathrm{inch} \cdot 1.14}{\left( 6\;\mathrm{ft} \right)^{2}} \cdot \left( \sqrt{1 + 0.88 \cdot \left( \frac{6\;\mathrm{ft} \cdot 0.25\;\mathrm{inch}}{\left( 4\;\mathrm{inch} \right)^{2}} \right)^{2}} - 1 \right) = 8.95\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }restraint_{type} &= unrestrained = true \\[10pt] M_{y} &= 0.8 \cdot M_{y} = 0.8 \cdot 4.29\;\mathrm{ft}\,\mathrm{kip} = 3.43\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{nY} &= 1.5 \cdot M_{y} = 1.5 \cdot 3.43\;\mathrm{ft}\,\mathrm{kip} = 5.15\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }\frac{M_{y}}{M_{cr}} \leq 1 &= \frac{3.43\;\mathrm{ft}\,\mathrm{kip}}{8.95\;\mathrm{ft}\,\mathrm{kip}} \leq 1 = true \\[10pt] M_{nLTB} &= \left( 1.92 - 1.17 \cdot \sqrt{\frac{M_{y}}{M_{cr}}} \right) \cdot M_{y} = \left( 1.92 - 1.17 \cdot \sqrt{\frac{3.43\;\mathrm{ft}\,\mathrm{kip}}{8.95\;\mathrm{ft}\,\mathrm{kip}}} \right) \cdot 3.43\;\mathrm{ft}\,\mathrm{kip} = 4.1\;\mathrm{ft}\,\mathrm{kip} \\[10pt] S_{c} &= 0.8 \cdot S_{min} = 0.8 \cdot 1.03\;\mathrm{inch}^{3} = 0.82\;\mathrm{inch}^{3} \\[10pt] F_{cr} &= \frac{0.71 \cdot E}{\left( \frac{b}{t} \right)^{2}} = \frac{0.71 \cdot 29000\;\mathrm{ksi}}{\left( \frac{4\;\mathrm{inch}}{0.25\;\mathrm{inch}} \right)^{2}} = 80.43\;\mathrm{ksi} \\[10pt] \text{Since: }\lambda_{class} &= noncompact = true \\[10pt] M_{nLLB} &= F_{y} \cdot S_{c} \cdot \left( 2.43 - 1.72 \cdot \frac{b}{t} \cdot \sqrt{\frac{F_{y}}{E}} \right) = 50\;\mathrm{ksi} \cdot 0.82\;\mathrm{inch}^{3} \cdot \left( 2.43 - 1.72 \cdot \frac{4\;\mathrm{inch}}{0.25\;\mathrm{inch}} \cdot \sqrt{\frac{50\;\mathrm{ksi}}{29000\;\mathrm{ksi}}} \right) = 4.42\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{n} &= \mathrm{min}\left( M_{nY}, M_{nLTB}, M_{nLLB} \right) = \mathrm{min}\left( 5.15\;\mathrm{ft}\,\mathrm{kip}, 4.1\;\mathrm{ft}\,\mathrm{kip}, 4.42\;\mathrm{ft}\,\mathrm{kip} \right) = 4.1\;\mathrm{ft}\,\mathrm{kip} \end{aligned}\]
Y-Axis Bending
We can calculate the flexural capacity about the y-axis of the L4x4x1/4 shape we just constructed:
M_ny = ls.Flexure.calc_positive_Mny(lshape, L_b, restraint_type, C_b)
ϕM_ny = ϕ_b * M_ny
3.6940669012361314 ft kip
Lets see what the calc_positive_Mny
function did:
@handcalcs M_ny = ls.Flexure.calc_positive_Mny(lshape, L_b, restraint_type, C_b)
\[\begin{aligned} \lambda &= \frac{b}{t} = \frac{4\;\mathrm{inch}}{0.25\;\mathrm{inch}} = 16 \\[10pt] \lambda_{p} &= 0.38 \cdot \sqrt{\frac{E}{F_{y}}} = 0.38 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 9.15 \\[10pt] \lambda_{r} &= 1 \cdot \sqrt{\frac{E}{F_{y}}} = 1 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 24.08 \\[10pt] \text{Since: }\lambda_{p} < \lambda \leq \lambda_{r} &= 9.15 < 16 \leq 24.08 = true \\[10pt] \lambda_{class} &= noncompact \\[10pt] S_{min} &= S_{y} = 1.03\;\mathrm{inch}^{3} \\[10pt] \text{Since: }restraint_{type} &= fully_{restrained} = unrestrained = false \\[10pt] \text{Since: }b &= d = 4\;\mathrm{inch} = true \\[10pt] M_{y} &= F_{y} \cdot S_{min} = 50\;\mathrm{ksi} \cdot 1.03\;\mathrm{inch}^{3} = 4.29\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }restraint_{type} &= fully_{restrained} = unrestrained = false \\[10pt] C_{b} &= \mathrm{min}\left( C_{b}, 1.5 \right) = \mathrm{min}\left( 1.14, 1.5 \right) = 1.14 \\[10pt] M_{cr} &= \frac{0.58 \cdot E \cdot b^{4} \cdot t \cdot C_{b}}{L_{b}^{2}} \cdot \left( \sqrt{1 + 0.88 \cdot \left( \frac{L_{b} \cdot t}{b^{2}} \right)^{2}} - 1 \right) = \frac{0.58 \cdot 29000\;\mathrm{ksi} \cdot \left( 4\;\mathrm{inch} \right)^{4} \cdot 0.25\;\mathrm{inch} \cdot 1.14}{\left( 6\;\mathrm{ft} \right)^{2}} \cdot \left( \sqrt{1 + 0.88 \cdot \left( \frac{6\;\mathrm{ft} \cdot 0.25\;\mathrm{inch}}{\left( 4\;\mathrm{inch} \right)^{2}} \right)^{2}} - 1 \right) = 8.95\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }restraint_{type} &= unrestrained = true \\[10pt] M_{y} &= 0.8 \cdot M_{y} = 0.8 \cdot 4.29\;\mathrm{ft}\,\mathrm{kip} = 3.43\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{nY} &= 1.5 \cdot M_{y} = 1.5 \cdot 3.43\;\mathrm{ft}\,\mathrm{kip} = 5.15\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }\frac{M_{y}}{M_{cr}} \leq 1 &= \frac{3.43\;\mathrm{ft}\,\mathrm{kip}}{8.95\;\mathrm{ft}\,\mathrm{kip}} \leq 1 = true \\[10pt] M_{nLTB} &= \left( 1.92 - 1.17 \cdot \sqrt{\frac{M_{y}}{M_{cr}}} \right) \cdot M_{y} = \left( 1.92 - 1.17 \cdot \sqrt{\frac{3.43\;\mathrm{ft}\,\mathrm{kip}}{8.95\;\mathrm{ft}\,\mathrm{kip}}} \right) \cdot 3.43\;\mathrm{ft}\,\mathrm{kip} = 4.1\;\mathrm{ft}\,\mathrm{kip} \\[10pt] S_{c} &= 0.8 \cdot S_{min} = 0.8 \cdot 1.03\;\mathrm{inch}^{3} = 0.82\;\mathrm{inch}^{3} \\[10pt] F_{cr} &= \frac{0.71 \cdot E}{\left( \frac{b}{t} \right)^{2}} = \frac{0.71 \cdot 29000\;\mathrm{ksi}}{\left( \frac{4\;\mathrm{inch}}{0.25\;\mathrm{inch}} \right)^{2}} = 80.43\;\mathrm{ksi} \\[10pt] \text{Since: }\lambda_{class} &= noncompact = true \\[10pt] M_{nLLB} &= F_{y} \cdot S_{c} \cdot \left( 2.43 - 1.72 \cdot \frac{b}{t} \cdot \sqrt{\frac{F_{y}}{E}} \right) = 50\;\mathrm{ksi} \cdot 0.82\;\mathrm{inch}^{3} \cdot \left( 2.43 - 1.72 \cdot \frac{4\;\mathrm{inch}}{0.25\;\mathrm{inch}} \cdot \sqrt{\frac{50\;\mathrm{ksi}}{29000\;\mathrm{ksi}}} \right) = 4.42\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{n} &= \mathrm{min}\left( M_{nY}, M_{nLTB}, M_{nLLB} \right) = \mathrm{min}\left( 5.15\;\mathrm{ft}\,\mathrm{kip}, 4.1\;\mathrm{ft}\,\mathrm{kip}, 4.42\;\mathrm{ft}\,\mathrm{kip} \right) = 4.1\;\mathrm{ft}\,\mathrm{kip} \end{aligned}\]