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}\]