{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Formwork for Slabs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Slab Forms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\"Slab\n", "\n", "\n", "A slab form, at its most basic, consists of four parts:\n", "\n", "* Plywood, that supports the slab\n", "* Joists, that support the plywood\n", "* Stringers, that support the joists\n", "* Shores, that support the stringers\n", "\n", "In a real slab form there are at least two other parts, the braces, and the form work for the sides of the slab. You already know about the braces, and you can think of the [side forms](http://i.imgur.com/kCu8aMV.png) as just really short walls that are supported with nails at the bottom, and compression braces at the top.\n", "\n", "\n", "\"Slab\n", "\n", "\n", "\n", "In the image to the right, the shores are green due to being pressure treated. This is not necessary, but I've shown them this way because if you walk into a home center you are most likely to see 4x4s that are green due to being treated.\n", "\n", "The image to the left ([source](http://www.ellisok.net/gallery)) is of a third floor slab form, supported on [Ellis Jacks](http://www.ellisok.net/shore-clamps/ellis-4x4-shore-clamp), (note that there are addition eccentricities in the shores). The second floor is being supported by reshores, but that is another topic. Additionally, there are options for [shoring$^1$](http://www.sontac-scaffold.com/images/Products/prop-001.gif), and even [forms$^2$](http://www.peri.com/shared/siteimg/history/1992_01.jpg). But, again, if you can understand how to design a slab form out of timber, then you can design one using other systems.\n", "\n", "1. [Source](http://www.sontac-scaffold.com/en/products/steel-prop.htm)\n", "2. [Source](http://www.peri.com/en/company/company/history.cfm)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Design Process" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The design procedure is similar to wall forms.\n", "\n", "1. Determine the load on the plywood.\n", "2. Determine the support spacing for the plywood, (joists are used for support instead of studs in this case).\n", "3. Determine the support spacing for the joists, (stringers are used for support instead of wales).\n", "4. Determine the support spacing for the stringers, (shores instead of ties).\n", "5. Determine the bearing strength (one additional case in slab forms).\n", " 1. Bearing between joists and stringers.\n", " 2. Bearing between stringers and shores.\n", "6. Determine the capacity of the shore, (we will use timber columns for our shores).\n", "\n", "Aside from the fact that there is one additional bearing check we need to make, there is one other difference. That difference is the constructible spacings. When we were looking are wall forms everything we looked at was based around getting the spacings to work out with the size of a sheet of plywood. We only need to design around a sheet of plywood when we are doing the plywood support spacings in slab forms, i.e. the joist spacings. Our joists are not limited to $48\"$ and $96\"$, instead joists will generally be a standard lumber length. Lumber is typically sold in either $8'$, $10'$, $12'$, $14'$, or $16'$ lengths. This variety means that we will have to decide how long we want the joists to be when we determine their support spacings. For instance if we find that the joists should be supported every $42\"$, then instead of rounding down to $32\"$ to use an $8'$ long member ($3 \\times 32\" = 96\" = 8'$) we will just use $14'$ long joists ($4 \\times 42\" = 168\" = 14'$). I'll cover an analytically approach of determining this later.\n", "\n", "Before we start working on an example problem, I should mention a couple of assumptions I will be making in all slab design problems. Firstly, all joists will be 4x4s. This isn't required in a professional setting, but they are used commonly enough that it isn't an unreasonable assumption. Secondly, all stingers will be 4x6s (oriented in the strong direction). Again, it isn't really required but it is relatively common. \n", "\n", "The reason that 4x4s and 4x6s are *so* common that I can make these assumptions, is that the use such stout members eliminates the need for labor intensive, intermediate blocking. Such blocking *would* be needed to prevent rollover for taller and thinner members. Let's go ahead, and work through an example problem." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Slab Form Design Example:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Determine the Following:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Joist Spacing in inches\n", "* Stinger Spacing in inches\n", "* Shore Spacing in inches\n", "* Shore Axial Load in pounds\n", "* Allowable Stringer Bearing Stress in psi\n", "* Actual Stringer Bearing Stress in psi\n", "* Verify that a 4x6 shoring will work." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Design formwork for a concrete floor slab based on the following information:\n", "\n", "* Thickness of concrete slab = 10”\n", "* Unbraced length for shores = 14 ft\n", "* Concrete unit weight = 150 lb/ft$^3$\n", "* Deflection limited to L/360 but not greater than 1/16”\n", "* All form lumber will be S4S Select Structural Hem-Fir with no splits\n", "* Assume wet conditions for lumber and wet conditions for plywood\n", "* Decking for the slab will be 3/4” Group II Plywood (S-2)\n", "* Load duration factor of 7 days\n", "* Dead Load for formwork material = 5.5 psf and Live Load = 50 psf" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "In order to display plots inline in the IPython notebook you must include\n", "the following magic command:\n", " %matplotlib inline\n", "If you need to display plot you will need to used the following commmand\n", " %matplotlib inline\n", "Note: The atribute 'pick_list' is now available_grades (added Jan, 6, 2014)\n", "\n", "Now using 2015 Timber code by default\n" ] } ], "source": [ "%run Older_Classes/Temp_struc_v_3_beta.py\n", "%run Beams/Timber_beam_v_02.1.py\n", "# %run Beams/Find_Beam_lib.py" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "t_concrete = 10 #in\n", "DL_form_work = 5.5 #psf\n", "LL = 50 #psf\n", "Wet = True" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "ply = panel()\n", "\n", "#setting the thickness sets the structural properties \n", "#of the plywood automatically\n", "ply.nom_thick='3/4' \n", "ply.group=2\n", "ply.grade='S-2'\n", "ply.condition = \"wet\"" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "Species = \"HEM-FIR\"\n", "Grade = 'Select Structural'\n", "Shore_length = 14 #ft\n", "Shore_section_b = 3.5 #in\n", "Shore_section_d = 5.5 #in\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Span calculations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For Bending, span, $L = 10.95 \\sqrt{\\frac{F_b' S}{w}}$\n", "\n", "For Rolling shear in sheathing, span, $L = \\frac{20 \\times F_s'}{w}\\times \\frac{I b }{Q}$\n", "\n", "For Shear in dimensional lumber, span, $L = 13.33 \\times \\frac{F_v' b d}{w} + 2 d$\n", "\n", "For deflection where $\\Delta = {}^L/_{360}$, span, $L = 1.69 \\sqrt[3]{\\frac{E' I}{w}}$\n", "\n", "For deflection where $\\Delta = {}^1/_{16}\\text{\"}$, span, $L = 3.23 \\sqrt[4]{\\frac{E' I}{w}}$\n", "\n", "Stress = Load/Area" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Pressure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Uninform pressure = 180.50 psf\n" ] } ], "source": [ "DL_fw = DL_form_work\n", "LL = LL\n", "t = t_concrete\n", "SlabLoad = slab_load(t,LL = LL, DL_forms = DL_fw)\n", "p = SlabLoad.value\n", "# p = DL_fw+DL_con+LL\n", "print(\"Uninform pressure = %.2f psf\"%p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The load on the slab formwok is made up of, the Concrete Dead Load, the Formwork Dead Load, and the worker Live Load. We need to find the Concrete Dead Load, then calculate the total pressure $(p)$ on the slab formwork." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{Concrete Dead Load } = DL_{con} = \\text{Slab Thickness} \\times \\text{Unit weight of Concrete}$$ \n", "${}$\n", " $$\\text{Unit weight of concrete} = \\gamma_{con} = 150 pcf$$ \n", "${}$\n", " $$\\text{Slab thickness } = t_{slab} = 10\"$$ \n", "${}$\n", " $$DL_{con} = t_{slab} \\times \\gamma_{con}$$ \n", "${}$\n", " $$DL_{con} = 10\" \\times 150 pcf \\times \\frac{1 ft}{12 in}$$ \n", "${}$\n", " $$DL_{con} = 125 psf$$ \n", "${}$\n", " $$\\text{Formwork Dead Load } = DL_{forms} = 5.5 psf$$ \n", "${}$\n", " $$\\text{Slab Live Load } = LL = 50 psf$$ \n", "${}$\n", " $$\\text{Total Pressure Load on the Slab Form Work} = p$$ \n", "${}$\n", " $$p = \\text{Concrete Dead Load} + \\text{Formwork Dead Load } + \\text{Slab Live Load }$$ \n", "${}$\n", " $$p = DL_{con} + DL_{forms} + LL$$ \n", "${}$\n", " $$p = 125 psf + 5.5 psf + 50 psf$$ \n", "${}$\n", " $$p = 180.5 psf$$" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SlabLoad.work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Plywood" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Plywood thickness = 3/4\"\n", "Plywood group = 2\n", "Plywood stress ratting = S-2\n", "Plywood moisture condition = wet\n" ] } ], "source": [ "print('Plywood thickness = %s\"'%ply.nom_thick)\n", "print('Plywood group = %s'%ply.group)\n", "print('Plywood stress ratting = %s'%ply.grade)\n", "print('Plywood moisture condition = %s'%ply.condition)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "# OVERRIDE\n", "# ply.F_b = 820 #psi/ft\n", "# ply.F_s = 44 #psi/ft\n", "# ply.E = 1300000 #psi/ft\n", "# ply.C_D = 1.25" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Knowing that the plywood is oriented in the strong direction, and our $C_D = 1.25$, we can look up the properties of the plywood in the [Plywood Design Specification](http://www.apawood.org/SearchResults.aspx?q=Y510&tid=1)." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{From the Plywood Properties Tables:}$$ \n", "$$t_{nom} = 3/4\"$$\n", "$$A = 2.884 (in^2/ft)$$\n", "$$I = 0.197 (in^4/ft)$$\n", "$$S = 0.412 (in^3/ft)$$\n", "$$Ib/Q = 6.762 (in^2/ft)$$\n", "$$F_b = 820 psi$$\n", "$$F_s = 44 psi$$\n", "$$E = 1.300E+06 psi$$\n", "$$C_D = 1.250$$\n", "$$strong = True$$" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ply.show_props.work" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This means that the allowable stresses for the plywood are," ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$F_b' = F_b \\times C_D$$ \n", "$$F_b' = 820 psi \\times 1.25$$ \n", "$$F_b' = 1025 psi$$ \n", " $${}$$ \n", "$$F_s' = F_s \\times C_D$$ \n", "$$F_s' = 44 psi \\times 1.25$$ \n", "$$F_s' = 55 psi$$ \n", " $${}$$ \n", "$$E' = E$$ \n", "$$E' = 1.30E+06 psi$$" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ply.show_allowable_stress.work" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "w = 180.50 plf\n" ] } ], "source": [ "w = p\n", "print(\"w = %.2f plf\"%w)\n", "joist_spacing = board_test(ply,w,plywood=True, slab=True)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Plywood Span Limits (Joist Spacing)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we know the properties of the plywood we can calculate the maximum spacing of the joists due to bending, rolling shear, and both deflection limits." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{For a pressure of }180 psf \\text{ the line load equals } 180 plf $$ \n", "${}$\n", " $$L = 10.95 \\sqrt{\\frac{F_b' S}{w}} = 10.95 \\sqrt{\\frac{1025 psi \\times 0.412 in^3 }{ 180 plf }} =16.75\" \\text{ (due to bending)}$$ \n", "${}$\n", " $$L = \\frac{20 \\times F_s'}{w}\\times \\frac{I b }{Q} =\\frac{20 \\times 55 psi }{ 180 plf }\\times 6.762 in^2 = 41.21\" \\text{ (due to rolling shear)}$$ \n", "${}$\n", " $$L = 1.69 \\sqrt[3]{\\frac{E' I}{w}} =1.69 \\sqrt[3]{\\frac{1.30E+06 psi \\times 0.197 in^4 }{ 180 plf }} =18.99\" \\text{ (for }\\Delta = L/360 \\text{)}$$ \n", "${}$\n", " $$L = 3.23 \\sqrt[4]{\\frac{E' I}{w}} =3.23 \\sqrt[4]{\\frac{1.30E+06 psi \\times 0.197 in^4 }{ 180 plf }} =19.82\" \\text{ (for }\\Delta = 1/16\" \\text{)}$$ \n", "${}$\n", " $$\\text{After rounding the smallest spacing to the nearest 1/16\" and determining the maximum allowed}$$ $$\\text{spacing lower than that, for the joists, the best spacing is 16.0\" = 1.333 feet.}$$" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joist_spacing.work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Joist Line Load" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using Select Structural HEM-FIR\n", "\n" ] } ], "source": [ "print(\"Using {} {}\\n\".format(Grade,Species))\n", "joist=Timber_Beam() \n", "joist.species=Species\n", "joist.C_M.use=Wet\n", "joist.grade=Grade" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "joist.C_D = 1.25\n", "joist.C_r_setter(joist_spacing.value.inches)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "lineload = line_load(p,joist_spacing.value.feet)\n", "w = lineload.value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to fine a new value for $w$ based on the joist spacing." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{Line load} = w = \\text{pressure}\\times\\text{tributary width}$$ $$w = P \\times s = 180.5 psf \\times 16.0\" \\times \\frac{1 ft}{12 in}$$$$w = 240.67 plf$$" ], "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lineload.work" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "joist.b=3.5\n", "joist.d=3.5\n", "stringer_spacing = board_test(joist,w)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Joist Allowable Stresses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After looking up the value for $F_b$, $F_v$, and $E$ in Table 4A, and also noting the values of $C_F$, $C_M$, and $C_r$, we and go to Table 4.3.1 to determine our allowable stresses. (Every adjustment factor we don't use equals 1.)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$F_b' = F_b \\times C_D \\times C_M \\times C_t \\times C_L \\times C_F \\times C_{fu} \\times C_i \\times C_r$$ \n", "$${}$$\n", " $$F_b' = 1400 psi \\times 1.25 \\times 0.85 \\times 1 \\times 1.000 \\times 1.5 \\times 1 \\times 1\\times 1.15$$ \n", "$${}$$\n", " $$F_b' = 2566 psi$$" ], "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joist.F_b_latex" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$F_v' = F_v \\times C_D \\times C_M \\times C_t \\times C_i$$ \n", "$${}$$\n", " $$F_v' = 150 psi \\times 1.25 \\times 0.97 \\times 1 \\times 1$$ \n", "$${}$$\n", " $$F_v' = 181.9 psi$$" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joist.F_v_latex" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$E' = E \\times C_M \\times C_t \\times C_i $$ \n", "$${}$$\n", " $$E' = 1.60E+06 psi \\times 0.9 \\times 1 \\times 1$$ \n", "$${}$$\n", " $$E' = 1.44E+06 psi$$" ], "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joist.E_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Joist Cross Sectional Properties" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From Table 1B of the Supplement we find that the sections properties of the joists are..." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$b = 3.50\" \\text{, }d = 3.50\" \\text{, }A = 12.25 in^2 \\text{, }S = 7.15 in^3 \\text{, }I = 12.51 in^4 $$" ], "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joist.geometry_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Joist Span Limits (Stringer Spacing)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we know the properties of the joist, we can calculate the maximum spacing of the stringers based on bending, rolling shear, and both deflection limits." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{For a line load of }w = 241 plf $$ \n", "${}$\n", " $$L = 10.95 \\sqrt{\\frac{F_b' S}{w}} = 10.95 \\sqrt{\\frac{2566 psi \\times 7.146 in^3 }{ 241 plf }} =95.58\" \\text{ (due to bending)}$$ \n", "${}$\n", " $$L = 13.33 \\times \\frac{F_v' b d}{w} + 2 d = 13.33 \\times \\frac{182 psi \\times 3.50\" \\times 3.50\" }{ 241 plf } + 2 \\times 3.50\" = 130.40\" \\text{ (due to shear)} $$ \n", "${}$\n", " $$L = 1.69 \\sqrt[3]{\\frac{E' I}{w}} =1.69 \\sqrt[3]{\\frac{1.44E+06 psi \\times 12.505 in^4 }{ 241 plf }} =71.21\" \\text{ (for }\\Delta = L/360 \\text{)}$$ \n", "${}$\n", " $$L = 3.23 \\sqrt[4]{\\frac{E' I}{w}} =3.23 \\sqrt[4]{\\frac{1.44E+06 psi \\times 12.505 in^4 }{ 241 plf }} =53.42\" \\text{ (for }\\Delta = 1/16\" \\text{)}$$ \n", "${}$\n", " $$\\text{After rounding the smallest spacing to the nearest 1/16\" and determining the maximum allowed}$$ $$\\text{spacing lower than that, for the supports, the best spacing is 48.0\" = 4.000 feet.}$$" ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stringer_spacing.work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Stringer Constructible Spacings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get the $4'$ spacing for the stringers based on the following procedure. We divide all the available lumber lengths by the smallest allowable spacing, and determine which one is closest to the next whole number divisor. Round this number up, and divide the corresponding length by that value to determine the optimum spacing. I.e.,\n", "\n", "* $\\frac{8'}{53.42\"} \\times \\frac{12\"}{1'} = 1.80 \\Leftarrow \\text{The value closest to the next integer controls.}$\n", "* $\\frac{10'}{53.42\"} \\times \\frac{12\"}{1'} = 2.25$\n", "* $\\frac{12'}{53.42\"} \\times \\frac{12\"}{1'} = 2.70$\n", "* $\\frac{14'}{53.42\"} \\times \\frac{12\"}{1'} = 3.14$\n", "* $\\frac{16'}{53.42\"} \\times \\frac{12\"}{1'} = 3.59$\n", "\n", "Rounding $1.80$ up to the next whole number we get $2$. We now divide $8'$ by $2$ to determine the optimum spacing.\n", "\n", "$$\\frac{8'}{2} \\times \\frac{12\"}{1'} = 48\"$$\n", "\n", "Now that we know that our spacing is $4'$ on center we can just pick the cheapest lumber size that is divisible by $4'$, e.g. either $8'$, $12'$, or $16'$ (probably $8'$). This means that we will want to use $8'$ material for our joists." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Stringer Line Loads" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using Select Structural HEM-FIR\n", "\n" ] } ], "source": [ "print(\"Using {} {}\\n\".format(Grade,Species))\n", "stringer = Timber_Beam()\n", "stringer.species=Species\n", "stringer.C_D=1.25\n", "stringer.C_M.use=Wet\n", "stringer.grade=Grade" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "lineload = line_load(p,stringer_spacing.value.feet)\n", "w = lineload.value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to fine a new value for $w$ based on the stringer spacing." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{Line load} = w = \\text{pressure}\\times\\text{tributary width}$$ $$w = P \\times s = 180.5 psf \\times 48.0\" \\times \\frac{1 ft}{12 in}$$$$w = 722.00 plf$$" ], "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lineload.work" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "stringer.b=3.5\n", "stringer.d=5.5\n", "shore_spacing = board_test(stringer,w)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Stinger Allowable Stresses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After looking up the value for $F_b$, $F_v$, and $E$ in Table 4A (we'd use 4B for Southern Pine), and also noting the values of $C_F$, $C_M$, and $C_r$, we go to Table 4.3.1 to determine our allowable stresses. Every adjustment factor we don't use equals 1." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$F_b' = F_b \\times C_D \\times C_M \\times C_t \\times C_L \\times C_F \\times C_{fu} \\times C_i \\times C_r$$ \n", "$${}$$\n", " $$F_b' = 1400 psi \\times 1.25 \\times 0.85 \\times 1 \\times 1.000 \\times 1.3 \\times 1 \\times 1\\times 1$$ \n", "$${}$$\n", " $$F_b' = 1934 psi$$" ], "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stringer.F_b_latex" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$F_v' = F_v \\times C_D \\times C_M \\times C_t \\times C_i$$ \n", "$${}$$\n", " $$F_v' = 150 psi \\times 1.25 \\times 0.97 \\times 1 \\times 1$$ \n", "$${}$$\n", " $$F_v' = 181.9 psi$$" ], "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stringer.F_v_latex" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$E' = E \\times C_M \\times C_t \\times C_i $$ \n", "$${}$$\n", " $$E' = 1.60E+06 psi \\times 0.9 \\times 1 \\times 1$$ \n", "$${}$$\n", " $$E' = 1.44E+06 psi$$" ], "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stringer.E_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Stringer Cross Sectional Properties" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From Table 1B of the Supplement we get the sections properties for the stringers." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$b = 3.50\" \\text{, }d = 5.50\" \\text{, }A = 19.25 in^2 \\text{, }S = 17.65 in^3 \\text{, }I = 48.53 in^4 $$" ], "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stringer.geometry_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Stringer Span Limits (Shore Spacing)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we know the properties of the stringers, we can calculate the maximum spacing of the shores based on bending, shear, and both deflection limits." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{For a line load of }w = 722 plf $$ \n", "${}$\n", " $$L = 10.95 \\sqrt{\\frac{F_b' S}{w}} = 10.95 \\sqrt{\\frac{1934 psi \\times 17.646 in^3 }{ 722 plf }} =75.28\" \\text{ (due to bending)}$$ \n", "${}$\n", " $$L = 13.33 \\times \\frac{F_v' b d}{w} + 2 d = 13.33 \\times \\frac{182 psi \\times 3.50\" \\times 5.50\" }{ 722 plf } + 2 \\times 5.50\" = 75.64\" \\text{ (due to shear)} $$ \n", "${}$\n", " $$L = 1.69 \\sqrt[3]{\\frac{E' I}{w}} =1.69 \\sqrt[3]{\\frac{1.44E+06 psi \\times 48.526 in^4 }{ 722 plf }} =77.59\" \\text{ (for }\\Delta = L/360 \\text{)}$$ \n", "${}$\n", " $$L = 3.23 \\sqrt[4]{\\frac{E' I}{w}} =3.23 \\sqrt[4]{\\frac{1.44E+06 psi \\times 48.526 in^4 }{ 722 plf }} =56.97\" \\text{ (for }\\Delta = 1/16\" \\text{)}$$ \n", "${}$\n", " $$\\text{After rounding the smallest spacing to the nearest 1/16\" and determining the maximum allowed}$$ $$\\text{spacing lower than that, for the supports, the best spacing is 56.0\" = 4.667 feet.}$$" ], "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore_spacing.work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Shore Constructible Spacings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get the $56\"$ spacing based on the following procedure.\n", "\n", "* $\\frac{8'}{56.97\"} \\times \\frac{12\"}{1'} = 1.69 $\n", "* $\\frac{10'}{56.97\"} \\times \\frac{12\"}{1'} = 2.21$\n", "* $\\frac{12'}{56.97\"} \\times \\frac{12\"}{1'} = 2.52$\n", "* $\\frac{14'}{56.97\"} \\times \\frac{12\"}{1'} = 2.95 \\Leftarrow \\text{The value closest to the next whole number controls.}$\n", "* $\\frac{16'}{56.97\"} \\times \\frac{12\"}{1'} = 3.37$\n", "\n", "Rounding $2.95$ up to the nearest whole number we get $3$. We now divide $14'$ by $3$ to determine the optimum spacing.\n", "\n", "$$\\frac{14'}{3} \\times \\frac{12\"}{1'} = 56\"$$\n", "\n", "Since $14'$ is the only size that is dividable by $56\"$ we should use $14'$ stringers, (unless you can get a deal, on some other length lumber that is great enough to justify a less than optimum spacing)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Bearing Pressure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "\"Slab\n", "\n", "\n", "We need to check the bearing pressure for both where the joist cross the stringers, and where the stingers are supported by the shores." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Where the Stingers support the Joists:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "s1 = joist_spacing.value.feet\n", "s2 = stringer_spacing.value.feet\n", "c1 = joist.b #contact dimension\n", "c2 = stringer.b #contact dimension\n", "bearing_loads = bearing_info(p, s1, s2, c1, c2, 'joist width', 'stringer width')\n", "A = bearing_loads.area\n", "P = bearing_loads.load" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have to first find the bearing load of the joists on the stringers." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{Bearing load } P = \\text{pressure} \\times \\text{Tributary Area}$$ \n", " $$P = p \\times s_1 \\times s_2$$ \n", " $$P = 180.50 psf \\times 16\" \\times 48\" \\times \\left(\\frac{1 ft}{12 in}\\right)^2$$ \n", " $$P = 962.67 lbs$$ \n", " $${}$$ \n", " $$\\text{Contact Area }=A_{bearing} = \\text{joist width}\\times\\text{stringer width}$$ \n", " $$A_{bearing} = 3.5\" \\times 3.5\"$$ \n", " $$A_{bearing} = 12.25 in^2$$" ], "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bearing_loads.work" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will have to look up the $F_{c \\perp}'$ adjustment factors in Table 4.3.1 and the value for $F_{c \\perp}$ and $C_M$ in the Supplement to be able to compare $f_{c \\perp}$ to $F_{c \\perp}$." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$f_{c,\\perp} = \\frac{P_{bearing}}{A_{bearing}} = \\frac{ 963 lb }{ 12.25 in^2 }= 78.59 psi $$ \n", "${}$\n", " $$F_{c,\\perp}' = F_{c,\\perp} \\times C_M = 405.00 psi \\times 0.67 = 271.35 psi $$ \n", "${}$\n", " $$P_{bearing,allowed} = F_{c,\\perp}' \\times A_{bearing} =271 psi \\times 12.25 in^2 = 3324 lb $$ \n", "${}$\n", " $$\\text{Since the allowable load due to bearing is } 3324 lb \\text{ the and the actual load is } 963 lb \\text{,}$$ $$\\text{the stringers and joists are good in bearing.}$$" ], "text/plain": [ "" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bearing_check(stringer,P,A,board_name=\"stringers and joist\").work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Where the Shores support the Stingers:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "s1 = shore_spacing.value.feet\n", "s2 = stringer_spacing.value.feet\n", "c1 = Shore_section_b #contact dimension\n", "c2 = Shore_section_d #in #contact dimension\n", "bearing_loads = bearing_info(p, s1, s2, c1, c2, 'shore width', \"shore depth\")\n", "A = bearing_loads.area\n", "P = bearing_loads.load" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we find the bearing load of the stringers on the shores." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{Bearing load } P = \\text{pressure} \\times \\text{Tributary Area}$$ \n", " $$P = p \\times s_1 \\times s_2$$ \n", " $$P = 180.50 psf \\times 56\" \\times 48\" \\times \\left(\\frac{1 ft}{12 in}\\right)^2$$ \n", " $$P = 3369.33 lbs$$ \n", " $${}$$ \n", " $$\\text{Contact Area }=A_{bearing} = \\text{shore width}\\times\\text{shore depth}$$ \n", " $$A_{bearing} = 3.5\" \\times 5.5\"$$ \n", " $$A_{bearing} = 19.25 in^2$$" ], "text/plain": [ "" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bearing_loads.work" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The values for $F_{c \\perp}$ and $C_M$ are the same as before. We just need to recalculate $f_{c \\perp}$ to be able to compare it to $F_{c \\perp}$." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$f_{c,\\perp} = \\frac{P_{bearing}}{A_{bearing}} = \\frac{ 3369 lb }{ 19.25 in^2 }= 175.03 psi $$ \n", "${}$\n", " $$F_{c,\\perp}' = F_{c,\\perp} \\times C_M = 405.00 psi \\times 0.67 = 271.35 psi $$ \n", "${}$\n", " $$P_{bearing,allowed} = F_{c,\\perp}' \\times A_{bearing} =271 psi \\times 19.25 in^2 = 5223 lb $$ \n", "${}$\n", " $$\\text{Since the allowable load due to bearing is } 5223 lb \\text{ the and the actual load is } 3369 lb \\text{,}$$ $$\\text{the stringers are good in bearing.}$$" ], "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bearing_check(stringer,P,A,board_name=\"stringer\").work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Shore Verification" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this problem, the shores are timber columns. As such, we have covered this material earlier this semester, and if you feel confident in solving a timber column, simply go to the next slide where we look at the actual stresses on the shore. Otherwise, click down for a review on how to solve a timber column problem." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using Select Structural HEM-FIR\n", "\n" ] } ], "source": [ "print(\"Using {} {}\\n\".format(Grade,Species))\n", "shore = Timber_Beam()\n", "shore.P = P #from above\n", "shore.species=Species\n", "shore.C_D=1.25\n", "shore.C_M.use=Wet\n", "shore.grade=Grade" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shore section: b = 3.50\", and d = 5.50\"\n", "Shore length (unbraced length) = 168.00\"\n" ] } ], "source": [ "shore.b=Shore_section_b\n", "shore.d=Shore_section_d\n", "shore.L = Shore_length\n", "shore.C_P_l_e.c = 0.8\n", "print('Shore section: b = %.2f\", and d = %.2f\"'%(shore.b,shore.d))\n", "print('Shore length (unbraced length) = %.2f\"'%(Shore_length*12))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Shore Cross Sectional Properties" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From Table 1B of the Supplement we get the sections properties of the shores." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$b = 3.50\" \\text{, }d = 5.50\" \\text{, }A = 19.25 in^2 \\text{, }S = 17.65 in^3 \\text{, }I = 48.53 in^4 \\text{, }$$ $$L = 14.00' = 168.00\"$$" ], "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore.geometry_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Shore Allowable Stresses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After looking us the value for $F_c$, and $E_{min}$ in Table 4A (we'd use 4B for Southern Pine) and also noting the values of $C_F$, and $C_M$, we and go to Table 4.3.1 to determine our allowable value for $E_{min}$. Every adjustment factor we don't use equals 1." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$E_{min}' = E_{min} \\times C_M \\times C_t \\times C_i \\times C_T$$ \n", "$${}$$\n", " $$E_{min}' = 580000 psi \\times 0.9 \\times 1 \\times 1 \\times 1$$ \n", "$${}$$\n", " $$E_{min}' = 522000 psi$$" ], "text/plain": [ "" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore.E_min_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## $C_P$ - The Column Stability Factor" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\frac{l_{e,x}}{d} = 30.55$$ \n", "$${}$$\n", " $$\\frac{l_{e,y}}{b} = 48.00\\text{ }\\Leftarrow \\text{ Controls} \\therefore SR = 48.00$$ \n", "$${}$$\n", " $$F_c^* = F_c \\times C_D \\times C_M \\times C_t \\times C_F \\times C_i $$ \n", "$${}$$\n", " $$F_c^* = 1500 psi \\times 1.25 \\times 0.8 \\times 1 \\times 1.1 \\times 1 = 1650 psi$$ \n", "$${}$$\n", " $$F_{cE} = \\frac{0.822 \\times E_{min}'}{(SR)^2} = \\frac{0.822 \\times 522000 psi}{(48.00)^2} = 186.2 psi$$ \n", "$${}$$\n", " $$\\frac{F_{cE}}{F_c^*} = 0.1129$$ \n", "$${}$$\n", " $$c = 0.8 \\text{ (from section 3.7.1.5 Timber NDS)}$$ \n", "$${}$$\n", " $$\\frac{1+F_{cE}/F_c^*}{2 \\times c}=\\frac{1+0.1129}{2 \\times 0.8}=0.6955$$ \n", "$${}$$\n", " $$\\frac{F_{cE}/F_c^*}{c}=\\frac{0.1129}{0.8}=0.1411$$ \n", "$${}$$\n", " $$C_P = \\frac{1+F_{cE}/F_c^*}{2 \\times c} -\\sqrt{\\left(\\frac{1+F_{cE}/F_c^*}{2 \\times c}\\right)^2-\\frac{F_{cE}/F_c^*}{c}}$$ \n", "$${}$$\n", " $$C_P = 0.6955 -\\sqrt{\\left(0.6955\\right)^2-0.1411} =0.1101$$" ], "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore.C_P.work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Allowable Compressive Stress" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$F_c' = F_c \\times C_D \\times C_M \\times C_t \\times C_F \\times C_i \\times C_P$$ \n", "$${}$$\n", " $$F_c' = 1500 psi \\times 1.25 \\times 0.8 \\times 1 \\times 1.1 \\times 1 \\times 0.1101$$ \n", "$${}$$\n", " $$F_c' = 181.7 psi$$" ], "text/plain": [ "" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore.F_c_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Actual Compressive Stress" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We already found the axial load on the shores. The load is the same as the load found for the bearing stress calculation between the stringers and the shores. The bearing stress is also the same as the compressive stress parallel to grain, but I'll show the calculation again." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$f_c = \\frac{P}{A}$$ \n", "$${}$$\n", " $$f_c = \\frac{3369 lb}{19.25 in^2}$$ \n", "$${}$$\n", " $$f_c = 175.0 psi$$" ], "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore.f_c_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Adequacy Check" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$ F_c' = 181.7 psi \\geq f_c = 175.0 psi$$ \n", " $$\\textbf{This column is adequate}$$" ], "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore.column_adequacy_check_latex" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Shore Load Capacity" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a mater of curiosity, lets also work out what the shore's capacity is." ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$P_{allowed} = F_c' \\times A$$ \n", "$${}$$\n", " $$P_{allowed} = 181.7 psi \\times 19.25 in^2$$ \n", "$${}$$\n", " $$P_{allowed} = 3498 lbs$$" ], "text/plain": [ "" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shore.column_capacity_brief.work" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Summary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "txt = (r'$$\\text{Using %s\", Group %s, %s stress rated, plywood, '\n", " %(ply.nom_thick, ply.group, ply.grade))\n", "txt += r'supporting a %g\" thick slab,}$$'%(t_concrete)\n", "txt += (r'$$\\text{the %s, %s, 4x4 joists need to be spaced at %g\" on center,}$$'\n", " %(Grade,Species,joist_spacing.value.inches))\n", "txt += (r'$$\\text{the 4x6 stringers need to be spaced at %g\" on center,}$$'\n", " %stringer_spacing.value.inches)\n", "D = ceil(Shore_section_d)\n", "B = ceil(Shore_section_b)\n", "txt += r\"$$\\text{and the %g' tall %dx%d shores \"%(Shore_length, B,D)\n", "txt += r'need to be spaced at %g\" on center.}$$'%shore_spacing.value.inches\n", "summary = txt" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\text{Using 3/4\", Group 2, S-2 stress rated, plywood, supporting a 10\" thick slab,}$$$$\\text{the Select Structural, HEM-FIR, 4x4 joists need to be spaced at 16\" on center,}$$$$\\text{the 4x6 stringers need to be spaced at 48\" on center,}$$$$\\text{and the 14' tall 4x6 shores need to be spaced at 56\" on center.}$$" ], "text/plain": [ "" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Latex(summary)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## References:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Class website](https://ufl.instructure.com/courses/) *(Use this link to if you are taking the course on e-learning.)*\n", "\n", "[Github.io version of course website](http://damontallen.github.io/Construction-Lectures-Fall-2014/) *(Do not use this link if you are taking this course in Summer A or B.)*\n", "\n", "[IPython.org](http://ipython.org/) *(IPython is the opensource software used in the development of much of this course.)*\n", "\n", "[Complete Software List](http:\nbviewer.ipython.org/github/damontallen/Construction-Lectures-Fall-2014/blob/master/Resources.ipynb)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Slideshow", "hide_input": false, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" }, "toc": { "toc_cell": false, "toc_number_sections": true, "toc_threshold": 6, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }