{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Chapter 9 Analysis of Plane Trusses and Frames"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.1 Axial forces in members of Truss"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Axial Force in member AD (Fad) is 2886.751346 N \n",
"The Axial Force in member AB (Fab) is 1443.375673 N \n",
"The Axial Force in member CE (Fce) is 4041.451884 N \n",
"The Axial Force in member CB (Fcb) is 2020.725942 N \n",
"The Axial Force in member DB (Fdb) is 577.350269 N \n",
"The Axial Force in member DE (Fde)is 1732.050808 N \n",
"The Axial Force in member EB (Feb) is 577.350269 N \n"
]
}
],
"source": [
"import math\n",
"# Initilization of variables\n",
"W1=2000 #N # load at joint D of the truss\n",
"W2=4000 #N # load at joint E of the truss\n",
"Lac=6 #m # length of the tie\n",
"Lab=3 #m\n",
"Lbc=3 #m\n",
"theta=60 #degree # interior angles of the truss\n",
"# Calculations\n",
"# Here A is simply supported & B is roller support. Now the SUPPORT REACTIONS are given as,\n",
"Rc=((W1*(Lab/2))+(W2*(Lab+(Lbc/2))))/Lac #N # Taking moment at A\n",
"Ra=W1+W2-Rc #N # Take sum Fy=0\n",
"# ANALYSIS OF TRUSS BY METHOD OF JOINT\n",
"# ASSUMPTION- we consider the,(1) Forces moving towards each other as +ve i.e TENSILE (T) & (2) Forces moving away from each other as -ve i.e COMPRESSIVE (C)\n",
"# (1) JOINT A\n",
"Fad=Ra/(math.sin(theta*math.pi/180)) #N #(C) # Umath.sing eq'n 2\n",
"Fab=Fad*math.cos(theta*math.pi/180) #N # (T) # Umath.sing eq'n 1\n",
"# (2) JOINT C\n",
"Fce=Rc/(math.sin(theta*math.pi/180)) #N # (C) # using eq'n 4\n",
"Fcb=Fce*math.cos(theta*math.pi/180) #N # (T) # using eq'n 3\n",
"# (3) JOINT D\n",
"Fdb=((Fad*math.sin(theta*math.pi/180))-(W1))/math.sin(theta*math.pi/180) #N # (T) # Using eq'n 6\n",
"Fde=(Fdb*math.cos(theta*math.pi/180))+(Fad*math.cos(theta*math.pi/180)) #N # (C) # Using eq'n 5\n",
"# (4) JOINT E\n",
"Feb=((Fce*math.cos(theta*math.pi/180))-(Fde))/math.cos(theta*math.pi/180) #N # (C) # Using eq'n 7\n",
"# Results\n",
"print('The Axial Force in member AD (Fad) is %f N '%Fad)\n",
"print('The Axial Force in member AB (Fab) is %f N '%Fab)\n",
"print('The Axial Force in member CE (Fce) is %f N '%Fce)\n",
"print('The Axial Force in member CB (Fcb) is %f N '%Fcb)\n",
"print('The Axial Force in member DB (Fdb) is %f N '%Fdb)\n",
"print('The Axial Force in member DE (Fde)is %f N '%Fde)\n",
"print('The Axial Force in member EB (Feb) is %f N '%Feb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.2 axial forces in members of truss"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The axial force in the member DE (Fde)is 1732.050808 N \n",
"\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W1=2000 #N (or 2 kN)# load at joint D of the truss\n",
"W2=4000 #N (or 4 kN)# load at joint E of the truss\n",
"Lac=6 #m # length of the tie\n",
"Lab=3 #m\n",
"Lbc=3 #m\n",
"theta=60 #degree # interior angles of the truss\n",
"# Calculations\n",
"# Here A is simply supported & B is roller support. Now the SUPPORT REACTIONS are given as,\n",
"Rc=((W1*(Lab/2))+(W2*(Lab+(Lbc/2))))/Lac #N # Taking moment at A\n",
"Ra=W1+W2-Rc #N # Take sum Fy=0\n",
"# Calculations\n",
"# Calculating the axial forces in the respective members by METHOD OF SECTION\n",
"# A section is drawn passing through member DE such that it cuts the respective member. Now consider the equilibrium of the left hand portion of the truss. The three unknown forces are Fde, Fdb, & Fab\n",
"# Take moment about B\n",
"Fde=((3*Ra)-(W1*Lab*math.sin(30*math.pi/180)))/(3*math.cos(30*math.pi/180)) #N # (T)\n",
"# Results\n",
"print('The axial force in the member DE (Fde)is %f N \\n'%Fde)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.3 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The axial force in the member DC (Fdc) is 1.000000 kN\n",
"The axial force in the member DB (Fdb) is 1.414214 kN\n",
"The axial force in the member CA (Fca) is 1.414214 kN\n",
"The axial force in the member CB (Fcb) is -1.000000 kN\n",
"The axial force in the member EC (Fec) is 0.000000 kN\n",
"The axial force in the member ED (Fed) is 0.000000 kN\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W=1 #kN # load on the truss at joint D\n",
"theta=45 #degree # angle made by the members AC & BD with the horizontal\n",
"Lab=1 #m \n",
"Lcd=1 #m # here Lcd= the distance from B to the line of extension drawn from 1kN force on the horizontal\n",
"# Calculations \n",
"# (1) JOINT E\n",
"# Here the joint E is in equilibrium under two forces Fec & Fed which are non-collinear. Hence they must be 0. i.e Fec=Fed=0 \n",
"Fec=0\n",
"Fed=0\n",
"# (2) JOINT D\n",
"Fdb=W/math.sin(theta*math.pi/180) # kN # (C)# sum Fy=0\n",
"Fdc=Fdb*math.cos(theta*math.pi/180) # kN # (T) # sum Fx=0\n",
"# (3) JOINT C\n",
"Fca=Fdc/math.sin(theta*math.pi/180) # kN # (T) # sum Fx=0\n",
"Fcb=-(Fca*math.sin(theta*math.pi/180)) # kN # (C) # sum Fy=0\n",
"# Results\n",
"print('The axial force in the member DC (Fdc) is %f kN'%Fdc)\n",
"print('The axial force in the member DB (Fdb) is %f kN'%Fdb)\n",
"print('The axial force in the member CA (Fca) is %f kN'%Fca)\n",
"print('The axial force in the member CB (Fcb) is %f kN'%Fcb)\n",
"print('The axial force in the member EC (Fec) is %f kN'%Fec)\n",
"print('The axial force in the member ED (Fed) is %f kN'%Fed)\n",
"# Here -ve sign indicates COMPRESSIVE force & +ve indicates TENSILE force"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.5 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The axial force in the member FG (Ffg) is 2000.000000 N\n",
"The axial force in the member CE (Fce) is -2309.401077 N\n",
"The axial force in the member CG (Fcg) is 0.000000 N\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W1=1000 #N # Load acting at the end pannels and the ridge\n",
"W2=2000 #N # Load acting at the intermidiate pannels\n",
"Laf=1 #m\n",
"Lgf=1 #m\n",
"Lag=2 #m\n",
"Lbg=1 #m\n",
"Lab=3 #m\n",
"theta=30 #degree # angle made by the principal rafter with the tie beam\n",
"beta=60 #degree # angle made by the slings (i.e members CF & CG) with the tie beam\n",
"# Calculations\n",
"# consider the equilibrium of the entire truss as a F.B.D\n",
"Xa=2*(W1*math.sin(theta*math.pi/180))+(W2*math.sin(theta*math.pi/180)) #N # sum Fx=0\n",
"Rb=((W2*Laf*math.cos(theta*math.pi/180))+(W1*Lag*math.cos(theta*math.pi/180)))/Lab # N # Moment at A=0\n",
"Ya=2*(W1*math.cos(theta*math.pi/180))+(W2*math.cos(theta*math.pi/180))-(Rb) #N # sum Fy=0\n",
"# Now pass a section through the truss such that it cuts the members CE,CG & FG. Now consider the equilibrium of the right hand side of the truss\n",
"# Take moment about C\n",
"Ffg=(Rb*(Lbg+0.5))/(0.5*math.tan(beta*math.pi/180)) # N # (T) # Here 0.5 is the half distance of Lgf\n",
"# Take moment about G\n",
"Fce=(-Rb*Lbg)/(Lbg*math.sin(theta*math.pi/180)) # N # (C)\n",
"# Take moment about B\n",
"Fcg=0/(Lbg*math.sin(beta*math.pi/180)) # N\n",
"# Results \n",
"print('The axial force in the member FG (Ffg) is %f N'%Ffg)\n",
"print('The axial force in the member CE (Fce) is %f N'%Fce)\n",
"print('The axial force in the member CG (Fcg) is %f N'%Fcg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.6 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The axial force in the member CD (Fcd) is 25.000000 N\n",
"The axial force in the member GB (Fgb) is 32.735027 N\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W1=100 #N # load acting at pt. C vertically\n",
"W2=50 #N # load acting at point B horizontaly\n",
"L=2 #m # length of each bar in the hexagonal truss\n",
"theta=60 #degree # internal angle of the truss\n",
"# Calculations\n",
"# We calculate the values of different members of the truss\n",
"HG=L*math.sin(theta*math.pi/180)\n",
"AF=L\n",
"# Support A is hinged whereas support F is a roller support. Firstly we find the support reactios as follows,\n",
"Rf=(W2*HG)/AF #N # moment at F\n",
"Xa=W2 #N # sum Fx=0\n",
"Ya=W1-Rf #N # sum Fy=0\n",
"# Now pass a section through the truss cutting the members CD,GD,GE & GF and consider equilibrium of right hand portion of the truss\n",
"Fcd=(Rf*(L/2))/(L*math.sin(theta*math.pi/180)) # N (C) # Taking moment about G\n",
"# Now pass a scetion pq cutting the members CB,GB & GA\n",
"Fga=((Rf*(L+(L/2)))-(W1*(L/2)))/(L*math.sin(theta*math.pi/180)) # N (T) # Taking moment about B\n",
"# take moment about G\n",
"Fcb=((W1*(L/2))+(Rf*(L/2)))/(L*math.sin(theta*math.pi/180)) # N (C)\n",
"Fgb=(Fcb*math.cos(theta*math.pi/180))-(Fga*math.cos(theta*math.pi/180)) # N (T) # sum Fx=0\n",
"# Results\n",
"print('The axial force in the member CD (Fcd) is %f N'%Fcd)\n",
"print('The axial force in the member GB (Fgb) is %f N'%Fgb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.10 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1) The axial force in the bar CE (Fce) is 10.666667 kN\n",
"(2) The axial force in the bar BD (Fbd) is -21.333333 kN\n",
"(3) The axial force in the bar BE (Fbe) is -13.333333 kN\n",
"(4) The axial force in the bar CD (Fcd) is 13.333333 kN\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W=24 # kN # Load acting at pt C\n",
"Laf=12 # m # length of the tie beam\n",
"l=4 # m# length of each member in the tie\n",
"h=3 # m # height of the slings\n",
"Lae=8 # m\n",
"# Calculations\n",
"s=math.sqrt((l**2)+(h**2)) # m # sloping length \n",
"# From triangle BCD,\n",
"theta=math.degrees(math.acos(h/s))\n",
"# SUPPORT REACTIONS\n",
"Rf=(W*l)/Laf # kN # take moment at A\n",
"Ra=W-Rf # kN # sum Fy=0\n",
"# now pass a sectio mn through the truss and consider te equilibrium of the left hand portion \n",
"Fce=(Ra*l)/h # kN (T) # Take moment at B\n",
"Fbd=((W*l)-(Ra*Lae))/h # kN (C) # take moment at E\n",
"Fbe=(Ra-W)/math.cos(theta*math.pi/180) # kN\n",
"Fbd=(-Ra*l)/h # kN # take moment at C\n",
"Fce=((Ra*Lae)-(W*l))/h # kN (T) # take moment at D\n",
"Fcd=(W-Ra)/math.cos(theta*math.pi/180) # kN (T) # sum Fy=0\n",
"# Resuts\n",
"print('(1) The axial force in the bar CE (Fce) is %f kN'%Fce)\n",
"print('(2) The axial force in the bar BD (Fbd) is %f kN'%Fbd)\n",
"print('(3) The axial force in the bar BE (Fbe) is %f kN'%Fbe)\n",
"print('(4) The axial force in the bar CD (Fcd) is %f kN'%Fcd)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.12 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The reaction at A ( Ra) is 4.001736 kN\n",
"The reaction at B ( Rb) is 4.144943 kN\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W1=4 # kN # load acting at a distance of 5 m from C\n",
"W2=3 # kN # load acting at a distance of 7.5 m from C\n",
"L=30 #m # distance AB\n",
"L1=15 # dist AC\n",
"L2=15 #m #dist BC\n",
"l1=10 #m # distance between A and 4 kN load\n",
"l2=22.5 #m # distance between A and 3 kN load\n",
"# Calculations\n",
"# (1) Reactions\n",
"Yb=((W1*l1)+(W2*l2))/L # kN # Take moment at A\n",
"Ya=W1+W2-Yb # kN # sum Fy=0\n",
"# Xa=Xb........(eq'n 1) # sum Fx=0\n",
"# (2) Dismember\n",
"# Member AC. Consider equilibrium of member AC\n",
"# Xa=Xc ... Consider thus as eq'n 2 # sum Fx=0\n",
"Yc=W1-Ya # kN # sum Fy=0\n",
"# Take moment about A\n",
"Xc=((W1*l1)-(Yc*L1))/L1 # kN \n",
"# now from eq'n 1 & 2\n",
"Xa=Xc # kN\n",
"Xb=Xa # kN\n",
"# The components of reactions at A & B are,\n",
"Ra=math.sqrt(Xa**2+Ya**2) # kN\n",
"Rb=math.sqrt(Xb**2+Yb**2) # kN\n",
"# Results\n",
"print('The reaction at A ( Ra) is %f kN'%Ra)\n",
"print('The reaction at B ( Rb) is %f kN'%Rb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.13 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The force in tie bar AB is 1.299038 kN\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W1=2 # kN # load acting at a distance of 1m from point A\n",
"W2=1 # kN # load acting at a distance of 1m from point B\n",
"theta=30 # degree\n",
"L=4 # m # length of the tie beam\n",
"l=1 #m # length of each member in the tie\n",
"# Calculations\n",
"# (a) Reactions\n",
"Yb=((W1*l)+(W2*3*l))/L # kN # Taking moment about A\n",
"Ya=W1+W2-Yb # kN # sum Fy=0\n",
"# (b) Dismember\n",
"# MEMBER AB\n",
"# Xa=Xb........ (eq'n 1) # sum Fx=0\n",
"# MEMBER AC\n",
"# Xa=Xc.........(eq'n 2) # sum Fx=0\n",
"Yc=W1-Ya # kN # sum Fy=0\n",
"# Taking moment about A\n",
"Xc=((W1*l)-(Yc*2*l))/(2*math.tan(theta*math.pi/180)) # kN\n",
"# From eq'n 1 & 2\n",
"Xa=Xc # kN\n",
"Xb=Xa # kN\n",
"# Results\n",
"print('The force in tie bar AB is %f kN'%Xb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.14 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The compressive force in bar BC (Fbc) is 1250.000000 N\n",
"The shear force on the pin is 2015.564437 N\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"W=1000 # N \n",
"r=0.25 # radius of pulley at E \n",
"Lab=2 #m\n",
"Lad=1 # m\n",
"Lbd=1 # m \n",
"Ldc=0.75 # m\n",
"l1=0.5 #m # c/c distance between bar AB and point E\n",
"l2=1.25 # m # dist between rigid support and the weight\n",
"# Calculations\n",
"# (a) Reactions\n",
"Xa=W # N # sum Fx=0\n",
"Yb=((W*l1)+(W*l2))/Lab # N # Take moment about A\n",
"Ya=W-Yb # N # sum Fy=0\n",
"# Dismember\n",
"# MEMBER ADB\n",
"# consider triangle BCD to find theta, where s= length of bar BC, \n",
"s=math.sqrt(Lbd**2+Ldc**2) # m\n",
"theta=math.degrees(math.acos(Lbd/s)) # degree\n",
"# equilibrium eq'n of member ADB\n",
"Yd=(Ya*Lab)/Lad # take moment about B\n",
"Fbc=(Yb+Ya-Yd)/math.sin(theta*math.pi/180) # N # sum Fy=0\n",
"Xd=(Fbc*math.cos(theta*math.pi/180))+(Xa) # N # sum Fx=0\n",
"# PIN D\n",
"Rd=math.sqrt(Xd**2+Yd**2) # N # shear force on the pin\n",
"# Results\n",
"print('The compressive force in bar BC (Fbc) is %f N'%Fbc)\n",
"print('The shear force on the pin is %f N'%Rd)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 9.15 Axial Forces in members of the truss"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1) The value of axial force (Rd) in bar 2 is 2651.650429 N\n",
"(2) The value of axial force (Re) in bar 3 is 2651.650429 N\n",
"(3) The value of axial force (Yb) in bar 1 is 1875.000000 N\n",
"(4) The value of axial force (Yc) in bar 4 is -625.000000 N\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"import numpy\n",
"# Initiliztion of variables\n",
"P=5000 # N\n",
"theta=45 # degree # angle made by Rd & Re with the horizontal\n",
"Lab=3 # m\n",
"Lac=3 # m\n",
"Lbd=2 # m\n",
"Lce=2 # m\n",
"l=1.5 # m # dist of load P from B\n",
"# Calculations (BEAM AB )\n",
"# Consider the equilibrium of beams \n",
"# We are using matrix to solve the simultaneous eqn's \n",
"A=numpy.matrix([[(Lbd*math.sin(theta*math.pi/180)),Lab],[(Lce*math.sin(theta*math.pi/180)),-Lac]])\n",
"B=numpy.matrix([[(P*l)],[0]])\n",
"C=numpy.linalg.inv(A)*B\n",
"# Calculations (BEAM AC)\n",
"Re=C[0] # N (C) # from eq'n 1\n",
"Ya=(Re*Lce*math.sin(theta*math.pi/180))/Lac # N # from eq'n 7\n",
"Xa=C[0]*math.cos(theta*math.pi/180) # N # from eq'n 2\n",
"Ra=math.sqrt(Xa**2+Ya**2) # N (C)\n",
"Yb=P-Ya-(C[0]*math.sin(theta*math.pi/180)) # N (C) # eq'n 3\n",
"Yc=Ya-(Re*math.sin(theta*math.pi/180)) # N (T)\n",
"# Results \n",
"print('(1) The value of axial force (Rd) in bar 2 is %f N'%C[0])\n",
"print('(2) The value of axial force (Re) in bar 3 is %f N'%Re)\n",
"print('(3) The value of axial force (Yb) in bar 1 is %f N'%Yb)\n",
"print('(4) The value of axial force (Yc) in bar 4 is %f N'%Yc)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [Root]",
"language": "python",
"name": "Python [Root]"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}