summaryrefslogtreecommitdiff
path: root/Engineering_Mechanics_of_Solids_by_Popov_E_P
diff options
context:
space:
mode:
authorTrupti Kini2016-03-07 23:30:16 +0600
committerTrupti Kini2016-03-07 23:30:16 +0600
commit50b3a7d796c572462e5a5e6a79fee66414f20a1d (patch)
tree248b796ef02a5fa35ed782677fa7bf5313adc90b /Engineering_Mechanics_of_Solids_by_Popov_E_P
parent92319e166bf1863f52f12a4b538671231b88b68d (diff)
downloadPython-Textbook-Companions-50b3a7d796c572462e5a5e6a79fee66414f20a1d.tar.gz
Python-Textbook-Companions-50b3a7d796c572462e5a5e6a79fee66414f20a1d.tar.bz2
Python-Textbook-Companions-50b3a7d796c572462e5a5e6a79fee66414f20a1d.zip
Added(A)/Deleted(D) following books
A Advanced_Engineering_Chemistry__by_Dr._M.R._Senapati/README.txt A Electrical_Measurements_And_Measuring_Instruments_by_N._V._Suryanarayana/README.txt A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch1.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch10.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch11.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch12.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch13.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch2.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch3.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch4.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch5.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch6.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch7.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch8.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/Ch9.ipynb A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/screenshots/opNip3.png A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/screenshots/opNipV3.png A Electronic_Devices_And_Circuits_by_B._Kumar_And_S._B._Jain/screenshots/transferChar3.png A Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_1.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_2.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.JPG A Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.JPG A Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.JPG A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter1_.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter2_1.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter3_1.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter4&5_1.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter6_1.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter7_1.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter8_1.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/Chapter9_1.ipynb A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/screenshots/Screenshot_(1)_1.png A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/screenshots/Screenshot_(2)_1.png A Engineering_Physics_by_Prabir_K_Basu_&_Hrishikesh_Dhasmana/screenshots/Screenshot_(3)_1.png A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_1_Circuit_Configuration_for_Linear_Integrated_Ciruits.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_1_Circuit_Configuration_for_Linear_Integrated_Ciruits_1.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_2_Applications_Of_Operational_Amplifier.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_2_Applications_Of_Operational_Amplifier_1.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_4_Analog_to_Digital_and_Digital_to_Analog_converters.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_4_Analog_to_Digital_and_Digital_to_Analog_converters_1.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_5_Special_Integrated_Circuits.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/Chapter_5_Special_Integrated_Circuits_1.ipynb A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/screenshots/Chapter_1Circuit_Configuration_for_Linear_Integrated_Ciruits.png A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/screenshots/Chapter_2_Applications_Of_Operational_Amplifier.png A Linear_Integrated_Circuits_by_T._R._Ganesh_Babu/screenshots/Chapter_4_Analog_to_Digital_and_Digital_to_Analog_converters.png A The_Theory_of_Machines_by_T._Bevan/README.txt A Thermal_Engineering_by_S._l._Somasundaram/README.txt A _Nuclear_Chemistry_through_Problems_by__H._J._Arnikar_and_N._S._Rajurkar/README.txt A sample_notebooks/ebbygeorge/ch1_1.ipynb
Diffstat (limited to 'Engineering_Mechanics_of_Solids_by_Popov_E_P')
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_1.ipynb437
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_1.ipynb896
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_1.ipynb375
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_1.ipynb405
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13.ipynb215
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_1.ipynb327
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_1.ipynb447
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_1.ipynb870
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_1.ipynb578
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_1.ipynb260
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_1.ipynb332
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_1.ipynb246
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_2.ipynb289
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.JPGbin0 -> 62505 bytes
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.JPGbin0 -> 50041 bytes
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.JPGbin0 -> 63803 bytes
16 files changed, 5677 insertions, 0 deletions
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_1.ipynb
new file mode 100644
index 00000000..ed833104
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_1.ipynb
@@ -0,0 +1,437 @@
+{
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "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.10"
+ },
+ "name": "",
+ "signature": "sha256:5ef00909be24a2b4d65cd7f64da2e07a8b79e5ac34c1eea3e4cbb11c87e75590"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1 : Stress, Axial loads and Safety concepts"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1 page number 24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "d_bolt = 20.0 #mm,diameter,This is not the minimum area\n",
+ "d_bolt_min = 16.0 #mm This is at the roots of the thread \n",
+ "#This yealds maximum stress \n",
+ "A_crossection = (math.pi)*(d_bolt**2)/4 #mm*2\n",
+ "A_crossection_min = (math.pi)*(d_bolt_min**2)/4 #mm*2 ,This is minimum area which yeilds maximum stress\n",
+ "load = 10.0 #KN\n",
+ "BC = 1.0 #m\n",
+ "CF = 2.5 #m\n",
+ "contact_area = 200*200 # mm*2 , The contact area at c\n",
+ "\n",
+ "#caliculations \n",
+ "#Balancing forces in the x direction:\n",
+ "# Balncing the moments about C and B:\n",
+ "Fx = 0 \n",
+ "R_cy = load*(BC+CF) #KN , Reaction at C in y-direction\n",
+ "R_by = load*(CF) #KN , Reaction at B in y-direction\n",
+ "#Because of 2 bolts\n",
+ "stress_max = (R_by/(2*A_crossection_min))*(10**3) # MPA,maximum stess records at minimum area\n",
+ "stress_shank = (R_by/(2*A_crossection))*(10**3) # MPA\n",
+ "Bearing_stress_c = (R_cy/contact_area)*(10**3) #MPA, Bearing stress at C\n",
+ "\n",
+ "print\"The bearing stress at C is \",(Bearing_stress_c) ,\"MPA\"\n",
+ "print\"The maximum normal stress in BD bolt is: \",round(stress_max),\"MPA\"\n",
+ "print\"The tensile strss at shank of the bolt is: \",round(stress_shank),\"MPA\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bearing stress at C is 0.875 MPA\n",
+ "The maximum normal stress in BD bolt is: 62.0 MPA\n",
+ "The tensile strss at shank of the bolt is: 40.0 MPA\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.2 page number 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "load_distributed = 20 #KN/m*2, This is the load distributed over the pier\n",
+ "H = 2 # m, Total height \n",
+ "h = 1 #m , point of investigation \n",
+ "base = 1.5 #m The length of crossection in side veiw \n",
+ "top = 0.5 #m ,The length where load is distributed on top\n",
+ "base_inv = 1 #m , the length at the point of investigation \n",
+ "area = 0.5*1 #m ,The length at a-a crossection \n",
+ "density_conc = 25 #KN/m*2\n",
+ "#caliculation of total weight \n",
+ "\n",
+ "v_total = ((top+base)/2)*top*H #m*2 ,The total volume \n",
+ "w_total = v_total* density_conc #KN , The total weight\n",
+ "R_top = (top**2)*load_distributed #KN , THe reaction force due to load distribution \n",
+ "reaction_net = w_total + R_top\n",
+ "\n",
+ "#caliculation of State of stress at 1m \n",
+ "v_inv = ((top+base_inv)/2)*top*h #m*2 ,The total volume from 1m to top\n",
+ "w_inv = v_inv*density_conc #KN , The total weight from 1m to top\n",
+ "reaction_net = w_inv + R_top #KN\n",
+ "Stress = reaction_net/area #KN/m*2\n",
+ "print\"The total weight of pier is\",w_total,\"KN\"\n",
+ "print\"The stress at 1 m above is\",Stress,\"MPA\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total weightof pier: 25.0 KN\n",
+ "The stress at 1 m above is 28.75 MPA\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.3 page number 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "from math import pow\n",
+ "d_pins = 0.375 #inch\n",
+ "load = 3 #Kips\n",
+ "AB_x = 6 #inch,X-component\n",
+ "AB_y = 3 #inch,Y-component \n",
+ "BC_y = 6 #inch,Y-component\n",
+ "BC_x = 6 #inch,X-component\n",
+ "area_AB = 0.25*0.5 #inch*2 \n",
+ "area_net = 0.20*2*(0.875-0.375) #inch*2 \n",
+ "area_BC = 0.875*0.25 #inch*2 \n",
+ "area_pin = d_pins*2*0.20 #inch*2 \n",
+ "area_pin_crossection = 3.14*((d_pins/2)**2)\n",
+ "#caliculations\n",
+ "\n",
+ "slope = AB_y/ AB_x #For AB\n",
+ "slope = BC_y/ BC_x #For BC\n",
+ "\n",
+ "#momentum at point C:\n",
+ "F_A_x = (load*AB_x )/(BC_y + AB_y ) #Kips, F_A_x X-component of F_A\n",
+ "\n",
+ "#momentum at point A:\n",
+ "F_C_x = -(load*BC_x)/(BC_y + AB_y ) #Kips, F_C_x X-component of F_c\n",
+ "\n",
+ "#X,Y components of F_A\n",
+ "F_A= (pow(5,0.5)/2)*F_A_x #Kips\n",
+ "F_A_y = 0.5*F_A_x #Kips\n",
+ "\n",
+ "#X,Y components of F_C \n",
+ "F_C= pow(2,0.5)*F_C_x #Kips\n",
+ "F_C_y = F_C_x #Kips\n",
+ "\n",
+ "T_stress_AB = F_A/area_AB #Ksi , Tensile stress in main bar AB\n",
+ "stress_clevis = F_A/area_net #Ksi ,Tensile stress in clevis of main bar AB\n",
+ "c_strees_BC = F_C/area_BC #Ksi , Comprensive stress in main bar BC\n",
+ "B_stress_pin = F_C/area_pin #Ksi , Bearing stress in pin at C\n",
+ "To_stress_pin = F_C/area_pin_crossection #Ksi , torsion stress in pin at C\n",
+ "\n",
+ "print\"Tensile stress in main bar AB:\",round(T_stress_AB,2),\"Ksi\"\n",
+ "print\"Tensile stress in clevis of main bar AB:\",round(stress_clevis,2),\"Ksi\"\n",
+ "print\"Comprensive stress in main bar BC:\",round(-c_strees_BC,2),\"Ksi\"\n",
+ "print\"Bearing stress in pin at C:\",round(-B_stress_pin,2),\"Ksi\"\n",
+ "print\"torsion stress in pin at C:\",round(To_stress_pin,2),\"Ksi\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tensile stress in main bar AB: 17.89 Ksi\n",
+ "Tensile stress in clevis of main bar AB: 11.18 Ksi\n",
+ "Comprensive stress in main bar BC: 12.93 Ksi\n",
+ "Bearing stress in pin at C: 18.86 Ksi\n",
+ "torsion stress in pin at C: -25.62 Ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.4 page number 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "strength_steel = 120 #Ksi\n",
+ "factor = 2.5\n",
+ "F_C = 2.23 #Ksi\n",
+ "\n",
+ "#caliculations\n",
+ "\n",
+ "stress_allow = strength_steel/factor #Ksi\n",
+ "A_net = F_C/strength_steel #in*2 , \n",
+ "#lets adopt 0.20x0.25 in*2 and check wether we are correct or not? \n",
+ "\n",
+ "A_net_assumption = 0.25*0.20 #in*2 , this is assumed area which is near to A_net\n",
+ "stress = 2.23/A_net_assumption #Ksi\n",
+ "factor_assumed = strength_steel/stress \n",
+ "\n",
+ "if factor_assumed > factor :\n",
+ " print \"The factor\",factor,\"is less than assumed factor\",round(factor_assumed,1),\"so this can be considered\"\n",
+ "else:\n",
+ " print \"The assumed factor\",factor, \"is more than assumed factor\",factor_assumed,\"factor_assumed\"\n",
+ " \n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The factor 2.5 is less than assumed factor 2.7 so this can be considered\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.6 page number 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "mass = 5 #Kg\n",
+ "frequency = 10 #Hz\n",
+ "stress_allow = 200 #MPa\n",
+ "R = 0.5 #m\n",
+ "\n",
+ "#caliculations \n",
+ "from math import pi\n",
+ "w = 2*pi*frequency #rad/sec\n",
+ "a = (w**2)*R #m*2/sec\n",
+ "F = mass*a #N\n",
+ "A_req = F/stress_allow #m*2 , The required area for aloowing stress\n",
+ "print\"The required size of rod is:\",round(A_req,2),\"m*2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required size of rod is: 49.35 m*2\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.7 page number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "D_n = 5.0 #kips, dead load\n",
+ "L_n_1 = 1.0 #kips ,live load 1\n",
+ "L_n_2 = 15 #kips ,live load 2\n",
+ "stress_allow = 22 #ksi\n",
+ "phi = 0.9 #probalistic coefficients\n",
+ "y_stress = 36 #ksi,Yeild strength\n",
+ "#According to AISR \n",
+ "\n",
+ "#a\n",
+ "p_1 = D_n + L_n_1 #kips since the total load is sum of dead load and live load\n",
+ "p_2 = D_n + L_n_2 #kips, For second live load\n",
+ "\n",
+ "Area_1 = p_1/stress_allow #in*2 ,the allowable area for the allowed stress\n",
+ "Area_2 = p_2/stress_allow #in*2\n",
+ "print \"the allowable area for live load\",L_n_1,\"is\",round(Area_1,3),\"in*2\"\n",
+ "print \"the allowable area for live load\",L_n_2,\"is\",round(Area_2,3),\"in*2\"\n",
+ "\n",
+ "#b\n",
+ "#area_crossection= (1.2*D_n +1.6L_n)/(phi*y_stress)\n",
+ "\n",
+ "area_crossection_1= (1.2*D_n +1.6*L_n_1)/(phi*y_stress) #in*2,crossection area for first live load\n",
+ "area_crossection_2= (1.2*D_n +1.6*L_n_2)/(phi*y_stress) #in*2,crossection area for second live load\n",
+ "print \"the crossection area for live load\",L_n_1,\"is\",round(area_crossection_1,3),\"in*2\"\n",
+ "print \"the crossection area for live load\",L_n_2,\"is\",round(area_crossection_2,3),\"in*2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the allowable area for live load 1.0 is 0.273 in*2\n",
+ "the allowable area for live load 15 is 0.909 in*2\n",
+ "the crossection area for live load 1.0 is 0.235 in*2\n",
+ "the crossection area for live load 15 is 0.926 in*2\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.8 page number 51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "A_angle = 2 #in*2 \n",
+ "stress_allow = 20 #ksi, The maximum alowable stress\n",
+ "F = stress_allow*A_angle #K, The maximum force\n",
+ "AD = 3 #in, from the figure\n",
+ "DC = 1.06 #in, from the figure\n",
+ "strength_AWS = 5.56 # kips/in,Allowable strength according to AWS\n",
+ "\n",
+ "#caliculations \n",
+ "#momentum at point \"d\" is equal to 0\n",
+ "R_1 = (F*DC)/AD #k,Resultant force developed by the weld\n",
+ "R_2 = (F*(AD-DC))/AD #k,Resultant force developed by the weld\n",
+ "\n",
+ "l_1 = R_1/strength_AWS #in,Length of the Weld 1\n",
+ "l_2 = R_2/strength_AWS #in,Length of the Weld 2\n",
+ " \n",
+ "print \"Length of the Weld 1:\",round(l_1,2),\"in\"\n",
+ "print \"Length of the Weld 2:\",round(l_2,2),\"in\" \n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of the Weld 1: 2.54 in\n",
+ "Length of the Weld 2: 4.65 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "code",
+ "collapsed": true,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "IOError",
+ "evalue": "[Errno 2] No such file or directory: 'arr'",
+ "output_type": "pyerr",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mIOError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m<ipython-input-1-7d69e32f0cee>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'arr'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[1;32mC:\\Users\\Kowshik\\AppData\\Local\\Enthought\\Canopy\\User\\lib\\site-packages\\numpy\\lib\\npyio.pyc\u001b[0m in \u001b[0;36mload\u001b[1;34m(file, mmap_mode)\u001b[0m\n\u001b[0;32m 367\u001b[0m \u001b[0mown_fid\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 368\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mbasestring\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 369\u001b[1;33m \u001b[0mfid\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"rb\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 370\u001b[0m \u001b[0mown_fid\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 371\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mgzip\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mGzipFile\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mIOError\u001b[0m: [Errno 2] No such file or directory: 'arr'"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_1.ipynb
new file mode 100644
index 00000000..695fe138
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_1.ipynb
@@ -0,0 +1,896 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:42031753a466b3ba5ee8c11468e375015d1a3d943c879daacc89b28eec81ab67"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10:Deflections of beams "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1 page number 501"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "dia = 400 #mm - The diameter of a pulley\n",
+ "E = 200 #Gpa - Youngs modulus\n",
+ "t = 0.6 #mm - The thickness of band\n",
+ "c = t/2 #mm - The maximum stress is seen \n",
+ "#Caliculations\n",
+ "\n",
+ "stress_max = E*c*(10**3)/(dia/2) #Mpa - The maximum stress on the crossection occurs at the ends\n",
+ "print \"The maximum bending stress developed in the saw \",stress_max,\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum bending stress developed in the saw 300.0 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3 page number 512"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'- \n",
+ "\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y- Using end conditions for caliculating constants \n",
+ "\n",
+ "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n",
+ "#Equations \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ "#The precision is very less while caliculating through this equation because the least count in X direction is 0.1\n",
+ "print \"a) The maximum displacement in y direction is\",min(Y),\"W(l**4)/EI \"\n",
+ "print \"a) The maximum deflection occured at\",l_1[Y.index(min(Y))],\"L\"\n",
+ "\n",
+ "#Part - B\n",
+ "#Graphs\n",
+ "import numpy as np\n",
+ "values = M_1\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "print \"b) The above graph is bending moment graph\"\n",
+ "import numpy as np\n",
+ "values = Y \n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "print \"b)The above graph is beam displacement graph\"\n",
+ "print \"b)The maximum occures in the middle from the above graph \"\n",
+ "\n",
+ "\n",
+ " \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The maximum displacement in y direction is -0.0130208333333 W(l**4)/EI \n",
+ "a) The maximum deflection occured at 0.5 L\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x8059b00>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b) The above graph is bending moment graph\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x8217320>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b)The above graph is beam displacement graph\n",
+ "b)The maximum occures in the middle from the above graph \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4 page number 514"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "#M_A and M_B are applied at the ends\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M[i] = l_1[i]/2.0 - (l_1[i]**2)/2.0 -1.0/12.0 #The moment euation at 1--1 section\n",
+ "# M_1 = R_A*l_1[i]/2.0 - F_D*(l_1[i]**2)/2.0 -F_D*(l_ab**2)/12.0 #The moment euation at 1--1 section \n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**2)*l_1[i]/12.0 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y\n",
+ "M_1_intg2[i] = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**2)*(l_1[i]**2)/24.0 \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - (l_1[i]**2)/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ " \n",
+ "#Part - B\n",
+ "#Graphs\n",
+ "import numpy as np\n",
+ "values = M\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "print \"b) The above graph is bending moment graph\"\n",
+ "import numpy as np\n",
+ "values = Y \n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "\n",
+ "\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x22dba90>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b) The above graph is bending moment graph\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nxhhjfPb/MPjEgLOKoGcAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x81fa630>"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.5 page number 517"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#because of symmetry the problem can be solved by considering first half\n",
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/2 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/48 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y\n",
+ "M_1_intg2[i] = R_A*(l_1[i]**3)/6 - F_D*(l_1[i]**4)/24.0 - F_D*(l_ab**3)*l_1[i]/48.0 \n",
+ "#Equations \n",
+ "#R_A = #wl Unknown- The reactive force at A\n",
+ "#R_B = #wl - The reactive force at B\n",
+ "\n",
+ "# M_1_intg2[10] = 0, the displacement at the end of rod is 0 since its rigid \n",
+ "R_A = (F_D*(l_1[10]**4)/24.0 + F_D*(l_ab**3)*l_1[10]/48.0)/((l_1[10]**3)/6.0)\n",
+ "R_C = R_A #WL - symmetry\n",
+ "R_B = 1-R_A+R_B # WL - F_Y = 0, the equilibrium in Y direction\n",
+ "print \"The reaction at A is\",R_A ,\"WL\"\n",
+ "print \"The reaction at B is\",R_B ,\"WL\"\n",
+ "print \"The reaction at C is\",R_C ,\"WL\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The reaction at A is 0.375 WL\n",
+ "The reaction at B is 2.375 Wl\n",
+ "The reaction at C is 0.375 Wl\n"
+ ]
+ }
+ ],
+ "prompt_number": 82
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.7 page number 521 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "l_ac = 5 #m - The length of the beam \n",
+ "l_ab = 4 #m - The length of ac on beam \n",
+ "l_bc = 1 #m - The length of bc on beam \n",
+ "F = 20 #N - force applied on beam at 'b'\n",
+ "I_ab = 4 #I The moment of inertia of part AB \n",
+ "I_bc = 1 #I - The momemt of inertia of part BC\n",
+ "R_A = F*(l_bc/l_ac) #N- The reaction at joint A\n",
+ "R_B = F*(l_ab/l_ac) #N- The reaction at joint B\n",
+ "E = 1 #E youngs modulus\n",
+ "\n",
+ "#0<x<4\n",
+ "x = [0,1,2,3,4]\n",
+ "M = [0,0,0,0,0]\n",
+ "y = [0,0,0,0,0]\n",
+ "for i in range(5):\n",
+ " M[i] = 4*x[i] #integration of x**n = x**n+1/n+1\n",
+ " #y_2[i] = 4*x[i]/(E*I_ab) #The \n",
+ " #y_1[i] = 4*(x[i]**2)/(E*I_ab) -4.8/(E*I_bc) #The constant can be found by conditions y(o) = y(c) = 0\n",
+ " y[i] = 4*(x[i]**2)/(6*E*I_ab) -4.8*x[i]/(E*I_bc) #elastic curve constant can be found by Y_1(0) = 0 \n",
+ "\n",
+ "\n",
+ "#0<x_1<1\n",
+ "x_1 = [4,5]\n",
+ "m = [0,0]\n",
+ "Y = [0,0]\n",
+ "for i in range(2):\n",
+ " m[i] = 16 - 16*x_1[i] #integration of x**n = x**n+1/n+1\n",
+ " # Y_2 = (16 - 16*x_1[i])/(E*I_ab) \n",
+ " #Y_1 = (16*x_1[i]-8*(x_1[i]**2) +8 - 4.8)/(E*I_ab)#The constant can be found by conditions y(o) = y(c) = 0\n",
+ " Y[i] = (8*(x_1[i]**2)-8*(x_1[i]**3)/3 +(8-4.8)*x_1[i] - 4*4.8 )/(E*I_ab) #elastic curve constant can be found by Y_1(0) = 0\n",
+ "\n",
+ "#Graphs\n",
+ "import numpy as np\n",
+ "values = y\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,5)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "print \"b) The shape from x belongs to 0<x<4\"\n",
+ "import numpy as np\n",
+ "values = Y \n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,2)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "print \"b) The shape from x belongs to 4<x<5\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n/j9lJ+moq4xgJQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0xa792dd8>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b) The shape from x belongs to 0<x<4\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "C:\\Users\\Kowshik\\AppData\\Local\\Enthought\\Canopy\\User\\lib\\site-packages\\numpy\\lib\\polynomial.py:588: RankWarning: Polyfit may be poorly conditioned\n",
+ " warnings.warn(msg, RankWarning)\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQl6d+sBHAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0xa6b60f0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b) The shape from x belongs to 4<x<5\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10 page number 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "k = 24.0*(10**12) #N.mm2 Flexure rigidity\n",
+ "E = 200.0 #Gpa - Youngs modulus of the string\n",
+ "l = 5000.0 #mm - The length of the string\n",
+ "C_A = 300.0 #mm2 - crossection area \n",
+ "P = 50.0 #KN - The force applies at the end \n",
+ "a = 2000.0 #mm - The distance C-F\n",
+ "x = 1#X - let it be a variable X\n",
+ "y_d = x*(a**3)/(3*k) #Xmm The displacement at D, lets keep the variable in units part\n",
+ "y_p = -P*(10**3)*(16*(a**3)-12*(a**3)+(a**3))/(k*6) #mm The displacement due to p \n",
+ "e_rod = l/(C_A*E*(10**3)) #Xmm -deflection, The varible is in units \n",
+ "e_rod\n",
+ "X = y_p/(2*e_rod+y_d) # By equating deflections \n",
+ "y_d_1 = X*(a**3)/(3*k) # the deflection of point D\n",
+ "print \"The deflection of point D\",round(y_d_1,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the deflection of point D -5.56 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.11 page number 530 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "l = 15 #in - The length of the crossection \n",
+ "b = 33.9 #in - the width of the crossection\n",
+ "L = 100 #in The length of the cantilever \n",
+ "E = 29*(10**6) #psi The youngs modulus of the material used \n",
+ "I_Z = 315 #in4 - the moment of inertia wrt Z axis \n",
+ "I_y = 8.13 #in4 - the moment of inertia wrt Y axis\n",
+ "o = 5 # degrees - the angle of acting force \n",
+ "P = 2000 #k the acting force \n",
+ "P_h = P*math.sin(math.radians(o)) #k - The horizantal component of P\n",
+ "P_v = P*math.cos(math.radians(o)) #k - The vertical component of P\n",
+ "e_h = P_h*(L**3)/(3*E*I_y) # the horizantal component of deflection \n",
+ "e_v = P_v*(L**3)/(3*E*I_Z ) # the vertical component of deflection\n",
+ "e = pow((e_h**2 + e_v**2),0.5)\n",
+ "print \"the horizantal component of deflection\",round(e_h,3) ,\"in\"\n",
+ "print \"the vertical component of deflection\",round(e_v,3) ,\"in\"\n",
+ "print \"the resultant deflection\",round(e,3) ,\"in\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the horizantal component of deflection 0.246 in\n",
+ "the vertical component of deflection 0.073 in\n",
+ "the resultant deflection 0.257 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.13 page number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 50.0 #mm - The length of the crossection \n",
+ "b = 50.0 #mm - the width of the crossection\n",
+ "m = 15.3 # mass of the falling body\n",
+ "h = 75.0 #mm - The height of the falling body \n",
+ "p = m*9.81 #N the force acted due to the body\n",
+ "L = 1000.0 #mm The length of the cantilever\n",
+ "E = 200 #Gpa The youngs modulus of the material used \n",
+ "I = (l**4)/12 #mm - the moment of inertia \n",
+ "k = 300 #N/mm -the stiffness of the spring \n",
+ "#Rigid supports \n",
+ "e = m*9.81*(L**3)*(10**-3)/(48*E*I) #mm - the deflection of beam \n",
+ "imp_fact_a = 1 +pow((1 +2*h/e),0.5) #no units , impact factor \n",
+ "#spring supports\n",
+ "e_spr = h/k #mm the elongation due to spring \n",
+ "e_total = e_spr + e \n",
+ "imp_fact_b = 1 +pow((1 +2*h/e_total),0.5) #no units , impact factor\n",
+ "print \"a) The maximum deflection when the beam is on rigid supports\",round(e,3),\"mm with impact factor\",round(imp_fact_a ,2),\n",
+ "print \"b) The maximum deflection when the beam is on spring supports\",round(e_total,2),\"mm with impact factor\",round(imp_fact_b,2) ,\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The maximum deflection when the beam is on rigid supports 0.03 mm with impact factor 71.7 b) The maximum deflection when the beam is on spring supports 0.28 mm with impact factor 24.17\n"
+ ]
+ }
+ ],
+ "prompt_number": 111
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.15 page number 536 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "E = 30*(10**3) #ksi - The youngs modulus of the material \n",
+ "stress_y = 40 #Ksi - yield stress\n",
+ "stress_max = 24.2 #Ksi - the maximum stress\n",
+ "l = 2 #in - The length of the crossection \n",
+ "b = 3 #in - the width of the crossection\n",
+ "h = 3 #in - the depth of the crossection\n",
+ "#lets check ultimate capacity for a 2 in deep section \n",
+ "M_ul = stress_y*b*(l**2)/4 #K-in the ultimate capacity \n",
+ "curvature = 2*stress_y/(E*(h/2) ) #in*-1 the curvature of the beam \n",
+ "curvature_max = stress_max/(E*(h/2)) #in*-1 The maximum curvature \n",
+ "print \"the ultimate capacity\",M_ul,\"K-in\"\n",
+ "print \"the ultimate curvature\",curvature_max,\"in*-1\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the ultimate capacity 120 K-in\n",
+ "the ultimate curvature 0.000806666666667 in*-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 114
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.16 page number 543"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l_ad = 1600 #mm - The total length of the beam \n",
+ "l_ab = 600 #mm - The length of AB\n",
+ "l_bc = 600 #mm - The length of BC\n",
+ "e_1 = 0.24 #mm - deflection \n",
+ "e_2 = 0.48 #mm - deflection\n",
+ "E = 35 #Gpa\n",
+ "#Caliculation \n",
+ "\n",
+ "A_afe = -(l_ab+l_bc)*e_1*(10**-3)/(2*E)\n",
+ "A_afe = -(l_ab)*e_2*(10**-3)/(4*E)\n",
+ "y_1_b = A_afe + A_afe #rad the slope at the tip B\n",
+ "x_1 = 1200 #com from B\n",
+ "x_2 = 800 #com from B\n",
+ "y_b = A_afe*x_1 + A_afe*x_2 #mm The maximum deflection at tip B\n",
+ "print\"The maximum deflection at tip B\",round(y_b,2),\"mm\"\n",
+ "print \"The slope at the tip B\",round(y_1_b,2) ,\"radians\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum deflection at tip B -4.11 mm\n",
+ "The slope at the tip B -0.0 radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 126
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.19 page number 547 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'- \n",
+ "\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #deflection integration of x**n = x**n+1/n+1\n",
+ "#(EI)y- Using end conditions for caliculating constants \n",
+ "\n",
+ "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n",
+ "#Equations \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ "#The precision is very less while caliculating through this equation because the least count in X direction is 0.1\n",
+ "print \" The maximum displacement in y direction is\",min(Y),\"W(l**4)/EI \"\n",
+ "print \" The maximum deflection occured at\",l_1[Y.index(min(Y))],\"L\"\n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1_intg1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg1[i] = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24\n",
+ "print \" The maximum deflection is\",min(M_1_intg1 ),\"W(l**3)/EI \""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The maximum displacement in y direction is -0.0130208333333 W(l**4)/EI \n",
+ " The maximum deflection occured at 0.5 L\n",
+ " The maximum deflection is -0.05775 W(l**3)/EI \n"
+ ]
+ }
+ ],
+ "prompt_number": 132
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.23 page number 554 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import numpy\n",
+ "l_ab = 1.0 #L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "#M_A and M_B are applied at the ends\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M[i] = l_1[i]/2.0 - (l_1[i]**2)/2.0 -1.0/12.0 #The moment euation at 1--1 section\n",
+ "# M_1 = R_A*l_1[i]/2.0 - F_D*(l_1[i]**2)/2.0 -F_D*(l_ab**2)/12.0 #The moment euation at 1--1 section \n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**2)*l_1[i]/12.0 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y\n",
+ "M_1_intg2[i] = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**2)*(l_1[i]**2)/24.0 \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - (l_1[i]**2)/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ " \n",
+ "print \"The moment at the end is \",M[0],\"wl**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment at the end is -0.0833333333333 wl**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 133
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.25 pagenumber 556"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# This problem is divided into two parts\n",
+ "#Part _1\n",
+ "#Given\n",
+ "l = 1.0 #l - The length of the beam\n",
+ "p = 1.0 #W - The total load applied\n",
+ "#since it is triangular distribution \n",
+ "l_com = 0.66*L #l - The distance of force of action from one end\n",
+ "#F_Y = 0\n",
+ "#R_A + R_B = p\n",
+ "#M_a = 0 Implies that R_B = 2*R_A\n",
+ "R_A = p/3.0\n",
+ "R_B = 2.0*p/3\n",
+ "\n",
+ "#Taking Many sections \n",
+ "\n",
+ "#Section 1----1\n",
+ "l = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = p*(l[i]**2) - p/3.0\n",
+ " M[i] = p*(l[i]**3)/(3.0)- p*l[i]/3.0\n",
+ "\n",
+ "v[10] = R_B #again concluded Because the value is tearing of \n",
+ "\n",
+ "\n",
+ "#Graph\n",
+ "import numpy as np\n",
+ "values = M\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "import numpy as np\n",
+ "values = v\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "\n",
+ "\n",
+ "#part B\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nY/L8f6G/NIrkiT5JAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0xa6d47f0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nbKRBM81FAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x80d0f98>"
+ ]
+ }
+ ],
+ "prompt_number": 134
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_1.ipynb
new file mode 100644
index 00000000..aa2f8723
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_1.ipynb
@@ -0,0 +1,375 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1a88ac8a4ae99a352f7f49d975099441ec02a55d62cfaa2e8c07de364172180d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11:Stability of Equilibrium: columns "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2 page number 589"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "h = 60 #mm - the length of the crossection \n",
+ "b = 100 #mm - the width of hte crossection \n",
+ "E = 200 #Gpa - The youngs modulus\n",
+ "stress_cr = 250 #Mpa - The proportionality limit\n",
+ "#Caliculations \n",
+ "\n",
+ "I = b*(h**3)/12 #mm3 The momentof inertia of the crossection\n",
+ "A = h*b #mm2 - The area of teh crossection \n",
+ "#From Eulier formula\n",
+ "r_min = pow((I/A),0.5) #mm - The radius of the gyration \n",
+ "#(l/r)**2= (pi**2)*E/stress_cr #From Eulier formula\n",
+ "l = (((math.pi**2)*E*(10**3)/stress_cr)**0.5)*r_min #mm - the length after which the beam starts buckling\n",
+ "print \"The length after which the beam starts buckling is \",round(l,0),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The length after which the beam starts buckling is 1539.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.6 page number 613"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "L = 15 #ft - The length of the each rod\n",
+ "A = 46.7 #in2 - The length of the crossection \n",
+ "r_min = 4 #in - The radius of gyration\n",
+ "stress_yp = 36 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "C_c = ((2*(math.pi**2)*E/stress_yp)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation \n",
+ "#According to AISC formulas \n",
+ "if C_s <C_c :\n",
+ " print \"a)The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_S = 5.0/3 +3*C_s/(8*C_c) -(3*C_s**3)/(8*C_c**3) #Safety factor \n",
+ "Stress_all = (1 - (C_s**2)/(2*C_c**2))*stress_yp/F_S #The allowable strees \n",
+ "print \"a) The allowable stress in this case is\",round(Stress_all,2),\"Kips\" \n",
+ "#Part - B\n",
+ "#Given\n",
+ "L = 40 #ft - The length of the each rod\n",
+ "A = 46.7 #in2 - The length of the crossection \n",
+ "r_min = 4 #in - The radius of gyration\n",
+ "stress_yp = 36 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "C_c = ((2*(math.pi**2)*E/stress_yp)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation \n",
+ "#According to AISC formulas \n",
+ "if C_s <C_c :\n",
+ " print \"b) The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_S = 5.0/3 +3*C_s/(8*C_c) -(3*C_s**3)/(8*C_c**3) #Safety factor \n",
+ "Stress_all = (1 - (C_s**2)/(2*C_c**2))*stress_yp/F_S #The allowable strees \n",
+ "print \"b) The allowable stress in this case is\",round(Stress_all,2),\"Kips\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)The following approch is solvable\n",
+ "a) The allowable stress in this case is 18.9 Kips\n",
+ "b) The following approch is solvable\n",
+ "b) The allowable stress in this case is 11.59 Kips\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.7 page number 614"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "L = 15 #ft - The length of the each rod \n",
+ "p = 200 #Kips The concentric load applied \n",
+ "r_min = 2.10 #in - The radius of gyration\n",
+ "stress_yp = 50 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "C_c = ((2*(math.pi**2)*E/stress_yp)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min #Slenderness ratio L/R present situation\n",
+ "if C_s <C_c :\n",
+ " print \"a)The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_S = 5.0/3 +3*C_s/(8*C_c) -(3*C_s**3)/(8*C_c**3) #Safety factor \n",
+ "Stress_all = (1 - (C_s**2)/(2*C_c**2))*stress_yp/F_S #The allowable strees\n",
+ "a = p/Stress_all #in2 the alloawble area of the beam \n",
+ "print \"The allowable stress in this case is\",round(Stress_all,2),\"Kips\"\n",
+ "print \"This stress requires \",round(a,2),\"in2\"\n",
+ "if a <11.5:\n",
+ " print \"This case is satisfying W8x24 section\" #From AISC Manual \n",
+ "else:\n",
+ " print \"This case is not satisfying W8x24 section\"\n",
+ " #The ans are quiet varying because of rounding\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)The following approch is solvable\n",
+ "The allowable stress in this case is 19.14 Kips\n",
+ "This stress requires 10.45 in2\n",
+ "This case is satisfying W8x24 section\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.8 pagenumber 614 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "L = 15.0 #ft - The length of the each rod\n",
+ "A = 46.7 #in2 - The length of the crossection \n",
+ "r_min = 4 #in - The radius of gyration\n",
+ "stress_yp = 36.0 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "lamda = L*12*((stress_yp/E)**0.5)/(4*(math.pi)) #column slenderness ratio\n",
+ "if lamda<1.5:\n",
+ " print \"The following approach is right\"\n",
+ "else:\n",
+ " print \"The following approach is wrong\"\n",
+ "stress_cr = (0.658**(lamda**2))*stress_yp #Ksi - The critical stress \n",
+ "P_n = stress_cr*A #Kips #Nominal compressive strength \n",
+ "o = 0.85 #Resistance factor\n",
+ "p_u = o*P_n #Kips ,column design compressive strength \n",
+ "print \"column design compressive strength \",p_u,\"Kips\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The following approach is right\n",
+ "column design compressive strength 1284.51846781 Kips\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.9 page number 615"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#FOR FLANGS\n",
+ "l = 5 #in - The length of the flang\n",
+ "b = 5 #in - Teh width of the flang\n",
+ "t = 0.312 #in - the thickness of the flang\n",
+ "L = 20 #in - Length of the beam, Extracted from AISC manuals\n",
+ "A = 4.563 #in2 - The area of crossection of the beam\n",
+ "r = 1.188 #in - radius of the gyration, Extracted from AISC manuals \n",
+ "#b/t- value of the flang \n",
+ "k = (5 -t)/(2*t) #b/t ratio \n",
+ "#AISC, lets check maximum allowable stress for slang\n",
+ "Stressf_all = 23.1 - 0.79*k #ksi The maximum allowable stress in case of flang,AISC\n",
+ "\n",
+ "#web width thickness ratio\n",
+ "k_2 = (5 -2*t)/(t)\n",
+ "if k_2<16:\n",
+ " Stressw_all = 19 #ksi - The allowable stress in case of web width\n",
+ " \n",
+ "#a) Overall buckling investment \n",
+ "k_3 = L/r #slenderness ratio\n",
+ "Stressb_all = 20.2 - 0.216*k_3#ksi The maximum allowable stress in case of Buckling,AISC\n",
+ "p_allow = A*Stressb_all #Kips The allowable concentric load \n",
+ "\n",
+ "#b) Overall buckling investment\n",
+ "L_2 = 60 #in \n",
+ "k_3 = L_2/r #slenderness ratio\n",
+ "Stressb_all_2 = 20.2 - 0.126*k_3#ksi The maximum allowable stress in case of Buckling,AISC\n",
+ "p_allow_2 = A*Stressb_all_2 #Kips The allowable concentric load \n",
+ "\n",
+ "print \"The maximum allowable stress in case of web width\",round(Stressw_all,2),\"Ksi\"\n",
+ "print \"The maximum allowable stress in case of flang\",round(Stressf_all,2),\"Ksi\"\n",
+ "print \"a) The maximum allowable load in case of Buckling\",round(p_allow,2),\"Kips\"\n",
+ "print \"b) The maximum allowable load in case of Buckling\",round(p_allow_2,2),\"Kips\"\n",
+ "\n",
+ "\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable stress in case of web width 19.0 Ksi\n",
+ "The maximum allowable stress in case of flang 17.16 Ksi\n",
+ "a) The maximum allowable load in case of Buckling 75.58 Kips\n",
+ "b) The maximum allowable load in case of Buckling 63.14 Kips\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.11 page number 620 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "P = 200.0 #K The force on the beam \n",
+ "L = 15 #ft - The length of the rod\n",
+ "F_y = 50.0 #Ksi \n",
+ "F_a = F_y/(5.0/3) #Ksi -AISC MANUAL ,allowable axial stress if axial force is alone\n",
+ "F_b = F_a #Allowable compressive bending stress\n",
+ "M_1 = 600.0 #k-in - The moment acting on the ends of the rod\n",
+ "M_2 = 800.0 #k-in - the moment acting on the other end of teh rod\n",
+ "B_x = 0.264 #in - Extracted from AISC manual \n",
+ "A = P/F_a + M_2*B_x/F_b #in2- The minimum area \n",
+ "print \"The minimum area is \",round(A,2),\"in2\"\n",
+ "#we will select W10x49 section \n",
+ "A_s = 14.4 #in2 - The area of the section \n",
+ "r_min = 2.54 #in The minimum radius \n",
+ "r_x = 4.35 #in \n",
+ "f_a = P/A_s #Ksi- The computed axial stress\n",
+ "f_b = M_2*B_x/A_s #Computed bending stess\n",
+ "C_c = ((2*(math.pi**2)*E/F_y)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation\n",
+ "if C_s <C_c :\n",
+ " print \"The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_a_1 = 19.3 #Ksi - AISC lets try this\n",
+ "c_m = 0.6 - 0.4*(-M_1/M_2) \n",
+ "F_e = (12*(math.pi**2)*E)/(23*(L*12/r_x)**2) \n",
+ "k = f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b #Condition mentioned in AISC\n",
+ "if k>1:\n",
+ " print \"The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,3),\">1\"\n",
+ "else:\n",
+ " print \"The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",k,\"<1\"\n",
+ " \n",
+ "#trail - 2\n",
+ "#Lets take W10 x 60\n",
+ "A_s = 17.6 #in2 - The area of the section \n",
+ "r_min = 2.57 #in The minimum radius \n",
+ "r_x = 4.39 #in \n",
+ "f_a = P/A_s #Ksi- The computed axial stress\n",
+ "f_b = M_2*B_x/A_s #Computed bending stess\n",
+ "C_c = ((2*(math.pi**2)*E/F_y)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation\n",
+ "if C_s <C_c :\n",
+ " print \"The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_a_1 = 19.3 #Ksi - AISC lets try this\n",
+ "c_m = 0.6 - 0.4*(-M_1/M_2) \n",
+ "F_e = (12*(math.pi**2)*E)/(23*(L*12/r_x)**2) \n",
+ "k = f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b #Condition mentioned in AISC\n",
+ "if k>1:\n",
+ " print \"The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,3),\">1\"\n",
+ "else:\n",
+ " print \"The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,2),\"<1\"\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum area is 13.71 in2\n",
+ "The following approch is solvable\n",
+ "The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b 1.09 >1\n",
+ "The following approch is solvable\n",
+ "The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b 0.9 <1\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_1.ipynb
new file mode 100644
index 00000000..13fb52c7
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_1.ipynb
@@ -0,0 +1,405 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:aaf5a5f62a391d916c40aa2d720de6a3e7681d1c9c64ec2fdbeff148819b3c75"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Chapter 12:Energy and Virtual-work Methods"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1 page number 645 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading\n",
+ "F_ab = 2500 #lb\n",
+ "F_bc = -2500 #lb\n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "#Part_a\n",
+ "e_a =p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E) #in the deflection\n",
+ "if e_a<0:\n",
+ " print \"a) The deflection is downwards\",round(-e_a,3),\"in\"\n",
+ "else:\n",
+ " print \"a) The deflection is upwards\",round(e_a,3),\"in\"\n",
+ "#part-b\n",
+ "x = 0.125 #Shortening of member Ab\n",
+ "e_b = p_ab*(-x) + p_bc*0 #in - in\n",
+ "if e_b<0:\n",
+ " print \"b) The deflection is downwards\",round(-e_b,3),\"in\"\n",
+ "else:\n",
+ " print \"b) The deflection is upwards\",round(e_b,3),\"in\"\n",
+ "#Part-c\n",
+ "S = 6.5*(10**-6) #Thermal specific heat\n",
+ "T = 120 #F - The cahnge in temperature\n",
+ "e_t = -S*T*l_ab #in - The change in length of member\n",
+ "e_c = p_bc*e_t #in the deflection\n",
+ "if e_c<0:\n",
+ " print \"c) The deflection is downwards\",round(-e_c,3),\"in\"\n",
+ "else:\n",
+ " print \"c) The deflection is upwards\",round(e_c,3),\"in\"\n",
+ "\n",
+ "\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The deflection is downwards 0.044 in\n",
+ "b) The deflection is upwards 0.104 in\n",
+ "c) The deflection is downwards 0.039 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 page number 648"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading\n",
+ "#Two parts \n",
+ "#Part -1 \n",
+ "p_ab = 5 #KN The recorded virtual loading\n",
+ "p_bc = -4 #KN The recorded virtual loading\n",
+ "F_ab = 10 #KN\n",
+ "F_bc = -8 #KN\n",
+ "l_ab = 2.5 #mt - The length of the rod\n",
+ "l_bc = 2 #mt - The length of the rod\n",
+ "A_ab = 5*(10**-4) #mt2 the areaof ab\n",
+ "A_bc = 5*(10**-3) #mt2 the areaof bc\n",
+ "E = 70 #Gpa The youngs modulus of the material\n",
+ "e_a =(p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E))*(10**-6) #KN-m\n",
+ "#Part -2 due to flexure\n",
+ "I = 60*10**6 #mm4 - the moment of inertia \n",
+ "#After solving the integration \n",
+ "e_b = 0.01525 #KN-m\n",
+ "#Total\n",
+ "e = (e_a+e_b)*1 #m\n",
+ "print \"The point C deflects\",round(e,3),\"mt down\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The point C deflects 0.019 mt\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5 page number 651"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading Without f_d\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading\n",
+ "F_ab = 2500 #lb\n",
+ "F_bc = -2500 #lb\n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "#Part_a\n",
+ "e_a =p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E) #lb-in the deflection\n",
+ "#With f_d\n",
+ "p_bd = 1 #lb The recorded virtual loading \n",
+ "F_bd = 1 #lb\n",
+ "l_bd = 40 #in - The length of the rod\n",
+ "A_bd = 0.1 #in2 the areaof ab\n",
+ "e_a_1 =p_ab*p_ab*l_ab/(A_ab*E) + p_bc*p_bc*l_bc/(A_bc*E) +p_bd*p_bd*l_bd/(A_bd*E) #lb-in the deflection\n",
+ "#Since the produced defelection should compensate the other one\n",
+ "x_d = e_a/e_a_1\n",
+ "print \"The reaction force at D is\",round(-x_d,2),\"lb\"\n",
+ "\n",
+ "#Part - B\n",
+ "e_b = -x_d*l_bd/(A_bd*E ) #in - The deflection of nodal point B\n",
+ "print\"The deflection of nodal point B\",round(e_b,4),\"in\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction force at D is 1578.98 lb\n",
+ "The deflection of nodal point B 0.0211 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6 page number 655"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading \n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "K_1 = A_ab*E/l_ab #k/in - Stiffness\n",
+ "K_2 = A_bc*E/l_bc #k/in - Stiffness\n",
+ "#soving for e_1 and e_2 gives a liner euations to solve\n",
+ "# 128*e_1 + 24*e_2 = 0\n",
+ "#24*e_1 + 72*e_2 = -3\n",
+ "#Solving for e_1,e_2\n",
+ "a = np.array([[128,24], [24,72]])\n",
+ "b = np.array([0,-3])\n",
+ "x = np.linalg.solve(a, b)\n",
+ "e_1 = x[0] #in\n",
+ "e_2 = x[1] #in\n",
+ "u_1 = 0.8*e_1 - 0.6*e_2 #Taking each components\n",
+ "F_1 = K_1*u_1*(10**-3) #k The reaction at A Force = stiffness x dislacement \n",
+ "u_2 = 0.8*e_1 + 0.6*e_2 #Taking each components\n",
+ "F_2 = K_2*u_2*(10**-3) #k The reaction at B Force\n",
+ "print \"The reaction at A \",F_1,\"k\"\n",
+ "print \"The reaction at B \",F_2,\"k\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at A 2.5 k\n",
+ "The reaction at B -2.5 k\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7 page number 655"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Virtual loading\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading \n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "K_1 = A_ab*E/l_ab #k/in - Stiffness\n",
+ "K_2 = A_bc*E/l_bc #k/in - Stiffness\n",
+ "p_bd = 1 #lb The recorded virtual loading \n",
+ "F_bd = 1 #lb\n",
+ "l_bd = 40 #in - The length of the rod\n",
+ "A_bd = 0.1 #in2 the areaof ab\n",
+ "K_3 = A_ab*E/l_ab #k/in - Stiffness\n",
+ "#soving for e_1 and e_2 gives a liner euations to solve\n",
+ "# 128*e_1 + 24*e_2 = 0\n",
+ "#24*e_1 + 72*e_2 = -3\n",
+ "#Solving for e_1,e_2\n",
+ "a = np.array([[128,24], [24,147]])\n",
+ "b = np.array([0,-3])\n",
+ "x = np.linalg.solve(a, b)\n",
+ "e_1 = x[0] #in\n",
+ "e_2 = x[1] #in\n",
+ "u_1 = 0.8*e_1 - 0.6*e_2 #Taking each components\n",
+ "F_1 = K_1*u_1*(10**-3) #k The reaction at A Force = stiffness x dislacement \n",
+ "u_2 = 0.8*e_1 + 0.6*e_2 #Taking each components\n",
+ "F_2 = K_2*u_2*(10**-3) #k The reaction at B Force\n",
+ "u_3 = e_2 #Taking each components\n",
+ "F_3 = K_3*u_3*(10**-3) #k The reaction at D Force\n",
+ "print \"The reaction at A \",round(F_1,2),\"k\"\n",
+ "print \"The reaction at B \",round(F_2,2),\"k\"\n",
+ "print \"The reaction at D \",round(F_3,2),\"k\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at A 1.18 k\n",
+ "The reaction at B -1.18 k\n",
+ "The reaction at D -1.58 k\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8 page number 659"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#First we will solve part B\n",
+ "u_1 =5 #L/AE, elastic elongation\n",
+ "u_2 =25 #L/AE,elastic elongation\n",
+ "f_1 = u_1#, Units got neutralized , Constitutive relation for elastic bars\n",
+ "f_2 = u_2# Units got neutralized\n",
+ "#u_1 = 0.8*e_1 - 0.6*e_2\n",
+ "#u_2 = 0.8*e_1 + 0.6*e_2\n",
+ "#u = A*e Matric multiplication \n",
+ "A = np.array([[0.8,-0.6],[0.8,0.6]]) #The matrix form of A\n",
+ "F = np.array([[f_1],[f_2]])\n",
+ "P = np.dot((A.T),F) #Nodal forces matrix\n",
+ "print \"b) The vertical component of the nodal force is\",P[1],\"\"\n",
+ "print \"b) The vertical component of the nodal force is\",P[0],\"\"\n",
+ "#Part A\n",
+ "#F_1 = (5/8.0)*P_1 - (5/6.0)*p_2 , From statics\n",
+ "#F_1 = (5/8.0)*P_1 + (5/6.0)*p_2\n",
+ "#F = BP ,Matric multiplication \n",
+ "B = np.array([[(5/8.0),-(5/6.0)],[(5/8.0),(5/6.0)]]) #The matrix form of A\n",
+ "U = np.array([[u_1],[u_2]])\n",
+ "e = P = np.dot((B.T),U) #L/AE, Nodal forces matrix\n",
+ "print \"a) The components of displacement of point B are\",round(e[0],2),\"L/AE and\",round(e[1],2),\"L/AE\" \n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b) The vertical component of the nodal force is [ 12.] \n",
+ "b) The vertical component of the nodal force is [ 24.] \n",
+ "a) The components of displacement of point B are 18.75 L/AE and 16.67 L/AE\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 page number 667"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "A_1 = 0.125 #in2 , The area of the crossection of AB\n",
+ "A_2 = 0.219 #in2 , The area of the crossection of BC\n",
+ "l_1 = 3*(5**0.5) #in , The length of AB\n",
+ "l_2 = 6*(2**0.5) #in , The length of BC\n",
+ "p = 3 #k , Force acting on the system \n",
+ "E = 10.6*(10**3) #Ksi - youngs modulus of the material\n",
+ "p_1 = (5**0.5)*p/3 #P, The component of p on AB\n",
+ "p_2 = -2*(2**0.5)*p/3 #P, The component of p on AB\n",
+ "\n",
+ "e = p_1*l_1*p_1/(p*E*A_1) + p_2*l_2*p_2/(p*E*A_2) #in, By virtual deflection method \n",
+ "print \"The deflection is\",round(e,3),\"in\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The deflection is 0.018 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13.ipynb
new file mode 100644
index 00000000..eee745f5
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13.ipynb
@@ -0,0 +1,215 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:996c8013a65a6364550b3850a6d724fb8ccb944aba88d1755142b6b2b68c6a46"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13: Statically Indeterminate Problems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 page number 693"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#First we will solve without the reaction at middle\n",
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #2L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'- \n",
+ "\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y- Using end conditions for caliculating constants \n",
+ "\n",
+ "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n",
+ "#Equations \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ "Y_min = 16*min(Y)\n",
+ "print \"a) The maximum displacement in y direction is\",16*min(Y),\"W(l**4)/EI \"\n",
+ "print \"a) The maximum deflection occured at\",2*l_1[Y.index(min(Y))],\"L\"\n",
+ "f_bb = 2**3/48.0 #l**3/EI - flexibility coefficient\n",
+ "Reac = - Y_min/f_bb #WL , The reaction at the mid of the bar\n",
+ "print \"The reaction at the mid of the bar\",Reac ,\"WL\"\n",
+ "\n",
+ "#Graphs \n",
+ "Y.extend(Y) #Because of symmetry\n",
+ "import numpy as np\n",
+ "values = Y \n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,22)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "print \"b)The above graph is beam displacement graph\"\n",
+ "print \"b)The minimum occures in the middle from the above graph \"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The maximum displacement in y direction is -0.208333333333 W(l**4)/EI \n",
+ "a) The maximum deflection occured at 1.0 L\n",
+ "The reaction at the mid of the bar 1.25 WL\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fad208>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b)The above graph is beam displacement graph\n",
+ "b)The minimum occures in the middle from the above graph \n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 page number 694 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#First we will solve without the reaction at middle\n",
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #2L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'- \n",
+ "\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y- Using end conditions for caliculating constants \n",
+ "\n",
+ "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n",
+ "#Equations \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ "e_1 = 16*min(Y) #WL4/EI - The maximum defection \n",
+ "e_2 = - F_D*((2*l_ab)**3)/24.0 #WL3/EI - The maximum angle\n",
+ "#Caliculating for momentum and force\n",
+ "f_ab = ((2*l_ab)**2)/16.0 #L2/EI \n",
+ "f_bb = ((2*l_ab)**3)/48.0 #L3/EI \n",
+ "f_aa = 2*l_ab/3.0 #L/EI\n",
+ "f_ba = ((l_ab)**2)/4.0 #L2/EI\n",
+ "#F*X = e - Matrix multiplication \n",
+ "#Solving for X\n",
+ "a = np.array([[f_aa,f_ba], [f_ba,f_bb]])\n",
+ "b = np.array([e_2,e_1])\n",
+ "x = np.linalg.solve(a, b)\n",
+ "print \"The reactive moment at A i.e M_A\",x[0],\"WL**2\"\n",
+ "print \"The reactive force at A i.e R_A\",x[1],\"WL\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactive moment at A i.e M_A -0.0714285714286 WL**2\n",
+ "The reactive force at A i.e R_A -1.14285714286 WL\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_1.ipynb
new file mode 100644
index 00000000..5c92d3ed
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_1.ipynb
@@ -0,0 +1,327 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:f3ccf4fb6d13add26a342446f0908b75d3a6a82c442b340e601708c15ec3ca4f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2:Axial strains and Deformations in bars "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1 page number 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "l_ob = 2000 #mm - length of rod ob\n",
+ "l_bc = 1000 #mm - length of rod bc\n",
+ "l_cd = 1500 #mm - length of rod cd\n",
+ "p_ob = 100 #kN - Force in rods \n",
+ "p_bc = -150 #KN\n",
+ "p_cd = 50 #KN \n",
+ "A_ob = 1000 #mm2 - Area of rod ob\n",
+ "A_bc = 2000 #mm2 - Area of rod bc \n",
+ "A_cd = 1000 #mm2 - Area of rod cd\n",
+ "E = 200.0 #GPA \n",
+ "# the total deflection is algebraic sums of `deflection in each module \n",
+ "e_1 = p_ob*l_ob/(A_ob*E)\n",
+ "e_2 = p_bc*l_bc/(A_bc*E)\n",
+ "e_3 = p_cd*l_cd/(A_cd*E)\n",
+ "#All units are satisfied \n",
+ "e_total = e_1+ e_2 + e_3\n",
+ "print \"The total deflection is :\",round(e_total,3) ,\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total deflection is : 1.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 77
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4 page number 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "p_app = 3 #Kips - applied force \n",
+ "P_A = 2.23 #Kips \n",
+ "p_B = -2.83 #kips - compressive force\n",
+ "l_ab = 6.71 #inch\n",
+ "l_bc = 8.29 #inch\n",
+ "s_ab = 17.8 #ksi - tensile stress\n",
+ "s_bc = -12.9 #ksi - compressive stress\n",
+ "E = 10.6 * pow(10,3) #ksi -youngs modulus \n",
+ "e_ab = s_ab*l_ab/E\n",
+ "\n",
+ "e_bc = s_bc*l_bc/E\n",
+ "x = e_ab/e_bc #the Ratio of cosines of the deflected angles \n",
+ "# t_1 and t_2 be deflected angles \n",
+ "#t_2 = 180-45-26.6-t_1 the sum of angles is 360\n",
+ "#t_1 = 52.2 degress\n",
+ "import math\n",
+ "e = e_ab/math.acos(math.radians(52.2)) #inch\n",
+ "k = p_app/e # kips/in vertical stiffness of the combination\n",
+ "print \"The vertical stiffness of the combination is\",round(k,3),\"kips/inch\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "0.0112677358491\n",
+ "The vertical stiffness of the combination is 113.14 kips/inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6 page number 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "dia = 50 #mm - diameter of aluminium \n",
+ "p = 100 # KN - instant force applid\n",
+ "dia_c = 0.1215 #mm- change in diameter \n",
+ "l_c = 0.219 #mm - change in length\n",
+ "l = 300 #mm - length \n",
+ "strain_dia = dia_c/dia # lateral strain \n",
+ "strain_l = l_c/l #longitudinal strain \n",
+ "po = strain_dia/strain_l # poission ratio \n",
+ "area = 3.14*dia*dia/4 #mm2 area\n",
+ "E = p*l/(area*l_c) #N/mm2 youngs modulus \n",
+ "print \"The lateral strain is:\",strain_dia,\"no units\"\n",
+ "print \"The longitudinal strain is:\",strain_l,\"no units\"\n",
+ "print \"The poissions ratio is:\",po,\"no units\"\n",
+ "print \"Youngs modulus:\",round(E,2),\"N/mm2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lateral strain is: 0.00243 no units\n",
+ "The longitudinal strain is: 0.00073 no units\n",
+ "The poissions ratio is: 3.32876712329 no units\n",
+ "Youngs modulus: 69.8 N/mm2\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7 page number 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "T = 12.9*pow(10,-6) #/F\n",
+ "t = 100.00 # F \n",
+ "e_ab = T*t*l_ab #in-elongation \n",
+ "e_bc = T*t*l_bc #in-elongation\n",
+ "k = e_ab/e_bc # ratio of cosines of deflected angles \n",
+ "# t_1 and t_2 be deflected angles \n",
+ "#t_2 = 180-45-26.6-t_1 the sum of angles is 360\n",
+ "t_1 = 26.6\n",
+ "import math\n",
+ "e = e_ab/math.acos(math.radians(26.6))\n",
+ "print \"The displacement in point B is :\",e ,\"in\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement in point B is : 0.00795578950395 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.11 page number "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mass = 4 #kg \n",
+ "dist = 1 #mt freely falling distance\n",
+ "l = 1500 #mm length of rod\n",
+ "d = 15 #mm diameter\n",
+ "E = 200 #GPA youngs modulus \n",
+ "k = 4.5 # N/mm stiffness costant\n",
+ "F = mass*9.81# The force applying\n",
+ "Area = 3.14*(d**2)/4 \n",
+ "# Two cases \n",
+ "#youngs modulus \n",
+ "e_y = F*l/(Area*E*pow(10,3))\n",
+ "# stiffness\n",
+ "e_f = F/k \n",
+ "#total\n",
+ "e = e_y +e_f\n",
+ "k = 1+(2/(e*pow(10,-3)))\n",
+ "stress_max_1 = F*(1+pow(k,0.5))/Area\n",
+ "print \"The maximum stress is:\",stress_max_1,\"Mpa\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress is: 3.59377281766 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.12 page number 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "flex_a = 1#f\n",
+ "flex_b = 2#f\n",
+ "#removing lower support and solving FBD\n",
+ "e = -2 -(2+1)#fp\n",
+ "#e_1 = (2+1+1)*R\n",
+ "#e_1 = -e Making the elongations zero since the both ends are fixed\n",
+ "R = e/(2+1+1.0) #p\n",
+ "print \"The reactions at bottom is\",R,\"p\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactions at bottom is -1.25 p\n"
+ ]
+ }
+ ],
+ "prompt_number": 75
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.19 page number 113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 30 #in - The length of the rod\n",
+ "p_1 = 80 #kips - The Force on the end\n",
+ "p_2 = 125 #kips - The force on the other end\n",
+ "A_s = 0.5 #in2 - The crossection of the steel rod\n",
+ "A_a = 0.5 #in2 - The crossection of the aluminium \n",
+ "E_a = 10*(10**6) #psi - The youngs modulus of the aluminium \n",
+ "E_s = 30*(10**6) #psi - The youngs modulus of the steel\n",
+ "#Internally stastically indeterminant \n",
+ "p_a = p_1/4 #From solving we get p_s = 3*P_a\n",
+ "#From material properties point of view \n",
+ "#stress_steel = stress_aluminium\n",
+ "e = p_a*l*(10**3)/(A_a*E_a) #The end deflection \n",
+ "print \"The end deflection is\",e,\"in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The end deflection is 0.12 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_1.ipynb
new file mode 100644
index 00000000..cf156252
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_1.ipynb
@@ -0,0 +1,447 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9aca5229d39ed9fee3ce40f1f1dab6ba8b884ebc52bfe9bb1467df97ee1f15bb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4:Torsion"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2 page number 183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "dia = 10 #diameter of shaft(A-C)\n",
+ "c = dia/2 #mm - Radius\n",
+ "T = 30 #N/mm -Torque in the shaft \n",
+ "#Caliculations\n",
+ "\n",
+ "J = 3.14*(dia**4)/32 #mm4\n",
+ "shear_T = T*c*pow(10,3)/J # The torsion shear in the shaft AC\n",
+ "import numpy as np \n",
+ "print \"The maximum shear due to torsion is \",round(shear_T,2),\"Mpa\"\n",
+ "arr_T = np.zeros((3,3))\n",
+ "arr_T[0][1]=round(shear_T,1) #arranging the elements in array\n",
+ "arr_T[1][0]=round(shear_T,1)\n",
+ "print \"stress tensor matrix\",ceil(arr_T),\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum shear due to torsion is 152.87 Mpa\n",
+ "stress tensor matrix [[ 0. 153. 0.]\n",
+ " [ 153. 0. 0.]\n",
+ " [ 0. 0. 0.]]\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3 page number 184"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "dia_out = 20 #mm- outer diameter of shaft\n",
+ "dia_in = 16 #mm- inner diameter of shaft \n",
+ "c_out = dia_out/2 #mm - outer Radius of shaft \n",
+ "c_in = dia_in/2 #mm - inner radius of shaft \n",
+ "T = 40 #N/mm -Torque in the shaft \n",
+ "#caliculations\n",
+ "\n",
+ "J = 3.14*((dia_out**4)- (dia_in**4))/32 #mm4\n",
+ "shear_T_max = T*c_out*pow(10,3)/J # The maximum torsion shear in the shaft\n",
+ "shear_T_min = T*c_in*pow(10,3)/J # The maximum torsion shear in the shaft\n",
+ "print \"The maximum shear due to torsion is \",round(shear_T_max,2),\"Mpa\"\n",
+ "print \"The minimum shear due to torsion is \",round(shear_T_min,2),\"Mpa\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum shear due to torsion is 43.15 Mpa\n",
+ "The minimum shear due to torsion is 34.52 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4 page number 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "hp = 10 # horse power of motor \n",
+ "f = 30 # given \n",
+ "shear_T = 55 #Mpa - The maximum shearing in the shaft \n",
+ "#caliculations\n",
+ "\n",
+ "T = 119*hp/f # N.m The torsion in the shaft \n",
+ "#j/c=T/shear_T=K\n",
+ "k = T*pow(10,3)/shear_T #mm3\n",
+ "#c3=2K/3.14\n",
+ "c = pow((2*k/3),0.33) #mm - The radius of the shaft \n",
+ "diamter = 2*c #mm - The diameter of the shaft\n",
+ "print \"The Diameter of the shaft used is\",round(diamter,2),\"mm\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Diameter of the shaft used is 15.26 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5 page number 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "hp = 200 #Horse power\n",
+ "stress_sh = 10000 #psi- shear stress\n",
+ "rpm_1 = 20.0 # The rpm at which this shaft1 operates \n",
+ "rpm_2 = 20000.0 # The rpm at which this shaft2 operates\n",
+ "T_1= hp*63000.0/rpm_1 #in-lb Torsion due to rpm1\n",
+ "T_2= hp*63000/rpm_2 #in-lb Torsion due to rpm1\n",
+ "#caliculations \n",
+ "\n",
+ "#j/c=T/shear_T=K\n",
+ "k_1= T_1/stress_sh #mm3\n",
+ "#c3=2K/3.14\n",
+ "c_1= pow((2*k_1/3),0.33) #mm - The radius of the shaft \n",
+ "diamter_1 = 2*c_1 #mm - The diameter of the shaft\n",
+ "print \"The Diameter of the shaft1 is\",round(diamter_1,2),\"mm\"\n",
+ "\n",
+ "#j/c=T/shear_T=K\n",
+ "k_2= T_2/stress_sh #mm3\n",
+ "#c3=2K/3.14\n",
+ "c_2= pow((2*k_2/3),0.33) #mm - The radius of the shaft \n",
+ "diamter_2 = 2*c_2 #mm - The diameter of the shaft\n",
+ "print \"The Diameter of the shaft2 is\",diamter_2,\"mm\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Diameter of the shaft1 is 6.87 mm\n",
+ "The Diameter of the shaft2 is 0.702590481015 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7 page number 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "T_ab = 0 #N.m - torsion in AB \n",
+ "T_bc = 150 #N.m - torsion in BC\n",
+ "T_cd = 150 #N.m - torsion in CD\n",
+ "T_de = 1150 #N.m - torsion in DE\n",
+ "l_ab = 250 #mm - length of AB\n",
+ "l_bc = 200 #mm - length of BC\n",
+ "l_cd = 300 #mm - length of cd \n",
+ "l_de = 500.0 #mm - length of de\n",
+ "d_1 = 25 #mm - outer diameter \n",
+ "d_2 = 50 #mm - inner diameter\n",
+ "G = 80 #Gpa -shear modulus\n",
+ "#Caliculations \n",
+ "\n",
+ "J_ab = 3.14*(d_1**4)/32 #mm4\n",
+ "J_bc = 3.14*(d_1**4)/32 #mm4\n",
+ "J_cd = 3.14*(d_2**4 - d_1**4)/32 #mm4\n",
+ "J_de = 3.14*(d_2**4 - d_1**4)/32 #mm4\n",
+ "rad = T_ab*l_ab/(J_ab*G)+ T_bc*l_bc/(J_bc*G)+ T_cd*l_cd/(J_cd*G)+ T_de*l_de/(J_de*G) # adding the maximum radians roteted in each module\n",
+ "print \"The maximum angle rotated is \",rad,\"radians \" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum angle rotated is 0.0232628450106 radians \n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 Pagenumber 196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given \n",
+ "#its a statistally indeterminant \n",
+ "#we will take of one of the support \n",
+ "#Given \n",
+ "T_ab = 0 #N.m - torsion in AB \n",
+ "T_bc = 150 #N.m - torsion in BC\n",
+ "T_cd = 150 #N.m - torsion in CD\n",
+ "T_de = 1150 #N.m - torsion in DE\n",
+ "l_ab = 250 #mm - length of AB\n",
+ "l_bc = 200 #mm - length of BC\n",
+ "l_cd = 300 #mm - length of cd \n",
+ "l_de = 500.0#mm - length of de\n",
+ "d_1 = 25 #mm - outer diameter \n",
+ "d_2 = 50 #mm - inner diameter\n",
+ "#Caliculations \n",
+ "\n",
+ "J_ab = 3.14*(d_1**4)/32 #mm4\n",
+ "J_bc = 3.14*(d_1**4)/32 #mm4\n",
+ "J_cd = 3.14*(d_2**4 - d_1**4)/32 #mm4\n",
+ "J_de = 3.14*(d_2**4 - d_1**4)/32 #mm4\n",
+ "G = 80 #Gpa -shear modulus\n",
+ "rad = T_ab*l_ab/(J_ab*G)+ T_bc*l_bc/(J_bc*G)+ T_cd*l_cd/(J_cd*G)+ T_de*l_de/(J_de*G) \n",
+ "#now lets consider T_A then the torsion is only T_A\n",
+ "# T_A*(l_ab/(J_ab*G)+ l_bc/(J_bc*G)+ l_cd/(J_cd*G)+ l_de/(J_de*G)) +rad = 0\n",
+ "# since there will be no displacement \n",
+ "T_A =-rad/(l_ab/(J_ab*G)+ l_bc/(J_bc*G)+ l_cd/(J_cd*G)+ l_de/(J_de*G)) #Torsion at A\n",
+ "T_B = 1150 - T_A #n-m F_X = 0 torsion at B\n",
+ "print \"The Torsion at rigid end A is\",round(T_A,2),\"N-m\"\n",
+ "print \"The Torsion at rigid end B is\",round(T_B,2),\"N-m\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Torsion at rigid end A is -141.72 N-m\n",
+ "The Torsion at rigid end B is 1291.72 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.12 Pagenumber 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "dai_bc = 240 #mm- daimeter of '8'bolt circle \n",
+ "dia = dai_bc/8 #Diameter of each bolt\n",
+ "A = 0.25*(dia**2)*3.14 # Area of a bolt\n",
+ "S_allow = 40 #Mpa - The maximum allowable allowable shear stress \n",
+ "P_max = (S_allow)*A #N - The maximum allowable force \n",
+ "D = 120.0 #mm - the distance from central axis \n",
+ "T_allow =P_max*D*8 #N-m The allowable torsion on the 8 bolt combination \n",
+ "print \"The allowable torsion on the 8 bolt combination\",T_allow ,\"N-m\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The allowable torsion on the 8 bolt combination 27129600.0 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.15 page number 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#AISC MANUALS\n",
+ "#approximated by three narrow tubes \n",
+ "#J = Bbt^3\n",
+ "B = 0.33 # constant mentiones in AISC\n",
+ "#three rods \n",
+ "\n",
+ "#rod_1\n",
+ "t_1 = 0.605 #inch - Thickness \n",
+ "b = 12.0 #inches - width \n",
+ "J_1 = B*b*(t_1**3) #in4 - Torsion constant \n",
+ "\n",
+ "#rod_2\n",
+ "t_2 = 0.605 #inch - Thickness \n",
+ "b = 12 #inches - width \n",
+ "J_2 = B*b*(t_2**3) #in4 - Torsion constant \n",
+ "\n",
+ "#rod_3\n",
+ "t_3 = 0.390 #inch - Thickness \n",
+ "b = 10.91 #inches - width \n",
+ "J_3 = B*b*(t_3**3) #in4 - Torsion constant \n",
+ "\n",
+ "#Equivalent\n",
+ "J_eq = J_1+J_2+J_3 #in4 - Torsion constant \n",
+ "print \"the Equivalent Torsion constant is \",round(J_eq,2), \"in4\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the Equivalent Torsion constant is 1.97 in4\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.16 page number 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "dia_out = 10 #mm- outer diameter of shaft\n",
+ "dia_in = 8 #mm- inner diameter of shaft \n",
+ "c_out = dia_out/2 #mm - outer Radius of shaft \n",
+ "c_in = dia_in/2 #mm - inner radius of shaft \n",
+ "T = 40 #N/mm -Torque in the shaft \n",
+ "#caliculations\n",
+ "\n",
+ "J = 3.14*((dia_out**4)- (dia_in**4))/32 #mm4\n",
+ "shear_T_max = T*c_out*pow(10,3)/J # The maximum torsion shear in the shaft\n",
+ "shear_T_min = T*c_in*pow(10,3)/J # The maximum torsion shear in the shaft\n",
+ "print \"The maximum shear due to torsion is \",round(shear_T_max,2),\"Mpa\"\n",
+ "print \"The minimum shear due to torsion is \",round(shear_T_min,2),\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum shear due to torsion is 345.23 Mpa\n",
+ "The minimum shear due to torsion is 276.18 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_1.ipynb
new file mode 100644
index 00000000..089d0b85
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_1.ipynb
@@ -0,0 +1,870 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:71148b069e338fd0ffabcfe7f6bd37d7ab47477a297f58633926ede4f66ab53c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Chapter 5:Axial force, Shear and Bending moment "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example5.2 pagenumber 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "L_ab = 0.4 #mt The total length of the rod\n",
+ "M = 200 #N_m - the moment acting on rod\n",
+ "l_1 = 0.1 #mt -moment acting point the distance from 'a'\n",
+ "R_1 = 100 #N - The Force acting \n",
+ "l_2 = 0.2 #mt -R_1 acting point the distance from 'a'\n",
+ "R_2 = 160 #N The Force acting \n",
+ "l_3 = 0.3 #mt -R_2 acting point the distance from 'a'\n",
+ "#caliculations\n",
+ "\n",
+ "#F_X = 0 forces in x directions \n",
+ "R_A_X = 0 # since there are no forces in X-direction \n",
+ "R_B_X = 0\n",
+ "#M_A = 0 momentum at point a is zero\n",
+ "\n",
+ "# M + R_1*l_2 + R_2*l_3 = R_B*L_ab *the moment for a force is FxL\n",
+ "R_B_Y = (M + R_1*l_2 + R_2*l_3)/L_ab\n",
+ "\n",
+ "#M_B= 0 momentum at point b is zero\n",
+ "# R_A_Y*L_ab + M - R_1*l_2 - R_2*0.1 = 0\n",
+ "\n",
+ "R_A_Y = -(M - R_1*l_2 - R_2*0.1)/L_ab\n",
+ " \n",
+ "print \"The X,Y components of reaction force at A is \",R_A_X,\",\",R_A_Y,\"N\"\n",
+ "print \"The X,Y components of reaction force at B is \",R_B_X,\",\",R_B_Y,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The X,Y components of reaction force at A is 0 , -410.0 N\n",
+ "The X,Y components of reaction force at B is 0 , 670.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2 page number 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "P_Max = 10 #N - the maximum distribution in a triangular distribution\n",
+ "L = 3 #mt the total length of force distribution \n",
+ "L_X = 5 #mt - the horizantal length of the rod\n",
+ "#caliculations \n",
+ "\n",
+ "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n",
+ "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n",
+ "#F_X = 0 forces in x directions\n",
+ "R_A_X = 0 # since there are no forces in X-direction\n",
+ "R_B_X = 0\n",
+ "#M_A = 0 momentum at point a is zero\n",
+ "#F_y*L_com - R_B_Y*L_X = 0\n",
+ "R_B_Y = F_y*L_com/L_X\n",
+ "\n",
+ "#M_B= 0 momentum at point b is zero\n",
+ "#- R_A_Y*L_X = F_y*(L_X-L )\n",
+ "\n",
+ "R_A_Y = - F_y*L/L_X \n",
+ "print \"The X,Y components of reaction force at A is \",R_A_X,\",\",R_A_Y,\"N\"\n",
+ "print \"The X,Y components of reaction force at B is \",R_B_X,\",\",R_B_Y,\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The X,Y components of reaction force at A is 0 , -9.0 N\n",
+ "The X,Y components of reaction force at B is 0 , 6.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Example 5.3 page number 233\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given\n",
+ "F = 5 #K - force acting on the system\n",
+ "tan = (4/3) # the Tan of the angle of force with x axis\n",
+ "l_ab = 12 #inch - the total length of ab \n",
+ "l = 3 # inch - Distance from 'a'\n",
+ "#caliculation\n",
+ "F_X = 4 #K\n",
+ "F_Y = 3 #k\n",
+ "\n",
+ "#M_A = 0 momentum at point a is zero\n",
+ "# F_X*l- R_B_Y*l_ab = 0 \n",
+ "R_B_Y = F_X*l/l_ab\n",
+ "\n",
+ "#M_B= 0 momentum at point b is zero\n",
+ "# R_A_Y*l_ab - F_X*(l_ab - l)\n",
+ "R_A_Y = F_X*(l_ab - l)/l_ab\n",
+ " \n",
+ "#F_X = 0 forces in x directions\n",
+ "R_A_X = F_Y + R_B_Y \n",
+ "R_B_X = R_B_Y # since the angle is 45 degrees\n",
+ "\n",
+ "#resultants \n",
+ "R_A = pow(R_A_X**2 + R_A_Y**2,0.5)\n",
+ "R_B = pow(R_B_X**2 + R_B_Y**2,0.5)\n",
+ "\n",
+ "print \"The X,Y components and resultant of reaction force at A is \",R_A_X,\",\",R_A_Y,\",\",R_A,\"N\"\n",
+ "print \"The X,Y components and resultant of reaction force at B is \",R_B_X,\",\",R_B_Y,\",\",round(R_B,2),\"N\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The X,Y components and resultant of reaction force at A is 4 , 3 , 5.0 N\n",
+ "The X,Y components and resultant of reaction force at B is 1 , 1 , 1.41 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4 page number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "P_Max = 10 #N - the maximum distribution in a triangular distribution\n",
+ "L = 3 #mt the total length of force distribution \n",
+ "L_X = 5 #mt - the horizantal length of the rod\n",
+ "#caliculations \n",
+ "\n",
+ "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n",
+ "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n",
+ "#F_X = 0 forces in x directions\n",
+ "R_A_X = 0 # since there are no forces in X-direction\n",
+ "R_B_X = 0\n",
+ "#M_A = 0 momentum at point a is zero\n",
+ "#F_y*L_com - R_B_Y*L_X = 0\n",
+ "R_B_Y = F_y*L_com/L_X\n",
+ "\n",
+ "#M_B= 0 momentum at point b is zero\n",
+ "#- R_A_Y*L_X = F_y*(L_X-L )\n",
+ "\n",
+ "R_A_Y = - F_y*L/L_X\n",
+ "\n",
+ "#For a---a section \n",
+ "l_a = 2 #mt - a---a section from a \n",
+ "l_com_a = 2*l_a/3\n",
+ "v_a = R_A_Y + 0.5*l_a*(10.0*2/3) #*(10*2/3) because the maximum moves\n",
+ "\n",
+ "M_a = (10.0*0.66)*l_a*(0.33) + R_A_Y*l_a \n",
+ "\n",
+ "#For b---b section \n",
+ "\n",
+ "v_b = F_y + R_A_Y #equilabrium conditions\n",
+ "M_b = (F_Y + R_A_Y)*(-1)\n",
+ "\n",
+ "print \"The force and moment in section a--a are\",round(v_a,2),\"KN ,\",M_a,\"KN-m\"\n",
+ "print \"The force and moment in section b--b are\",v_b,\"KN ,\",M_b,\"KN-m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force and moment in section a--a are -2.33 KN , -13.644 KN-m\n",
+ "The force and moment in section b--b are 6.0 KN , 6.0 KN-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5 page number 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#Lets divide the section into two sections \n",
+ "l_ac = 10 # ft -The total length of the rod\n",
+ "R = 5 #k - The applies force at c\n",
+ "tan = 4/3 # The tan of the angle of the force \n",
+ "l_ab = 5 #ft - The distance of applied force from A\n",
+ "R_y = 4 #k,downwards X- component of the force\n",
+ "R_X = 3 #k Y- component of the force , lets consider only Y direction since we are concentrating on the Shears \n",
+ "\n",
+ "#F_Y = 0 forces in Y directions\n",
+ "#R_A +R_B = R_y\n",
+ "#M_c = 0 making the moment zero at point c \n",
+ "#Caliculations \n",
+ "# R_A= R_B*(l_ac - l_ab)/(l_ab) so R_A = R_B\n",
+ "\n",
+ "R_A = R_y/2 #F_Y = 0\n",
+ "R_B = R_y/2\n",
+ "#considering section x--x\n",
+ "l_x = 2 #ft - length of section from A\n",
+ "v_x = R_A #k ,F_X = 0 \n",
+ "M_x = R_A*l_x #k-ft M_c = 0\n",
+ "\n",
+ "#considering section at midpoint t--t\n",
+ "l_t = 2 #ft - length of section from A\n",
+ "v_t = 0 #k ,F_X = 0 \n",
+ "M_t = (R_A)*l_t #k-ft M_c = 0\n",
+ "\n",
+ "##considering section y---y\n",
+ "l_y = 2 #ft - length of section from B\n",
+ "v_y = - R_B #k ,F_X = 0 \n",
+ "M_y = R_B*l_y #k-ft M_c = 0\n",
+ "\n",
+ "#Graph\n",
+ "%matplotlib inline\n",
+ "import math \n",
+ "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n",
+ "#Drawing of shear and bending moment diagram\n",
+ "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n",
+ "X = [0,2,4.9999999999999,5,5.00000000000000001,7,10] # For graph precision \n",
+ "\n",
+ "V = [R_A,v_x,v_x,v_t,v_y,v_y,-R_B];\t\t\t#Shear matrix\n",
+ "M = [0,M_x,M_t,M_t,M_t,M_y,0];\t\t\t#Bending moment matrix\n",
+ "plot(X,V);\t\t\t#Shear diagram\n",
+ "plot(X,M,'r');\t\t\t#Bending moment diagram\n",
+ "suptitle( 'Shear and bending moment diagram')\n",
+ "xlabel('X axis')\n",
+ "ylabel( 'Y axis') ;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x87a5ac8>"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6 pagenumber 243 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l = 1 #L - Length of the cantilever \n",
+ "F_app = ((2**0.5))*2 #p - force applies \n",
+ "tan = 1 # The angle of force applied\n",
+ "F_app_x = F_app/((2**0.5)) #p The horizantal component of the force , neglected \n",
+ "F_app_y = F_app/((2**0.5)) #p The Vertical component of the force \n",
+ "#F_Y = 0 \n",
+ "R_A = 1 #p\n",
+ "\n",
+ "#Considering section 1-----1\n",
+ "l_1 = 0.5 # The length of the section from one end\n",
+ "v_1 = R_A #F_Y = 0\n",
+ "M_1 = -R_A*l_1 #MAking moment at section 1 = 0\n",
+ "\n",
+ "#considering end of cantilever\n",
+ "l_2 = 1 # The length of the section from one end\n",
+ "v_2 = R_A #F_Y = 0\n",
+ "M_2 = -R_A*l_2#MAking moment at section 1 = 0\n",
+ "\n",
+ "#Graph\n",
+ "%matplotlib inline\n",
+ "import math \n",
+ "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n",
+ "#Drawing of shear and bending moment diagram\n",
+ "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n",
+ "X = [0,0.5,1] # For graph precision \n",
+ "\n",
+ "V = [R_A,v_1,v_2 ];\t\t\t#Shear matrix\n",
+ "M = [0,M_1,M_2];\t\t\t#Bending moment matrix\n",
+ "plot(X,V);\t\t\t #Shear diagram\n",
+ "plot(X,M,'r');\t\t\t #Bending moment diagram\n",
+ "suptitle( 'Shear and bending moment diagram')\n",
+ "xlabel('X axis')\n",
+ "ylabel( 'Y axis') ;\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\naEiSOvv/E00dakiohy4AAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x8154208>"
+ ]
+ }
+ ],
+ "prompt_number": 128
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7 page number 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l_ab = 3 #L - The total length lets say '3L'\n",
+ "R_1 = 1 #p - The force applied at b\n",
+ "R_2 = 1 #p - The force applied at c\n",
+ "l_ab = 1 #L\n",
+ "l_bc = 1 #L \n",
+ "\n",
+ "#Logical step \n",
+ "#Since the system is in symmetry we can avoid moment M = 0 caliculations\n",
+ "\n",
+ "#F_Y = 0 \n",
+ "R_A = (R_1 + R_2)/2\n",
+ "R_B = (R_1 + R_2)/2\n",
+ "\n",
+ "#Lets take '3' sections \n",
+ "#Considering section 1-----1 at 0.5L\n",
+ "l_1 = 0.5 #L - distance of the section from the A\n",
+ "v_1 = R_A #F_Y = 0 \n",
+ "M_1 = R_A*l_1 #MAking moment at section 1 = 0\n",
+ "\n",
+ "#Considering section 2-----2 at 1L\n",
+ "l_2 = 1 #L - distance of the section from the A\n",
+ "v_2 = R_A #F_Y = 0 \n",
+ "M_2 = R_A*l_2 #MAking moment at section 2 = 0\n",
+ "\n",
+ "#Considering section 3-----3 at 1.5L\n",
+ "l_3 = 1.5 #L - distance of the section from the A\n",
+ "v_3 = 0 #F_Y = 0 \n",
+ "M_3 = R_A*l_2 #MAking moment at section 2 = 0 and symmetry \n",
+ "\n",
+ "#GRAPH\n",
+ "#Since the symmetry exists the graphs are also symmetry\n",
+ "%matplotlib inline\n",
+ "import math \n",
+ "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n",
+ "#Drawing of shear and bending moment diagram\n",
+ "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n",
+ "X = [0,0.5,1,1.000000001,1.5,1.999999999999,2,2.5,3] # For graph precision \n",
+ "\n",
+ "V = [R_A,v_1,v_2,v_3,v_3,v_3,-v_2,-v_1,-R_B];\t\t\t#Shear matrix\n",
+ "M = [0,M_1,M_2,1,1,1,M_2,M_1,0];\t\t\t#Bending moment matrix\n",
+ "plot(X,V);\t\t\t#Shear diagram\n",
+ "plot(X,M);\t\t\t#Bending moment diagram\n",
+ "suptitle( 'Shear and bending moment diagram')\n",
+ "xlabel('X axis')\n",
+ "ylabel( 'Y axis') ;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x8154240>"
+ ]
+ }
+ ],
+ "prompt_number": 127
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8 page nmber 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l_ab = 1.0 #L - The length of the beam\n",
+ "F_D = 1.0 #W - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "\n",
+ "#considering many sections \n",
+ "\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2 #M = 0 in the section\n",
+ "print R_A\n",
+ "#Graphs\n",
+ "import numpy as np\n",
+ "values = [0.5,0,-0.5]\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,3)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "\n",
+ "import numpy as np\n",
+ "values = M_1\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "0.5\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n54oAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x87884e0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x9e8f588>"
+ ]
+ }
+ ],
+ "prompt_number": 111
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9 page number 245"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "P_Max = 10 #N - the maximum distribution in a triangular distribution\n",
+ "L = 3 #mt the total length of force distribution \n",
+ "L_X = 5 #mt - the horizantal length of the rod\n",
+ "#caliculations \n",
+ "\n",
+ "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n",
+ "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n",
+ "#F_X = 0 forces in x directions\n",
+ "R_A_X = 0 # since there are no forces in X-direction\n",
+ "R_B_X = 0\n",
+ "#M_A = 0 momentum at point a is zero\n",
+ "#F_y*L_com - R_B_Y*L_X = 0\n",
+ "R_B_Y = F_y*L_com/L_X\n",
+ "\n",
+ "#M_B= 0 momentum at point b is zero\n",
+ "#- R_A_Y*L_X = F_y*(L_X-L )\n",
+ "\n",
+ "R_A_Y = - F_y*L/L_X\n",
+ "\n",
+ "#caliculating for some random value\n",
+ "#For a---a section \n",
+ "l_a = 2 #mt - a---a section from a \n",
+ "l_com_a = 2*l_a/3\n",
+ "v_a = R_A_Y + 0.5*l_a*(10.0*2/3) #*(10*2/3) because the maximum moves\n",
+ "\n",
+ "M_a = (10.0*0.66)*l_a*(0.33) + R_A_Y*l_a\n",
+ "\n",
+ "print \"The force and moment in section a--a are\",round(v_a,2),\"KN ,\",M_a,\"KN-m\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force and moment in section a--a are -2.33 KN , -13.644 KN-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.13 page number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l_ab = 4 #L - The total length lets say '3L'\n",
+ "R_1 = 1 #p - The force applied at b\n",
+ "R_2 = 1 #p - The force applied at c\n",
+ "l_ab = 1 #L\n",
+ "l_bc = 3 #L \n",
+ "\n",
+ "#Logical step \n",
+ "#Since the system is in symmetry we can avoid moment M = 0 caliculations\n",
+ "\n",
+ "#F_Y = 0 \n",
+ "R_A = (R_1 + R_2)/2\n",
+ "R_B = (R_1 + R_2)/2\n",
+ "\n",
+ "#Lets take '3' sections \n",
+ "#Considering section 1-----1 at 0.5L\n",
+ "l_1 = 0.5 #L - distance of the section from the A\n",
+ "v_1 = R_A #F_Y = 0 \n",
+ "M_1 = R_A*l_1 #MAking moment at section 1 = 0\n",
+ "\n",
+ "#Considering section 2-----2 at 1L\n",
+ "l_2 = 1 #L - distance of the section from the A\n",
+ "v_2 = R_A #F_Y = 0 \n",
+ "M_2 = R_A*l_2 #MAking moment at section 2 = 0\n",
+ "\n",
+ "#Considering section 3-----3 at 1.5L\n",
+ "l_3 = 3 #L - distance of the section from the A\n",
+ "v_3 = 0 #F_Y = 0 \n",
+ "M_3 = R_A*l_2 #MAking moment at section 2 = 0 and symmetry \n",
+ "\n",
+ "#GRAPH\n",
+ "#Since the symmetry exists the graphs are also symmetry\n",
+ "%matplotlib inline\n",
+ "import math \n",
+ "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n",
+ "#Drawing of shear and bending moment diagram\n",
+ "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n",
+ "X = [0,0.5,1,1.0000001,2,2.9999999999,3,3.5,4] # For graph precision \n",
+ "\n",
+ "V = [R_A,v_1,v_2,v_3,v_3,v_3,-v_2,-v_1,-R_B];\t\t\t#Shear matrix\n",
+ "M = [0,M_1,M_2,M_3,M_3,M_3,M_2,M_1,0];\t\t\t#Bending moment matrix\n",
+ "plot(X,V);\t\t\t#Shear diagram\n",
+ "plot(X,M);\t\t\t#Bending moment diagram\n",
+ "suptitle( 'Shear and bending moment diagram')\n",
+ "xlabel('X axis')\n",
+ "ylabel( 'Y axis') ;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEhCAYAAABoTkdHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHDtJREFUeJzt3X+8XHV95/HXm/xAfmUJagNIFFtBQSNGCEYQuA2oASoU\nSwSqDT98YJZd1K7Yh4pa0m1XwPqjApUqBiGWApsu0FiCgDTXUORHYn4QSIJhJbuImHUf/EyySiCf\n/eN8bzJMZu7MuXdmzpmZ9/PxuI+cmfnOnM9852Y+95z3nDOKCMzMzJq1S9EFmJlZd3HjMDOzXNw4\nzMwsFzcOMzPLxY3DzMxyceMwM7Nc3Dh6nKQvSnpE0ipJKyRNS9dvkLRP0fU1Uq9OSZvatL7rJP1J\nWr5G0iHtWE8ZSDpM0olNjh2U9O60fLukCe2tzspsbNEFWPtIei9wMjA1IramN+Bd080BqMXrGxsR\nL7fyMcnqzHN9K9YXABFxfpvWURZTgcOBO5oYu32+I+LkVqxc0piIeKUVj2Wd5S2O3rYv8H8jYitA\nRDwTEU9X3P5JST+T9LCktwJI2kPStZIelLRc0inp+gMlLUnjf5aaEpIGJN0r6V+AR6sLkPRtSUvT\nVs/cius3SJpbY/2vlXRXGn8NwzQ3Sd9I434s6XXpuj+QdIekZaneoce9TtK3JN0n6X9WbFVI0lWS\n1km6G/i9isev/Ct7k6S/kbRS0v2Sfq9ifQ+k5/A3kl6sUeeB6fG/L+kxSTdI+kCq5ecVW4H7SLot\nbR3eL2lKun6upOvT89kg6cOSvpbWeYeksWnc4anmZZJ+JGnfiudxWXpNH5P0PknjgP8KnJG2RGdV\n1bybpJskrZF0C7Bb1Wu3T1q+Na3vEUnnV4z5eFrXg2nL7cqK1+EfJD0AXC5pmqSfpt+1+yQdnMad\nk+biLklPSLpQ0mfTuPslTaz3e2EdEBH+6dEfYA9gBfAY8PfAsRW3PQH857R8AXBNWv4K8NG0vHe6\n7+5kbxy7pusPApam5QFgE/CmOjVMTP+OARYD72iw/iuAL6Xlk4BtwD41HncbcFZa/jJwZVq+B3hL\nWn4PcE9avg64OS0fAqxPyx8G7iJrUPsBzwIfTrctBt5dsb6T0/LlwBfT8r8CZ6TlOcCLNWo9ENgK\nvD2tZxkwL912CnBrWr4S+HJa/kNgRVqeCyxJc/hOYAvwwXTbLcCpwDjgp8Br0/VnVKxjMfC3aflE\n4O60fDZwRZ3X7TPA99LylFT/0Fw8MfSaVLy+uwGrgYnA/mnM3mR7NZYMrSe9DgsBpct7AWPS8gnA\nP6flc4D1ZL/DrwOeBz6RbvsG8Omi/3/18493VfWwiNgs6XDgGLI3opslfT4irk9Dbkn/Lid7AwX4\nAPAhSZ9Nl3cFJgO/Bq6SdBjwClnzGPJQRPyvOmWckf4SHUv2xnwo8Mgw6z8GOC3Vv0jSs3Uedxtw\nc1r+R+AWSXsARwELpO0bKuOHpgO4LT3uWkmT0vXHAv8U2TvS05L+rc76XoqI29Pyz4D3p+XpZG/+\nADcCX6tz/yci4lEASY8CP07XP0LWWACOJs1DRCxOW197pdrviIhXJD0C7BIRd6b7rE73P5isMf04\nPfcxwK8q1l8510PrE/W36I4BvpVqWS3p4TrjPi3pj9PyAamO/YCfRMRz6fkuSNeTnsuCNN+QNZf5\nkt6Sbqt8T1ocEZuBzZKeA35Y8ZzfWace6wA3jh4XEduAnwA/kbSa7K/Mocbxu/TvK7z6d+HDEbG+\n8nGU7WZ6OiL+TNIY4LcVN2+utW5JbwYuAo6IiOclfR94TcWQeuvPm72I7E1nF+DZiJhaZ9xLNdbR\nbNaztWJ5G/n/7/yuYnlbRS3Vj1Wvlpcgez0l1apFwKMRcVSD9VfP9XCGnRdJA8DxwPSI+K2kxWSv\nb3X+VP04WyqW/5psq/A0SW8CBmvUDNnz/F3Fst+7CuSMo4dJOlhS5ZbBVGBDg7vdCXyq4jGG3oQn\nkG11AMwm+4u2kQlkTeWF9Bd+M5/gWQL8aVr3iWS7PmrZBRjaL/+nwL0R8SLwhKTT0/0lqdFfpkvI\ntop2kbQf2ZZZHg8Ap6flM3Pet9q9wEdh+5vyb9JzaqaxPQa8XtL0dP9xkg5tcJ8XyHYV1VL5OryD\n2n/hTyBr1L+V9Dayra8AlgLHSdo75S9/Qv0PM0xgx5bRuQ3qHdLSD3VYfm4cvW1P4DpJj0paBbyN\nbH85vPo/clRc/mtgXApeHwH+Kl3/beBsSSuBt5LlGpX330lErCLLWNYBNwD/XqfOyvX/FXBsWvdp\nQL1dYJuBI9NW1ABZ0AvZG+/HU52PsGM3Uq3nTETcSrYvfQ3ZlthPh6mxVr1/Dnwmre8PyPbFN7p/\nzVrIXpvD02v1FbKtw+r11XysyD4AcTpZ4LySbN7f26CWxcChtcJx4GpgT0lryF6TZTUe50fA2DTm\nUuD+VMyvUv0Pkb3mT/Dqeams/6vApZKWk/0xEhVj6j3n6tusw7RjV6OZ5SVpt4j4f2n5TLKg/LSC\nyyqcpD1SxjaWLF+ZFxH/UnRd1hreT2g2OodLuops98mzwHkF11MWcyWdQJZ53Omm0Vu8xWFmZrk4\n4zAzs1zcOMzMLBc3DjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLpdDGoex7Hzam00bUG3OFpPXK\nvqOg3snrzMysQ4re4vg+MLPejZJOIvtuhYOAT5CdP8fMzApUaOOIiHvJTtNQzymkU4BHxIPA3hXf\no2BmZgUoeoujkTcAT1Zc/iXZl8WYmVlByt44YOdz7/vkWmZmBSr72XGfIvva0iEHpOteRZKbiZnZ\nCERE7i/GKvsWx0Kyb5sjfbPZcxGxsdbAor+8vZmfSy65pPAaav1s27aNj93yMc677TygnDV2y1y6\nzvb+fOgTH+Ltf/92Nr+0ufBaemE+R6roj+PeSPaNa2+V9KSk8yTNkTQHICIWAb+Q9DjwHeA/FVhu\nz7p2xbWseHoFV550ZdGlmA1r6r5TmbrfVD656JNFl9LXCt1VFRFnNTHmwk7U0q9Wb1zN5+/5PEvO\nWcLu43YvuhyzYUni6pOv5ojvHsH8VfOZfdjsokvqS2XfVdVTBgYGii7hVTa9tIlZC2bx9Q98nUNe\nf0i6dqDIkppWtrmsx3W21sDAAHuO35MFsxZw0V0XsfY3a4suqaZumc+R6olvAJQUvfA8OikimH3b\nbMbvMp55p87bfr0EnkrrBvOWz+ObD3yTh85/yFvLIySJ6MFw3NrEuYZ1u/Omnue8oyBuHH1oKNdY\nMGuB/1KzrjWUd9z35H3MXzW/6HL6ihtHn6mda5h1p27IO3qRM44+Ui/XqOSMw7qR846RccZhDTnX\nsF7lvKOz3Dj6hHMN62XOOzrLjaMPONewfuC8o3OccfS4ZnKNSs44rNs572ieMw6rybmG9RvnHe3n\nxtHDnGtYP3Le0X5uHD3KuYb1M+cd7eWMowflzTUqOeOwXuK8Y3jOOGw75xpmGecd7eHG0WOca5jt\n4LyjPdw4eohzDbOdOe9oPWccPWI0uUYlZxzWq5x37MwZR59zrmE2POcdrePG0QOca5g15ryjddw4\nupxzDbPmOe9oDWccXaxVuUYlZxzWD5x3ZJxx9CHnGmYj47xjdNw4upRzDbORc94xOm4cXci5htno\nOe8YOWccXaYduUYlZxzWb/o573DG0Seca5i1lvOO/Nw4uohzDbPWc96RnxtHl3CuYdY+zjvyccbR\nBdqda1RyxmH9rN/yDmccPcy5hllnOO9ojhtHyTnXMOsc5x3NceMoMecaZp3nvKMxZxwl1clco5Iz\nDrNMP+Qdzjh6jHMNs2I576jPjaOEnGuYFc95R31uHCXjXMOsPJx31OaMo0SKyjUqOeMw21mv5h3O\nOHqAcw2zcnLe8WpuHCXhXMOsvJx3vJobRwk41zArP+cdOzjjKFgZco1KzjjMhtdLeYczji7lXMOs\nuzjvcOMolHMNs+7jvMONozDONcy6V7/nHc44ClC2XKOSMw6z5nV73uGMo4s41zDrDf2adxTaOCTN\nlLRO0npJn6tx+4Ck5yWtSD9fKqLOVnKuYdY7+jXvGFvUiiWNAa4CTgCeApZKWhgR1TsMfxIRp3S8\nwDZwrmHWe4byjhnzZzBt/2l98X+7yC2OI4HHI2JDRGwFbgJOrTEu9/63MooILrj9Ao6efDSzD5td\ndDlm1kJTJk3hsuMvY9aCWWzZuqXoctquyMbxBuDJisu/TNdVCuAoSaskLZJ0aMeqazHnGma9rZ/y\njsJ2VZE1hUaWA5MjYoukE4HbgINrDZw7d+725YGBAQYGBlpQYmsM5RpLzlniXMOsRw3lHdOumcb8\nVfNLuWdhcHCQwcHBUT9OYR/HlTQdmBsRM9PlLwDbIuLyYe7zBHB4RDxTdX1pP4676aVNHPHdI7j4\nmItL+YtUzR/HNRud1RtXM2P+DJacs6T0eUc3fhx3GXCQpAMljQfOABZWDpA0SZLS8pFkje6ZnR+q\nnJxrmPWffsg7CmscEfEycCFwJ7AGuDki1kqaI2lOGnY6sFrSSuDvgDOLqXZknGuY9adezzt85Hib\ndNPmaiXvqjJrjW7YTd2Nu6p6lo/XMLNePp+VtzharMznoWqGtzjMWqvM57PyFkdJONcws0q9mHe4\ncbSQz0NlZtV68XxWbhwt4lzDzOrptbzDGUcLdHuuUckZh1n7lC3vcMZRIOcaZtaMXsk73DhGybmG\nmTWrV/ION45RcK5hZnn1Qt7hjGOEeinXqOSMw6wzypB3OOPoMOcaZjYa3Zx3uHGMgHMNMxutbs47\n3Dhycq5hZq3SrXmHM44cejXXqOSMw6zziso7nHF0gHMNM2uHbss73Dia5FzDzNql2/ION44mONcw\ns3brprzDGUcD/ZBrVHLGYVasTuYdzjjaxLmGmXVSN+QdbhzDcK5hZp3WDXmHG0cdzjXMrChlzzuc\ncdTQb7lGJWccZuXR7rzDGUcLOdcwszIoa97hxlHFuYaZlUVZ8w43jgrONcysbMqYdzjjSPo516jk\njMOsnNqRdzjjGCXnGmZWZmXKO9w4cK5hZuVXpryj7xuHcw0z6xZlyTv6OuNwrrEzZxxm5deqvMMZ\nxwg41zCzblR03tG3jcO5hpl1q6Lzjr5sHM41zKzbFZl39F3G4VxjeM44zLrLaPIOZxxNcq5hZr2k\niLyjrxqHcw0z6zVF5B190zica5hZr+p03tEXGYdzjeY54zDrXnnzjrZlHJI+ImlCWv6ypFslvTvv\niorkXMPM+kGn8o5mdlV9OSJekPQ+4HhgHnB1W6tqIecaZtYvOpV3NNM4Xkn//hFwTUT8KzC+bRW1\nkHMNM+s3ncg7mmkcT0n6LnAGcLuk1zR5v0JFBBfcfgFHTz6a2YfNLrocM7OOmTJpCpcdfxmzFsxi\ny9YtLX/8huG4pD2AmcDDEbFe0n7AlIi4q+XVjFCtcLzdX/LeqxyOm/WGZj4UNNJwvG7jkDQhZRv7\n1Cnqmbwra5fqxrF642pmzJ/BknOWeBdVTm4cZr1j00ubOOK7R3DxMRfX3PMy0sYxdpjbbgROBpYD\ntd5K3px3ZZ3gXMPMLDOUd8yYP4Np+09r2XtiTx3H4eM1Rs9bHGa9p96u+3Yex/HxqstjJV2Sd0Wd\n4OM1zMx21urjO5r5dNQJkhZJ2l/SO4D7gQmtWLmkmZLWSVov6XN1xlyRbl8laWq9x/LxGmZmtbX6\n+I7hMg4AIuIsSWcCDwObgY9GxL+PdsWSxgBXAScATwFLJS2MiLUVY04C3hIRB0l6D9mBh9NrPZ5z\nDTOz+lqZdzSzq+pg4FPALcD/Bj6WPqI7WkcCj0fEhojYCtwEnFo15hTgeoCIeBDYW9KkWg/m4zXM\nzIbXquM7mtlVtRD4y4j4BHAcsB5YOuI17vAG4MmKy79M1zUac0CtB3OuYWbWWCvyjoa7qoD3RMTz\nABGxDfi6pB+OeI07NPvZnerEv+b9vvrfvrp9eWBggIGBgZFV1ecmTsw+WWVWRhMnwjOlOYKs+wwO\nDjI4OMjkVyaz8LGFI36cpj6OK2kKcCjwGtIbd0SMKmGRNB2YGxEz0+UvANsi4vKKMf8ADEbETeny\nOuC4iNhY9VhNf3WsmXUvf1y8tdr5cdy5wBXAlcAA8FWy7GG0lgEHSTpQ0niyc2FVt8CFwOxUx3Tg\nueqmYWZmndXMrqrTgcOA5RFxbgqnbxjtiiPiZUkXAncCY4B5EbFW0px0+3ciYpGkkyQ9TvaJrnNH\nu14zMxudZk5yuDQipkn6GTADeAFYFxFv7USBzfCuKrP+4F1VrdWOc1UNWSppInAN2e6lzcBP867I\nzMx6Q65zVUl6MzAhIla1r6T8vMVh1h+8xdFaLT+tejdx4zDrD24crdW2T1WZmZlVqts4JN2Rdk2Z\nmZltN9wWx7XAnZK+KGlcpwoyM7NyGzbjkLQn8JfAB4EfsON0HxER32h/ec1xxmHWH5xxtFa7Po67\nFdhEdqqRvYBtI6jNzMx6SN3GIWkm8A3gh8DUiBj5OXjNzKxn1N1VJele4D9GxKOdLSk/76oy6w/e\nVdVaLT+OQ130btxFpZrZKLhxtFbLj+PwO7GZmdXiAwDNzCwXNw4zM8vFjcPMzHJx4zAzs1zcOMzM\nLBc3DjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLxY3DzMxyceMwM7Nc3DjMzCwXNw4zM8vFjcPM\nzHJx4zAzs1zcOMzMLBc3DjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLxY3DzMxyceMwM7Nc3DjM\nzCwXNw4zM8vFjcPMzHJx4zAzs1zcOMzMLBc3DjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLxY3D\nzMxyGVvESiXtA9wMvAnYAHwkIp6rMW4D8ALwCrA1Io7sYJlmZlZDUVscnwfujoiDgXvS5VoCGIiI\nqW4aZmblUFTjOAW4Pi1fD/zxMGPV/nLMzKxZRTWOSRGxMS1vBCbVGRfAjyUtk3R+Z0ozM7PhtC3j\nkHQ3sG+Nm75YeSEiQlLUeZijI+JpSa8H7pa0LiLurTVw7ty525cHBgYYGBgYUd1mZr1qcHCQwcHB\nUT+OIuq9Z7ePpHVk2cWvJe0HLI6ItzW4zyXApoj4eo3boojnYWadJYH/q7eOJCIidxxQ1K6qhcDZ\nafls4LbqAZJ2l7RXWt4D+ACwumMVmplZTUVtcewD/HfgjVR8HFfS/sA1EXGypN8Hbkl3GQvcEBGX\n1nk8b3GY9QFvcbTWSLc4CmkcrebGYdYf3Dhaq9t2VZmZWZdy4zAzs1zcOMzMLBc3DjMzy8WNw8zM\ncnHjMDOzXNw4zMwsFzcOMzPLxY3DzMxyceMwM7Nc3DjMzCwXNw4zM8vFjcPMzHJx4zAzs1zcOMzM\nLBc3DjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLxY3DzMxyceMwM7Nc3DjMzCwXNw4zM8vFjcPM\nzHJx4zAzs1zcOMzMLBc3DjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLxY3DzMxyceMwM7Nc3DjM\nzCwXNw4zM8vFjcPMzHJx4zAzs1zcOMzMLBc3DjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLxY3D\nzMxyceMwM7NcCmkckmZJelTSK5LePcy4mZLWSVov6XOdrNHMzGoraotjNXAasKTeAEljgKuAmcCh\nwFmSDulMee0xODhYdAkNdUON4DpbrVvqhMGiC2hK98znyBTSOCJiXUT8vMGwI4HHI2JDRGwFbgJO\nbX917dMNv0zdUCO4zlbrljrdOMqhzBnHG4AnKy7/Ml1nZmYFGtuuB5Z0N7BvjZsujogfNvEQ0eKS\nzMysBRRR3PuzpMXARRGxvMZt04G5ETEzXf4CsC0iLq8x1k3GzGwEIkJ579O2LY4c6hW9DDhI0oHA\nr4AzgLNqDRzJEzczs5Ep6uO4p0l6EpgO3C7pjnT9/pJuB4iIl4ELgTuBNcDNEbG2iHrNzGyHQndV\nmZlZ9ynzp6pepZmDASVdkW5fJWlqp2tMNQxbp6QBSc9LWpF+vlRAjddK2ihp9TBjyjCXw9ZZhrlM\ndUyWtDgd1PqIpE/VGVfonDZTZxnmVNJrJD0oaaWkNZIurTOusPlspsYyzGVFLWNSDTU/mJR7LiOi\n9D/AGOBx4EBgHLASOKRqzEnAorT8HuCBktY5ACwseD6PAaYCq+vcXvhcNlln4XOZ6tgXeFda3hN4\nrKS/n83UWZY53T39OxZ4AHhfCeezUY2lmMtUy2eAG2rVM5K57JYtjmYOBjwFuB4gIh4E9pY0qbNl\nNn3QYqFhfkTcCzw7zJAyzGUzdULBcwkQEb+OiJVpeROwFti/aljhc9pknVCOOd2SFseT/UH2TNWQ\nMsxnoxqhBHMp6QCy5vA9ateTey67pXE0czBgrTEHtLmuas3UGcBRaZNwkaRDO1Zd88owl80o3Vym\nTwFOBR6suqlUczpMnaWYU0m7SFoJbAQWR8SaqiGFz2cTNZZiLoFvAn8BbKtze+657JbG0WyCX91N\nO538N7O+5cDkiDgMuBK4rb0ljVjRc9mMUs2lpD2BfwY+nf6i32lI1eVC5rRBnaWY04jYFhHvInsD\nO1bSQI1hhc5nEzUWPpeS/gj4PxGxguG3fnLNZbc0jqeAyRWXJ5N1xeHGHJCu66SGdUbEi0ObuBFx\nBzBO0j6dK7EpZZjLhso0l5LGAf8D+MeIqPUGUYo5bVRnmeY01fA8cDtwRNVNpZhPqF9jSebyKOAU\nSU8ANwIzJM2vGpN7LrulcWw/GFDSeLKDARdWjVkIzIbtR50/FxEbO1tm4zolTZKktHwk2Ueia+0b\nLVIZ5rKhssxlqmEesCYi/q7OsMLntJk6yzCnkl4nae+0vBvwfmBF1bBC57OZGsswlxFxcURMjog3\nA2cC/xYRs6uG5Z7LMhw53lBEvCxp6GDAMcC8iFgraU66/TsRsUjSSZIeBzYD55axTuB04AJJLwNb\nyF7MjpJ0I3Ac8DplB2JeQvYpsNLMZTN1UoK5TI4GPgY8LGnozeNi4I1QqjltWCflmNP9gOsl7UL2\nx+0PIuKekv1/b1gj5ZjLagEw2rn0AYBmZpZLt+yqMjOzknDjMDOzXNw4zMwsFzcOMzPLxY3DzMxy\nceMwM7Nc3DjMGlB2OvJfSJqYLk9Ml9/Ygse+b/QVmnWWj+Mwa4KkvwDeEhFzJH0H+EVEXF50XWZF\n8BaHWXO+CUyX9Odk5//5Wq1Bkm6VtEzZFyWdn657k6SfS3ptOqPqvZJOSLdtSv/uJ2mJsi/bWS3p\nfR16Xma5eYvDrEmSPgjcAbw/Iu6pM2ZiRDybzl/0EHBsuvxx4IPAUuD3I+KCNP7FiNhL0kXArhHx\nlXR+oz3qnGHXrHDe4jBr3onAr4Apw4z5dPqOhvvJzjJ6MEBEzAP+AzAH+GyN+z0EnCvpEuCdbhpW\nZm4cZk2Q9C7gBOC9wH+RtG+NMQPA8cD09D0NK4Fd0227kzWSAPaqvm/6tsNjyE5nfZ2kP2vPMzEb\nPTcOswbSrqOryb746Engb6mdcUwAno2I30p6GzC94rbLgR+QneH3mhrreCPwm4j4HtlXfE5t7bMw\nax03DrPGzgc2VOQa3wYOkXRM1bgfAWMlrQEuJdtdhaTjgMOByyPin4CXJJ2d7jMUMv4hsFLScuAj\nwLfa9mzMRsnhuJmZ5eItDjMzy8WNw8zMcnHjMDOzXNw4zMwsFzcOMzPLxY3DzMxyceMwM7Nc3DjM\nzCyX/w/0OTZCPXzVtAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x9e8f1d0>"
+ ]
+ }
+ ],
+ "prompt_number": 126
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.14 page number 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l = 1.0 #l - The length of the beam\n",
+ "p = 1.0 #W - The total load applied\n",
+ "#since it is triangular distribution \n",
+ "l_com = 0.66*l#l - The distance of force of action from one end\n",
+ "#F_Y = 0\n",
+ "#R_A + R_B = p\n",
+ "#M_a = 0 Implies that R_B = 2*R_A\n",
+ "R_A = p/3.0\n",
+ "R_B = 2.0*p/3\n",
+ "\n",
+ "#Taking Many sections \n",
+ "\n",
+ "#Section 1----1\n",
+ "l = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n",
+ "M = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = p*(l[i]**2) - p/3.0\n",
+ " M[i] = p*(l[i]**3)/(3.0)- p*l[i]/3.0\n",
+ "\n",
+ "v[10] = R_B #again concluded Because the value is tearing of \n",
+ "\n",
+ "\n",
+ "#Graph\n",
+ "import numpy as np\n",
+ "values = M\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "import numpy as np\n",
+ "values = v\n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,11)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEACAYAAABcXmojAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcjfX///HHyzAz2ZNIKDUYFZUWKuLIMsMISYkSfSrV\n52PGL30kVKaF1k+ytEoiWSplG2UmmfBNSYnIWKYIMUW2LGOW1+8Pp4npjBlz5pzrnDOv++3m1rW8\nr+s8u24z5zXv630toqoYY4wxAGWcDmCMMSZwWFEwxhiTx4qCMcaYPFYUjDHG5LGiYIwxJo8VBWOM\nMXm8LgoiEisiaSKySUSGFNBmrHv9ahFp6l5WV0QWi8g6EVkrIgneZjHGGOMdr4qCiIQB44FY4GKg\nl4hclK9NJ6C+qjYA+gOvuVdlAQ+q6iXANcB/8m9rjDHGv7ztKTQDNqvqFlXNAmYAXfO16QJMBlDV\nr4GqIlJTVXep6vfu5X8C64FzvcxjjDHGC94WhdrAthPmt7uXFdamzokNRKQe0BT42ss8xhhjvOBt\nUSjqMzKkoO1EpCLwITDQ3WMwxhjjkLJebr8DqHvCfF2O9wRO1aaOexkiUg6YBUxV1dmePkBE7OFM\nxhhTDKqa/w/yQnnbU1gJNBCReiISDvQE5uZrMxe4E0BErgH2qWqGiAgwEfhRVV8+1Yeoqv1TZcSI\nEY5nCJR/dizsWNixOPW/4vKqp6Cq2SIyAFgIhAETVXW9iNznXv+Gqi4QkU4ishk4BNzl3rwFcAew\nRkRWuZcNVdVPvclkjDGm+Lw9fYSqfgJ8km/ZG/nmB3jYbhl285wxxgQU+1IOIi6Xy+kIAcOOxd/s\nWPzNjoX3xJtzT/4gIhroGY0xJtCICOrAQLMxxpgQYkXBGGNMHisKxhhj8lhRMMYYk8eKgjHGmDxB\nURTW/77e6QjGGFMqBEVReOKLJ5yOYIwxpUJQFIXFWxaz9re1TscwxpiQFxRFYfB1g623YIwxfhAU\nReGBqx5g2S/LWL1rtdNRjDEmpAVFUagQXoGHr3uYxC8SnY5ijDEhLSiKAsD9V93Pih0r+G7nd05H\nMcaYkBU0ReGMcmcwpMUQElMTnY5ijDEhK2iKAkD/K/vz3c7vWPnrSqejGGNMSAqqohBZNpJh1w9j\nROoIp6MYY0xICqqiAHB307v5IeMHvtr+ldNRjDEm5ARdUYgoG8Hw64fb2IIxxviA10VBRGJFJE1E\nNonIkALajHWvXy0iTU9nW0/uanoXabvT+HLbl97GN8YYcwKvioKIhAHjgVjgYqCXiFyUr00noL6q\nNgD6A68VdduChIeF82irR21swRhjSpi3PYVmwGZV3aKqWcAMoGu+Nl2AyQCq+jVQVUTOKeK2AMTE\nPEpS0pKTlvW9rC/pf6SzZOsST5sYY0yplJS0hJiYR4u9vbdFoTaw7YT57e5lRWlzbhG2BSA5+WkG\nDlx4UmEoF1aOx1o9Zr0FY4xxS0pawsCBC0lOfrrY+/C2KGgR24mXn0N6+kjGjUs5aVmfy/qwbf82\nFv+82NvdG2NM0Bs7Npn09JFe7cPborADqHvCfF2O/8V/qjZ13G2Ksq1bIpBIWtpSUlNT85aWLVOW\nx1s/zojUEagWtT4ZY0zoSU1NZcOGZfz1fVlc3haFlUADEaknIuFAT2BuvjZzgTsBROQaYJ+qZhRx\nW7dEIJFGja7H5XKdtKZ3k95kHMpg0c+LvPxfMcaY4OVyuYiObomjRUFVs4EBwELgR2Cmqq4XkftE\n5D53mwXATyKyGXgD+Pepti3os6KihhEf3/4fy8uWKcuI1iOst2CMKfUSEjoQFTXcq31IoH+RiojG\nxDxKfHx74uJaeWyTk5tDk9eaMDpmNDH1Y/yc0BhjAkdS0hLGjUth4cKnUdXTHs8NiqJQlIwz185k\n9FejWX73ckS8Htc2xpigJiLFKgpB95iLgtxyyS38eexPPtn8idNRjDEmaIVMUSgjZUh0JdrYgjHG\neCFkigJA94u6cyznGPM3znc6ijHGBKWQKgplpAyJra23YIwxxRVSRQGgW6NuAMzZMMfhJMYYE3xC\nriiICE+4nmBE6ghyNdfpOMYYE1RCrigAdG7YmfCwcD5a/5HTUYwxJqiEZFH4q7eQmJpovQVjjDkN\nIVkUADrW70jF8Ip8sO4Dp6MYY0zQCNmikNdb+CKRnNwcp+MYY0xQCNmiANAhqgPVzqjGzHUznY5i\njDF+s2XflmJvG9JF4a/ewhNfPEF2brbTcYwxxi/+s+A/xd42pIsCQNsL2lKzQk2m/zDd6SjGGONz\nyenJbNyzsdjbh3xREBGebPOk9RaMMSEvOzebQQsH8UL7F4q9j5AvCgCuei7qVqnLu6vfdTqKMcb4\nzNur3qZ6+ep0je5a7H2EzPsUCrNk6xL6ze7HhgEbKBdWrgSSGWNM4DiQeYDo8dEk9U7iilpX2PsU\nCtPq/FZEVYti8urJTkcxxpgS98zSZ4iJiuGKWld4tZ9S01MA+HLbl/Se1ZuN8RsJDwsvkX0aY4zT\ntuzbwpVvXsma+9dQu3JtwKE3r4lINRFJEZGNIpIsIlULaBcrImkisklEhpyw/AURWS8iq0XkIxGp\n4k2ewlxX9zoaVW/EpFWTfPkxxhjjV0MXDSWhWUJeQfCGt6ePHgFSVLUhsMg9fxIRCQPGA7HAxUAv\nEbnIvToZuERVLwM2AkO9zFOoJ1xPMHLpSDKzM339UcYY43PLty1n6dal/Pe6/5bI/rwtCl2Av07S\nTwa6eWjTDNisqltUNQuYAXQFUNUU1bwn1n0N1PEyT6Ga12lOk5pNmLhqoq8/yhhjfEpVGZQ8iJE3\njKRCeIUS2ae3RaGmqma4pzOAmh7a1Aa2nTC/3b0sv38BC7zMUyRPuJ5g1NJRHM0+6o+PM8YYn5i5\nbibHco7R57I+JbbPsoU1EJEU4BwPq4afOKOqKiKeRoQLHSUWkeHAMVWd5ml9YmJi3rTL5cLlchW2\ny1O66tyruKLWFbz57ZskNE/wal/GGOOEI1lHeOSzR5jcbTJlpAypqamkpqZ6vV+vrj4SkTTApaq7\nRKQWsFhVG+Vrcw2QqKqx7vmhQK6qPuee7wfcC7RV1X/86V6SVx+daNXOVcRNiyM9IZ0zyp1R4vs3\nxhhfenbZs6zYsYKPenp+mZhT9ynMBfq6p/sCsz20WQk0EJF6IhIO9HRvh4jEAoOBrp4Kgi81rdWU\na+pcw+srX/fnxxpjjNcy/szgxS9f5Ll2z5X4vr3tKVQD3gfOA7YAt6rqPhE5F5igqnHudh2Bl4Ew\nYKKqPuNevgkIB/5w73K5qv4732f4pKcAsCZjDTFTY9gcv7nEBmmMMcbX7pt3HxXCK/BSzEsFtilu\nT6FU3bzmyS0f3ELz2s1L7HIuY4zxpR8yfqDtlLZsGLCBM884s8B2VhSKae1va2k7pS3pCelUDK/o\ns88xxhhvqSoxU2O4seGNxDePP2Vbe/ZRMTWu0Zg29drwyopXnI5ijDGn9OnmT9m6fyv3X3W/zz6j\n1PcUANb/vp7W77QmPSGdShGVfPpZxhhTHNm52Vz62qU81+45boy+sdD21lPwwkVnX0T7qPaMWzHO\n6SjGGOPRm9++Sa1KtejcsLNPP8d6Cm4bdm+g5aSWbI7fTJVInz6XzxhjTsu+o/uIHh/NwjsWcvk5\nlxdpG+speCm6ejQd63dkzNdjnI5ijDEnGbV0FDc2vLHIBcEb1lM4waY9m7h24rVsTthM1UiPTwE3\nxhi/+mnvT1w94WrWPrCWWpVqFXk76ymUgAZnNaBLdBdGLx/tdBRjjAFgyGdDePCaB0+rIHjDegr5\n/FWVN8VvotoZ1fz2ucYYk9+yX5bRe1Zv0gakUb5c+dPa1noKJeTCMy+ke6PuvLS84NvHjTHG13I1\nl0ELBzGq7ajTLgjesKLgwfBWw3lt5WvsPrzb6SjGmFJq+g/TAejdpLdfP9dOHxXg/vn3c2bkmbTM\n7MjYsclkZpYlIiKbhIQOxMW18nseY0zpcTjrMI3GN2LazdNoeV7LYu2juKePCn3JTmk17PphNB7X\nhOkzjrB13ct5y9PTj79byAqDMcZXXlr+Es3rNC92QfCGnT4qwHlVzqPq9gZsPbfcScvT00cyblyK\nQ6mMMaFu58GdjP5qtE/elVAUVhROofbPreCKiVAh46TlR4+GOZTIGBPqHlv8GHc3vZsLz7zQkc+3\nonAKlSkPq/tAy5MrdmRkjkOJjDGhbPWu1czbOI9h1w9zLIMVhVNISOjA+duBy9+BytsBiIoaRnx8\ne0dzGWNCj6oyKHkQI1qPcPSJCjbQfAp/DSYP/HgV+/q048rNPUiIj7VBZmNMiZu/cT47D+6k/5X9\nHc1hl6QWQWZ2Jpe/cTlPt3mamy++2dEsxpjQk5WTRePXGjM6ZjSdGnQqkX36/Y5mEakmIikislFE\nkkXEY39HRGJFJE1ENonIEA/rHxKRXBEJ2GdKRJSN4K0b3yLh0wT2HtnrdBxjTIh5feXr1Ktaj471\nOzodxasxhUeAFFVtCCxyz59ERMKA8UAscDHQS0QuOmF9XaA9sNWLHH7R4rwWdIvuxuCUwU5HMcaE\nkL1H9vLUkqd4sf2LiJz2H/Ylzpui0AWY7J6eDHTz0KYZsFlVt6hqFjAD6HrC+peAh73I4FfPtHuG\n5PRkPv/5c6ejGGNCxFNLnuKmRjfRpGYTp6MA3hWFmqr61wX8GUBND21qA9tOmN/uXoaIdAW2q+oa\nLzL4VeWIyrwa9yr95/XncNZhp+MYY4Lcpj2bmLx6Mk+2edLpKHlOefWRiKQA53hYNfzEGVVVEfE0\nGuxxhFhEzgCGcfzUUd7ignIkJibmTbtcLlwuV4GZfa1zw85MXTOVJ1Kf4Ln2ztxxaIwJDUM+G8J/\nr/0vNSt6+pv69KSmppKamur1fop99ZGIpAEuVd0lIrWAxaraKF+ba4BEVY11zw8FcoEkjo9D/PXn\ndh1gB9BMVX/Ltw/Hrz7KL+PPDC59/VI+uf0Trqh1hdNxjDFB6IstX9B3dl/SBqQRWTayxPfvxPsU\n5gJ93dN9gdke2qwEGohIPREJB3oCc1V1rarWVNULVPUCjp9WuiJ/QQhUNSvW5Pl2z3PP3HvIzs12\nOo4xJsjkai6DkgfxbLtnfVIQvOFNUXgWaC8iG4Eb3POIyLkikgSgqtnAAGAh8CMwU1XXe9hXYHUF\niuDOy+7krPJn2ct4jDGn7d3V7xIeFk7PS3o6HeUf7OY1L/y09yeaTWjGV/d8Rf1q9Z2OY4wJAoeO\nHSJ6fDQf3PIB19a91mefY6/jdMCFZ17IsOuH0X9efwK1cBljAsuLX75Iy/Na+rQgeMOKgpcSmidw\n8NhB3l71ttNRjDEBbseBHYxdMZZn2z3rdJQC2emjErB612rav9ue1fevplalWk7HMcYEqH6z+1Gr\nYi2eafeMzz+ruKePrCiUkGGLhrHpj018cMsHTkcxxgSgb3/9lrhpcWyM30jliMo+/zwbU3DY460f\nZ03GGmaneboy1xhTmqkqDyU/xBOuJ/xSELxhRaGERJaN5M3ObzJgwQD2H93vdBxjTACZnTabPUf2\ncPcVdzsdpVB2+qiE3TfvPkSE1zu/7nQUY0wAOJZzjItfuZhX416lQ1QHv32unT4KEM+3f575G+ez\nZOsSp6MYYwLAKyteoeFZDf1aELxhRaGEVYmswvhO47l33r0czT7qdBxjjIP2HN7DqGWjeLHDi05H\nKTIrCj7QrVE3mtRowlNfPOV0FGOMg5784kluufgWLj77YqejFJmNKfjIzoM7uez1y0jpk8Jl51zm\ndBxjjJ9t2L2BFm+3YP1/1nN2hbP9/vk2phBgalWqxTNtn+GeefYkVWNKo8EpgxnSYogjBcEbVhR8\n6F9N/0Wl8EqM/Xqs01GMMX606KdFrP1tLfHN452OctqsKPiQiPDmjW8yaukoftr7k9NxjDF+kJOb\nw0PJD/Fcu+cC7l0JRWFFwcfqV6vPwy0e5v7599uTVI0pBd75/h0qhlekx8U9nI5SLFYU/GDQtYPY\nfXg3U1ZPcTqKMcaHdh/ezWOLH+OlmJcQOe0x3oBgVx/5yXc7vyN2aiw/PPBDibyk2xgTWFSV5mNa\n8NuPSr2NMUREZJOQ0IG4uFaO5Cnu1UdlfRHG/NMVta6g3+X9+H8L/x/Tb57udBxjTAm7b1ICa9K3\nkvn2z2zNCQcgPX04gGOFoTjs9JEfJboS+WbHN8zfON/pKMaYErTy15W889PbZL63FNwFASA9fSTj\nxqU4mOz0FbsoiEg1EUkRkY0ikiwiVQtoFysiaSKySUSG5FsXLyLrRWStiDxX3CzBony58rx545s8\nkPQABzIPOB3HGFMCDmQe4LYPb6PBhk6w98J/rD96NMyBVMXnTU/hESBFVRsCi9zzJxGRMGA8EAtc\nDPQSkYvc69oAXYBLVbUxEDwPB/HCDRfcQIcLOzBs0TCnoxhjvKSq3D//ftpe0JY6B6I9tomMzPFz\nKu94UxS6AJPd05OBbh7aNAM2q+oWVc0CZgBd3eseAJ5xL0dVf/ciS1B5scOLfLT+I/7vl/9zOoox\nxguTvp/Emow1jI4dTUJCB6Kihp+0PipqGPHx7R1KVzzeDDTXVNUM93QG4OmSmtrAthPmtwPN3dMN\ngFYiMgo4CvxXVVd6kSdonHnGmYztOJZ7593LqvtWEVE2wulIxpjT9OPvPzLksyGk9k2lfLnyeYPJ\n48Y9xtGjYURG5hAfHxtUg8xQSFEQkRTgHA+rTiqHqqoi4um60VNdS1oWOFNVrxGRq4H3gX+ekAMS\nExPzpl0uFy6X61Sxg8LNF93M1DVTGbV0FE+0ecLpOMaY03Ak6wg9P+zJM22f4ZIal+Qtj4tr5VgR\nSE1NJTU11ev9FPs+BRFJA1yquktEagGLVbVRvjbXAImqGuueHwrkqupzIvIJ8KyqfuFetxlorqp7\n8u0jJO5T8GTHgR1c/sblLO67mMY1GjsdxxhTRPfPv5/9mfuZ1n1awN6k5sRTUucCfd3TfQFPb6xf\nCTQQkXoiEg70dG+Hu/0NACLSEAjPXxBCXe3KtXm6zdPcM/cecnKDazDKmNLqg3Uf8NlPn/FG5zcC\ntiB4w5ui8CzQXkQ2cvzL/VkAETlXRJIAVDUbGAAsBH4EZqrqevf2bwMXisgPwHTgTi+yBK17r7yX\n8LBwXvnmlQLbJCUtISbmUVyuRGJiHiUpyV71aYwTft77M/9Z8B9m9JhB5YjKTsfxCXvMRQD462Uc\n3/b/lvOrnn/SuqSkJQwcuJD09JF5y6KihjNmTEzQDWAZE8yycrJoOaklPS/pyaBrBzkdp1D2kp0g\nFl09mkHXDuKBpAf+8STVsWOTTyoIEJx3SRoT7B79/FHOLn82D17zoNNRfMqKQoAYfN1gth/YzrQf\npp20PDPT8wViwXaXpDHB7NPNnzJt7TTe6fZOSI4jnMiKQoAoF1aOt7q8xUPJD/H7ob/v44uI8Pwq\nz2C7S9KYYLXz4E7umnMXU2+aSvXy1Z2O43NWFAJIs9rN6N2kN4OS/z5fGSp3SRoTjHJyc7jj4zu4\n78r7aF2vtdNx/MIGmgPMoWOHaPxaY16Le43Y+rHA8cHmceNSTrhLsr0NMhvjByOXjCTlpxQW3bmI\nsDLBdcq2uAPNVhQCUHJ6Mv3n9Wftv9dSMbyi03GMKZWW/bKMHu/34Nv+31K7cm2n45w2u/oohHSI\n6kDreq159PNHnY5iTKn0x5E/6D2rNxO7TAzKguAN6ykEqD2H99D4tcbM7jmb5nWaF76BMaZEqCrd\nZnYj6swoXop5yek4xWY9hRBzVvmzGB0zmnvm3cOxnGNOxzGm1Bi/Yjw7Duzg2XbPOh3FEVYUAljP\nS3pyfpXzeW5ZyL+UzpiAsGrnKp5c8iQzeswgPCy88A1CkBWFACYivBr3KmO+HsP639cXvoExptgO\nZh6k54c9GRs7lvrV6jsdxzE2phAEXlnxCtPXTmfJXUsoI1bHjfGFOz++k/CwcN7q8pbTUUqEjSmE\nsAeufoBczeWVFQU/SdUYU3yTv5/Myl9XMiZ2jNNRHGc9hSCxYfcGrp90PTN6zOCGC25wOo4xIWPD\n7g20nNSSz+/8nCY1mzgdp8RYTyHERVePZmaPmdz24W2s/W2t03GMCQlHs49y64e38nSbp0OqIHjD\nikIQaXNBG0bHjCZuWhy/HvzV6TjGBL3/Jv+X6LOi6X9lf6ejBAzPz2U2Aev2S29n6/6txE2LY0m/\nJVSKqOR0JGOC0kfrP2LBpgV8d993If847NNhYwpBSFW5f/79bN2/lXm95lEurJzTkYwJKlv3beXq\nCVczr9e8kH1igI0plCIiwitxrxBWJszj29qMMQXLysmi16xeDL5ucMgWBG8UuyiISDURSRGRjSKS\nLCJVC2gXKyJpIrJJRIacsLyZiKwQkVUi8o2IXF3cLKVR2TJlmdljJqt2rWLk0pGFb2CMAWBE6giq\nRFbhoesecjpKQPKmp/AIkKKqDYFF7vmTiEgYMB6IBS4GeonIRe7VzwOPqWpT4HH3vDkNFcMrMr/X\nfN767i2mrJ7idBxjAl5KegpTVk9hcrfJdiNoAbw5Kl2Aye7pyUA3D22aAZtVdYuqZgEzgK7udTuB\nKu7pqsAOL7KUWrUq1WLB7QsYnDKYRT8tcjqOMQEr488M+s7uy5SbplCjQg2n4wQsb4pCTVXNcE9n\nADU9tKkNbDthfrt7GRzvWfxPRH4BXgCGepGlVLv47It5v8f79JrVix8yfnA6jjEBJ1dz6fNxH+5u\nerfd/FmIU16SKiIpwDkeVp300mBVVRHxNNp5qhHQiUCCqn4sIrcAbwMeXzycmJiYN+1yuXC5XKeK\nXSq1rteal2NfJm5aHMvvXl7qXgxizKk8/3/PcyT7CCNcI5yO4jOpqamkpqZ6vZ9iX5IqImmAS1V3\niUgtYLGqNsrX5hogUVVj3fNDgVxVfU5EDqhqZfdyAfapapV8H2OXpJ6mZ5c9y4y1M1hy1xIqR1R2\nOo4xjlu+bTndZnZj5b0rqVulrtNx/MaJS1LnAn3d032B2R7arAQaiEg9EQkHerq3A9gsIq3d0zcA\nG73IYtyGtBjCtXWupcf7PcjKyXI6jjGO2ntkL71m9WLCjRNKVUHwhjc9hWrA+8B5wBbgVlXdJyLn\nAhNUNc7driPwMhAGTFTVZ9zLrwJeASKAI8C/VXWVh8+xnsJpys7NptuMbtSoUIOJXSba3ZqmVFJV\nenzQgzqV6jCmY+l7+mlxewp2R3OI+vPYn7jecdEluguPt37c6TjG+N2r37zKW9+9xfK7lxNRNsLp\nOH5ndzSbk1QMr8j83vOZ9P0kJn8/ufANjAkhq3etZkTqCGb2mFkqC4I37IF4IeyciuewoPcCXJNd\nnFvpXNpHeby4y5iQcujYIXp+2JPRMaNpcFYDp+MEHTt9VAos2bqEHu/34LM7P+PSmpc6HccYn7pr\nzl0ATOo6yeEkzrLTR6ZArc5vxdiOY4mbFsf2A9udjmOMz0xdM5Xl25YzruM4p6MELTt9VErc1vg2\nftn/C53e68TSu5ZSJfIft4QYE9Q27N7Agwsf5LM+n1ExvKLTcYKW9RRKkcHXDeb6866nxwc9OJZz\nzOk4xpSYH3//kXbvtuP5ds9z2TmXOR0nqNmYQimTnZtN95ndqXZGNSZ1nWT3MJig9+2v39J5emde\naP8Cd1x6h9NxAobdp2CK7NCxQ7gmu4hrEEeiK7HI2yUlLWHs2GQyM8sSEZFNQkIH4uJa+S6oMYVY\nunUpN79/M2/e+CbdGnl6UHPpVdyiYGMKpVCF8ArM7zWfaydey/lVzueupncVuk1S0hIGDlxIevrf\nL/RJTz/+XEQrDMYJn27+lDs/vpNpN0+j3YXtnI4TMmxMoZSqWbEmn9z+CUMXDSU5PbnQ9mPHJp9U\nEADS00cyblyKryIaU6APf/yQvrP7Mue2OVYQSpgVhVIsuno0H976IXd8dAerd60+ZdvMTM+dyqNH\nw3wRzZgCTVo1iYRPEki+I5lr617rdJyQY0WhlGt5XkvGdxpP5+md2bZ/W4HtIiKyPS6PjMzxVTRj\n/mHMV2NI/CKRxX0X21VGPmJFwXDrJbcysPlAOk3rxP6j+z22SUjoQFTUSe9WIipqGPHx9ugM43uq\nylNfPMX4b8azpN8SoqtHOx0pZNnVRwY4/ksX/0k8abvTWHD7AsLDwv/RJilpCePGpXD0aBiRkTnE\nx7e3QWbjc6rK4JTBJKcnk9wnmXMqenoZpMnPLkk1XsvJzaH7+92pGlmVd7q+Y/cwGMfl5ObwQNID\nrMlYw4LbF1DtjGoe29nl0v9kRcGUiMNZh2kzuQ0xUTE82eZJp+OYUiwrJ4s+H/fh98O/M7vnbCpF\nVPLYztPl0lFRwxkzJqZUFwZ7IJ4pEeXLlWder3m898N7TPxuotNxTCl1JOsIN828icNZh0nqnVRg\nQQC7XLqkWVEw/1CjQg0W9F7A8M+Hs3DzQqfjmFLmQOYBOr7XkSqRVZh16ywiy0aesr1dLl2yrCgY\nj6KrRzPr1ln0+bgPq3b+49XZxvjEnsN7aDelHY2qN+Ldm96lXFi5Qrexy6VLVrGLgohUE5EUEdko\nIskiUrWAdm+LSIaI/FCc7Y1zWpzXglfjXuXG6Tfyy/5fnI5jQtzOgztp/U5r2tRrw2txr1FGivb1\nZJdLl6xiDzSLyPPAblV9XkSGAGeq6iMe2l0P/AlMUdUmxdjeBpod9tLyl3h71dss+9cyqkZa7TYl\nb8u+LbSb0o5/Nf0XQ1sOPe0r3+xy6X/y+9VHIpIGtFbVDBE5B0hV1UYFtK0HzMtXFIq0vRUF56kq\nAz8dyNrf1vLpHZ96vIfBmOJK251Gh3c78HCLhxnQbIDTcUKGE1cf1VTVDPd0BlDTz9sbPxERRseM\npkpkFe6eeze5mut0JBMivtv5HW0mt+HpG562ghAgTvnobBFJATzdPnjSCTxVVREp9p/zhW2fmJiY\nN+1yuXC5XMX9KFNMYWXCeK/7e3R6rxOxU2OZctMUu7PUeGXZL8voPrM7b3R+g5suusnpOEEvNTWV\n1NRUr/fJXzH9AAAO4klEQVTj7ekjl6ruEpFawOJinD4qdHs7fRRYsnOzefKLJ5nw3QTe7vI2HRt0\ndDqSCUILNy+kz8d9eK/7e7SPsgFhX3Di9NFcoK97ui8w28/bGweULVOWJ9s8yfSbp9N/fn8GLRxE\nZnam07FMEJn14/FLnT/u+bEVhADkTU+hGvA+cB6wBbhVVfeJyLnABFWNc7ebDrQGzgJ+Ax5X1UkF\nbe/hc6ynEKD2HN7DPfPuYeu+rUy/ebo9udIUavL3k3lk0SMs6L2AprWaOh0npNmzj4wjVJU3vn2D\nxxY/xvPtnqff5f3sQXrGo3Ffj+OFL18guU8yjap7PNNsSpAVBeOotb+tpdesXjSu0ZjX416nSmQV\npyOZAKGqjFo6iknfT+KzOz+jXtV6TkcqFeyBeMZRjWs0ZsU9K6gWWY3L37ic5duWOx3JBABVZchn\nQ5ixbgZL71pqBSEIWE/BlLjZabO5b/59JDRL4JGWjxBWxh5MVhrl5ObwnwX/YdWuVXxy+ycFvgvB\n+IadPjIBZfuB7dzx0R2ICFNvmkrtyrWdjmT8KCsni76z+7Lzz53MvW3uKR99bXzDTh+ZgFKnch0W\n3bmIthe05Yo3r2BO2hynIxk/OZJ1hO7vd+fgsYMs6L3ACkKQsZ6C8bkvt33J7R/dTqf6nXixw4uc\nUe4MpyMZHzmYeZCuM7pSs2JNpnSbUqRHXxvfsJ6CCVjX1b2OVfetYveR3TR7qxnrflvndCTjA38c\n+YN277ajfrX6TL1pqhWEIGVFwfhF1ciqzLh5Bg9e8yCuyS5eX/k61gMMHbv+3IXrHRetzmvFG53f\nsIsLgpidPjJ+l7Y7jV6zenFB1Qt4q8tbdlVKEMvVXGb9OIuHP3uYu5vezfDrh9vNiwHCrj4yQSUz\nO5NHPnuEWetnMbX7VFqdX7QXoiQlLWHs2GQyM8sSEZFNQkKHUv8yFSeoKgvTFzL88+EIwqi2o+gQ\n1cHpWOYExS0Kp3x0tjG+ElE2gtGxo2kf1Z6eH/ak/xX9eaz1Y5QtU/CPZFLSEgYOXEh6+si8Zenp\nx5/iboXBf5b9soxhi4bx++HfebrN03S/qLv1DkKI9RSM43Ye3Mmds+/kSNYR3uv+HudXPd9ju5iY\nR0lOftrD8sf49NOnfB2z1Pt+1/cM/3w4635bR6IrkTsuveOURdw4y64+MkGrVqVaLLxjIV2ju3L1\nhKv5YN0HHttlZnr+Ajp61AY1fWnjno3c9uFtdHyvIx3rd2TDgA30u7yfFYQQZUXBBIQyUobBLQaT\n1DuJoYuGcu/cezl07NBJbSIisj1uGxmZ44+Ipc62/du4d+69tHi7BZfVvIzN8ZsZ0GwAEWUjnI5m\nfMiKggkoV9e+mlX3rSIzJ5OrJlzF6l2r89YlJHQgKuqkN8ESFTWM+Hh7UUtJ+v3Q7wxaOIjL37ic\nsyuczcYBGxl6/VAqhFdwOprxAxtTMAFr6pqpPLjwQR5r9RjxzeIREZKSljBuXApHj4YRGZlDfHx7\nG2QuIfuP7ud/y//HK9+8Qu/GvRneari9hzuI2SWpJiRt/mMzvWf1pkaFGkzqOomzK5ztdKSQcyTr\nCONXjOeFL1+gU4NOJLoS7RHXIcAGmk1Iql+tPsv+tYxLzr6Ey9+4nEU/LXI6UsjIysni9ZWv02Bc\nA77e8TWp/VJ5p9s7VhBKOa96Cu73LM8EzufU71l+G4gDflPVJicsfwHoDBwD0oG7VHV/vm2tp2AA\nSElPod+cfvS5tA9PtXnKnq1TTDm5OcxYO4PHUx+nfrX6jLxhJFede5XTsUwJc+T0kYg8D+xW1edF\nZAhwpqo+4qHd9cCfwJR8RaE9sEhVc0XkWYD821tRMCf6/dDv9JvTjx9//5GbGt1E1+iutDivhV0e\nWQSqyryN8xj++XAqhVdiVNtRuOq5vN6v3WUemJwqCmlAa1XNEJFzgFRV9fhGbhGpB8w7sSjkW38T\ncLOq3pFvuRUFcxJVZXXGauakzWHOhjn8sv8X4hrG0TW6Kx2iOlAxvKLTEQPO5z9/zrBFwzicdZiR\nN4ykc8POJXIXsqe7zKOihjNmTIwVBoc5VRT2quqZ7mkB/vhr3kPbepy6KMwDpqvqtHzLrSiYU/pl\n/y/M3TCXORvm8PX2r2l1fiu6RHehS3SXUn/1zIodKxj++XB+3vszT7V5ip6Ne1JGSm4o0e4yD1w+\ne/aRiKQAnn6zTrpgXFVVRIr17S0iw4Fj+QuCMUVxXpXzGNBsAAOaDWDf0X18sukT5myYw5DPhhB9\nVjRdo7vStVFXLqp+Ual5Rs+639bx2OLHWLFjBY+3fpy7Lr/LJ2Mwdpd56Cm0KKhqgXcGiUiGiJyj\nqrtEpBbw2+kGEJF+QCegbUFtEhMT86ZdLhcul+t0P8aUElUjq9KrSS96NenFsZxjpG5JZe6GucRM\njSGybOTxAhHdlevqXheSz/z/ee/PjEgdwcL0hTx83cO81/09n77pzu4yDxypqamkpqZ6vZ+SGGje\no6rPicgjQFVPA83utvXId/pIRGKB/3F8XGJ3AdvZ6SPjNVVl1a5VeeMQOw7uoHPDznnjEOXLlXc6\nold2HtzJ00ueZsa6GcQ3i2fQtYOoHFHZ55/reUxhGGPGxNqYgsOcGlOoBrwPnMcJl6SKyLnABFWN\nc7ebDrQGzuJ4b+JxVZ0kIpuAcOAP9y6Xq+q/832GFQVT4rbs25I3DvHNjm9w1XPRNborN0bfSI0K\nNZyOV6hczWX34d3sOLCDmetmMuG7CfS7rB9Drx9K9fLV/ZrF7jIPTHZHszHFtPfIXhZsWsCcDXNI\nTk/mkhqX5J1miq4e7fc82bnZ7PpzF9sPbGfHgR1sP7D9+L+Df8//evBXKoZXpHbl2lxX5zqGtxpO\nncp1/J7VBC4rCsaUgMzsTFK3pDJnwxzmbphLxfCKdI3uSpfoLlxT55q8cYjiXpt/NPsovx789e8v\n+r+++A/+Pf3bod+oXr46dSrXoU7lOtSuVDtvuk7lOtSuXJvalWr7dKzABD8rCsaUMFXl253f5o1D\nZBzKoHODztT+sz5Tn9zLzxufz2sbFTWcZ166nsbXnn/8y/3g33/hnzh9IPMA51Y69x9f9idOn1Px\nHLtb23jNioIxPvbT3p+Yu2EuT77/Mnsj9sK2FlAmGypvh0o7CCt3hKgaF/z9V32l43/Vn/jFf3aF\ns0v0PgFjCmJFwRg/cbkS+WJFAtRLhazycKAOHKhDq+aj+SL1CafjGQP48OY1Y8zJIiKy4Ug1WN/9\npOVnROb6NYc9c8j4ghUFY05TQkIH0tOH/+Pa/Pj4WL9l8HR/QHr68YcMWGEw3rDTR8YUg9PX5tsz\nh0xh7PSRMX4UF9fK0b/I7ZlDxlfsMghjgpA9c8j4ihUFY4JQQkIHoqJOelCxe1yjwOdXGlMkNqZg\nTJByelzDBDa7T8EYY0ye4hYFO31kjDEmjxUFY4wxeawoGGOMyWNFwRhjTB4rCsYYY/JYUTDGGJPH\nioIxxpg8xS4KIlJNRFJEZKOIJItI1QLavS0iGSLyQwHrHxKRXBGpVtwsxhhjSoY3PYVHgBRVbQgs\ncs97Mgnw+ExhEakLtAe2epGj1EhNTXU6QsCwY/E3OxZ/s2PhPW+KQhdgsnt6MtDNUyNVXQrsLWAf\nLwEPe5GhVLEf+L/ZsfibHYu/2bHwnjdFoaaqZrinM4Cap7OxiHQFtqvqGi8yGGOMKUGnfJ+CiKQA\n53hYddLjGVVVRaTIDygSkfLAMI6fOspbXNTtjTHG+EaxH4gnImmAS1V3iUgtYLGqNiqgbT1gnqo2\ncc83AT4DDrub1AF2AM1U9bd829rT8Iwxphj8/ea1uUBf4Dn3f2cXdUNV/YETTjeJyM/Alar6h4e2\n1oMwxhg/8WZM4VmgvYhsBG5wzyMi54pI0l+NRGQ68CXQUES2ichdHvZlvQFjjAkAAf8+BWOMMf4T\nMHc0i0isiKSJyCYRGVJAm7Hu9atFpKm/M/pLYcdCRG53H4M1IvJ/InKpEzn9oSg/F+52V4tItoh0\n92c+fyri74hLRFaJyFoRSfVzRL8pwu9IdRH5VES+dx+Lfg7E9LnCbg52tzm9701VdfwfEAZsBuoB\n5YDvgYvytekELHBPNwe+cjq3g8fiWqCKezq2NB+LE9p9DswHbnY6t4M/F1WBdUAd93x1p3M7eCwS\ngWf+Og7AHqCs09l9cCyuB5oCPxSw/rS/NwOlp9AM2KyqW1Q1C5gBdM3XJu9mOVX9GqgqIqd1b0SQ\nKPRYqOpyVd3vnv2a41dvhaKi/FwAxAMfAr/7M5yfFeVY9AZmqep2AFXd7eeM/lKUY7ETqOyergzs\nUdVsP2b0Cz31zcFQjO/NQCkKtYFtJ8xvdy8rrE0ofhkW5Vic6G5ggU8TOafQYyEitTn+hfCae1Go\nDpIV5eeiAVBNRBaLyEoR6eO3dP5VlGMxAbhERH4FVgMD/ZQt0Jz296Y3l6SWpKL+Iue/PDUUvwBO\n5ybANsC/gBa+i+OoohyLl4FHVFVFRAjdmyCLcizKAVcAbYHywHIR+UpVN/k0mf8V5VgMA75XVZeI\nRAEpInKZqh70cbZAdFrfm4FSFHYAdU+Yr8vxinaqNn/d8BZqinIscA8uTwBiVfVU3cdgVpRjcSUw\n43g9oDrQUUSyVHWufyL6TVGOxTZgt6oeAY6IyBLgMiDUikJRjsV1wEgAVU133wsVDaz0S8LAcdrf\nm4Fy+mgl0EBE6olIONCT4zfHnWgucCeAiFwD7NO/n70USgo9FiJyHvARcIeqbnYgo78UeixU9UJV\nvUBVL+D4uMIDIVgQoGi/I3OAliIS5n6UTHPgRz/n9IeiHIs0oB2A+xx6NPCTX1MGhtP+3gyInoKq\nZovIAGAhx68smKiq60XkPvf6N1R1gYh0EpHNwCHA001wQa8oxwJ4HDgTeM39F3KWqjZzKrOvFPFY\nlApF/B1JE5FPgTVALjBBVUOuKBTx52IUMElEVnP8j9+H1cMTE4Kd++bg1kB1EdkGjOD4acRif2/a\nzWvGGGPyBMrpI2OMMQHAioIxxpg8VhSMMcbksaJgjDEmjxUFY4wxeawoGGOMyWNFwRhjTB4rCsYY\nY/L8f6G/NIrkiT5JAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x80c3f98>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nbKRBM81FAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0xa487c18>"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.16 page number 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l = 6.0 #a - length of the rod\n",
+ "F = 1.0 #p - force applies in x direction \n",
+ "d = 1.0 #a \n",
+ "M = 1.0 #pa - torque applies on the rod\n",
+ "l_ab = 4.0 #a application of torque point from A\n",
+ "#M = 0 implies that\n",
+ "R_A = F/6.0 #p - The reaction at A\n",
+ "R_B = - R_A #F_Y = 0\n",
+ "\n",
+ "#Caliculations \n",
+ "\n",
+ "#Taking sections \n",
+ "#Section 1---1\n",
+ "l_1 = 1 #a - the length of the section \n",
+ "M_1 = - R_A*l_1 #M = 0\n",
+ "\n",
+ "#Section 2---2\n",
+ "l_2 = 4 #a - the length of the section \n",
+ "M_2 = - R_A*l_2 #M = 0\n",
+ "\n",
+ "l_4 = 2 #a - the length of the section \n",
+ "M_4 = 1/3.0 #pa #M = 0 '-M' because there is moment couple in between\n",
+ "\n",
+ "\n",
+ "#Section 3---3\n",
+ "l_3 = 1 #a - the length of the section \n",
+ "M_3 = 1/6.0#pa M = 0 '-M' because there is moment couple in between\n",
+ "print R_A\n",
+ "\n",
+ "#GRAPH\n",
+ "#Since the symmetry exists the graphs are also symmetry\n",
+ "%matplotlib inline\n",
+ "import math \n",
+ "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n",
+ "#Drawing of shear and bending moment diagram\n",
+ "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n",
+ "X = [0,1,4,4.00001,5,6] # For graph precision \n",
+ "M = [0,M_1,M_2,M_4,M_3,0];\t\t\t#Bending moment matrix\n",
+ "plot(X,M);\t\t\t#Bending moment diagram\n",
+ "suptitle( 'Shear and bending moment diagram')\n",
+ "xlabel('X axis')\n",
+ "ylabel( 'Y axis') ;\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "0.166666666667\n",
+ "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nWRkRIwAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x9e65940>"
+ ]
+ }
+ ],
+ "prompt_number": 150
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_1.ipynb
new file mode 100644
index 00000000..a76cd86c
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_1.ipynb
@@ -0,0 +1,578 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6a2b99a338c7d2a71ec20bddeaf4c19ec8da980602f4c9834a7faee562a1e5cc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6:Pure Bending and Bending with Axial force "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3 page number 293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#Entire area - hallow area\n",
+ "l_e = 60.0 #mm - length of the entire area\n",
+ "b_e = 40 #mm - width of the entire area\n",
+ "l_h = 30 #mm - length of the hallow area\n",
+ "b_h = 20 #mm - width of the hallow area\n",
+ "A_e = l_e*b_e #mm2 - The entire area\n",
+ "A_h = -l_h*b_h #mm2 - The hallow area '-' because its hallow\n",
+ "A_re = A_e + A_h #mm2 resultant area\n",
+ "y_e = l_e/2 # mm com from bottom \n",
+ "y_h = 20+l_h/2 #mm com from bottom \n",
+ "y_com = (A_e*y_e + A_h*y_h)/A_re \n",
+ "#moment of inertia caliculatins - bh3/12 +ad2\n",
+ "I_e = b_e*(l_e**3)/12 + A_e*((y_e-y_com)**2) #Parallel axis theorm\n",
+ "I_h = b_h*(l_h**3)/12 - A_h*((y_h-y_com)**2) #Parallel axis theorm\n",
+ "I_total = I_e - I_h\n",
+ "print \"The moment of inertia of total system is \",I_total,\"mm4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia of total system is 655000.0 mm4\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4 page number 295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 400 #mm - Length \n",
+ "b = 300 #mm - breath \n",
+ "F = 20 #KN _ the force applied on the beam \n",
+ "F_d = 0.75 #KN-m - The force distribution \n",
+ "d = 2 #mt - the point of interest from the free end\n",
+ "#caliculations \n",
+ "#From moment diagram\n",
+ "M = F*d - F_d*d*1\n",
+ "I = b*(l**3)/12 #mm4 - Bending moment diagram \n",
+ "c = l/2 # the stress max at this C\n",
+ "S = I/c #The maximum shear stress \n",
+ "shear_max = M*(10**6)/S #MPA - the maximum stress \n",
+ "print \"The maximum stress at 2 mt is\",round(shear_max,2),\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress at 2 mt is 4.81 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5 pagr number 297"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#We will divide this into three parts\n",
+ "F = 8 #k - force applied\n",
+ "d = 16 #inch -distance\n",
+ "l_1 = 1 #in \n",
+ "l_2 = 3 #in \n",
+ "b_1 = 4 #in \n",
+ "b_2 = 1 #in\n",
+ "A_1 = l_1* b_1 #in2 - area of part_1\n",
+ "y_1 = 0.5 #in com distance from ab\n",
+ "A_2 =l_2*b_2 #in2 - area of part_1\n",
+ "y_2 = 2.5 #in com distance from ab\n",
+ "A_3 = l_2*b_2 #in2 - area of part_1\n",
+ "y_3 = 2.5 #in com distance from ab\n",
+ "\n",
+ "y_net = (A_1*y_1 +A_2*y_2 + A_3*y_3)/(A_1+A_2+A_3) #in - The com of the whole system\n",
+ "c_max = (4-y_net) #in - The maximum distace from com to end\n",
+ "c_min = y_net #in - the minimum distance from com to end\n",
+ "I_1 = b_1*(l_1**3)/12 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n",
+ "I_2 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n",
+ "I_3 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n",
+ "I_net = I_1 + I_2 + I_3 #in4 - the total moment of inertia\n",
+ "M_c = F*d*c_max \n",
+ "stress_cmax = M_c/I_net #Ksi - The maximum compressive stress\n",
+ "\n",
+ "M_t= F*d*c_min \n",
+ "stress_tmax = M_t/I_net #Ksi - The maximum tensile stress\n",
+ "print \"The maximum tensile stress\",stress_tmax ,\"Ksi\"\n",
+ "print \"The maximum compressive stress\",round(stress_cmax,1) ,\"Ksi\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum tensile stress 16.0 Ksi\n",
+ "The maximum compressive stress 21.6 Ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.8 page number 303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#Given \n",
+ "#We will divide this into two parts\n",
+ "E_w = 10.0 #Gpa - Youngs modulus of wood\n",
+ "E_s = 200.0 #Gpa - Youngs modulus of steel\n",
+ "M = 30.0 #K.N-m _ applied bending moment \n",
+ "n = E_s/E_w \n",
+ "l_1 = 250 #mm \n",
+ "l_2 = 10 #mm\n",
+ "b_1 = 150.0 #mm\n",
+ "b_2 = 150.0*n #mm\n",
+ "A_1 = l_1* b_1 #mm2 - area of part_1\n",
+ "y_1 = 125.0 #mm com distance from top\n",
+ "A_2 =l_2*b_2 #mm2 - area of part_1\n",
+ "y_2 = 255.0 #mm com distance from top\n",
+ "y_net = (A_1*y_1 +A_2*y_2)/(A_1+A_2) #mm - The com of the whole system from top\n",
+ "I_1 = b_1*(l_1**3)/12.0 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n",
+ "I_2 = b_2*(l_2**3)/12.0 + A_2*((y_2-y_net)**2)\n",
+ "I_net = I_1 + I_2 #mm4 - the total moment of inertia\n",
+ "c_s= y_net # The maximum distance in steel \n",
+ "stress_steel = M*(10.0**6)*c_s/I_net #Mpa - The maximum stress in steel \n",
+ "\n",
+ "c_w= l_1+l_2-y_net # The maximum distance in wood \n",
+ "stress_wood = n*M*(10.0**6)*c_w/I_net #MPa - The maximum stress in wood \n",
+ "\n",
+ "print \"The maximum stress in steel \",round(stress_steel,2) ,\"Mpa\"\n",
+ "print \"The maximum stress in wood\",round(stress_wood,2) ,\"Mpa\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress in steel 11.49 Mpa\n",
+ "The maximum stress in wood 97.09 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9 page number 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "M = 50000 #ft-lb , positive bending moment applied\n",
+ "N = 9 # number of steel bars \n",
+ "n = 15 # The ratio of steel to concrete \n",
+ "A_s = 30 #in2 area of steel in concrete\n",
+ "#(10*y)*(y/2) = 30*(20-y)\n",
+ "#y**2 + 6*y -120\n",
+ "#solving quadractic equation \n",
+ "import math\n",
+ "\n",
+ "a = 1\n",
+ "b = 6\n",
+ "c = -120\n",
+ "# calculate the discriminant\n",
+ "d = (b**2) - (4*a*c)\n",
+ "\n",
+ "# find two solutions\n",
+ "sol1 = (-b-math.sqrt(d))/(2*a)\n",
+ "sol2 = (-b+math.sqrt(d))/(2*a)\n",
+ "y = sol2 # Nuetral axis is found\n",
+ "l_1 = y #in- the concrete below nuetral axis is not considered\n",
+ "b_1 = 10 #in - width\n",
+ "A_1 = l_1* b_1 #in2 - area of concrete\n",
+ "y_1 = y/2 #in com of the concrete \n",
+ "y_2 = 20-y #in com of the transformed steel \n",
+ "I_1 = b_1*(l_1**3)/12.0 + A_1*((y_1-y)**2) #in4 parallel axis theorm\n",
+ "I_2 = A_s*((y_2)**2) #in4 first part is neglected\n",
+ "I_net = I_1 + I_2 #in4 - the total moment of inertia\n",
+ "c_c= y #in The maximum distance in concrete \n",
+ "stress_concrete = M*12*c_c/I_net #psi - The maximum stress in concrete \n",
+ "c_s= 20- y \n",
+ "stress_steel =n*M*12*c_s/I_net #psi - The maximum stress in concrete \n",
+ "print \"The maximum stress in concrete \",round(stress_concrete,2) ,\"psi\"\n",
+ "print \"The stress in steel\",round(stress_steel,2) ,\"psi\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress in concrete 834.07 psi\n",
+ "The stress in steel 17427.61 psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.10 page number 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 50.0 #mm - the length of the beam \n",
+ "b = 50.0 #mm - the width of the beam\n",
+ "M = 2083 #Nm\n",
+ "A = l*b #mm2 - The area \n",
+ "#straight beam \n",
+ "I = b*(l**3)/12.0 #mm4 - The moment of inertia of the beam\n",
+ "c_1= l/2 # the distance where the stress is maximum \n",
+ "c_2 = -l/2 # the distance where the stress is maximum \n",
+ "s_1 = I/c_1\n",
+ "s_2 = I/c_2\n",
+ "stress_max_1 = M*(10**3)/s_1 #Mpa - the maximum strss recorded in the crossection\n",
+ "stress_max_2 = M*(10**3)/s_2 #Mpa - the maximum strss recorded in the crossection \n",
+ "print \"The maximum stress upward in straight case is\",stress_max_1,\"Mpa\"\n",
+ "print \"The maximum stress downward in straight case is\",stress_max_2,\"Mpa\"\n",
+ "\n",
+ "#curved beam \n",
+ "import math\n",
+ "r = 250.0 #mm Radius of beam curved \n",
+ "r_0 = r - l/2 # inner radius \n",
+ "r_1 = r + l/2 # outer radius\n",
+ "R = l/(math.log(r_1/r_0)) #mm \n",
+ "e = r - R \n",
+ "stressr_max_1 = M*(10**3)*(R-r_0)/(r_0*A*e)\n",
+ "stressr_max_2 = M*(10**3)*(R-r_1)/(r_1*A*e)\n",
+ "print \"The maximum stress upward in curved case is\",stressr_max_1,\"Mpa\"\n",
+ "print \"The maximum stress downward in curved case is\",stressr_max_2,\"Mpa\"\n",
+ "\n",
+ "#curved beam _2 \n",
+ "import math\n",
+ "r = 75.0 #mm Radius of beam curved \n",
+ "r_0 = r - l/2 # inner radius \n",
+ "r_1 = r + l/2 # outer radius\n",
+ "R = l/(math.log(r_1/r_0)) #mm \n",
+ "e = r - R \n",
+ "stressr_max_1 = M*(10**3)*(R-r_0)/(r_0*A*e)\n",
+ "stressr_max_2 = M*(10**3)*(R-r_1)/(r_1*A*e)\n",
+ "print \"The maximum stress upward in curved case2 is\",stressr_max_1,\"Mpa\"\n",
+ "print \"The maximum stress downward in curved case2 is\",stressr_max_2,\"Mpa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress upward in straight case is 99.984 Mpa\n",
+ "The maximum stress downward in straight case is -99.984 Mpa\n",
+ "The maximum stress upward in curved case is 107.093207632 Mpa\n",
+ "The maximum stress downward in curved case is -93.6813516989 Mpa\n",
+ "The maximum stress upward in curved case2 is 128.733538525 Mpa\n",
+ "The maximum stress downward in curved case2 is -81.0307692623 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page number 6.14 page number 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given \n",
+ "#from example 6.9\n",
+ "St_ul = 2500 #psi - ultimate strength\n",
+ "st_yl = 40000 #psi _ yielding strength \n",
+ "b = 10 #in - width from example \n",
+ "A = 2 #in2 The area of the steel\n",
+ "d = 20 \n",
+ "t_ul = st_yl*A #ultimate capasity\n",
+ "y = t_ul/(St_ul*b*0.85) #in 0.85 because its customary\n",
+ "M_ul = t_ul*(d-y/2)/12 #ft-lb Plastic moment \n",
+ "print \"The plastic moment of the system is \",M_ul,\"ft-lb\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The plastic moment of the system is 120784.313725 ft-lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.15 page number 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#From example 5.8 \n",
+ "W = 4.0 #N/m - The force distribution \n",
+ "L = 3 # m - The length of the force applied\n",
+ "M = W*L/8.0 # KN.m The moment due to force distribution\n",
+ "o = 30 # the angle of force applid to horizantal\n",
+ "l = 150.0 #mm length of the crossection \n",
+ "b = 100.0 #mm - width of the crossection \n",
+ "import math \n",
+ "M_z = M*(math.cos(3.14/6))\n",
+ "M_y = M*(math.sin(math.pi/6))\n",
+ "I_z = b*(l**3)/12.0\n",
+ "I_y = l*(b**3)/12.0\n",
+ "#tanb = I_z /I_y *tan30\n",
+ "b = math.atan(math.radians(I_z*math.tan(3.14/6.0)/I_y ))\n",
+ "print \"The angle at which nuetral axis locates is\",b,\"radians\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angle at which nuetral axis locates is 0.0226547191205 radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.16 pagenumber 323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "M = 10 #KN.m - The moment applied\n",
+ "I_max = 23.95*(10**6) #mm4 - I_z The moment of inertia\n",
+ "I_min = 2.53*(10**6) #mm4 - I_y The moment of inertia\n",
+ "o = 14.34 # degress the principle axis rotated\n",
+ "#Coponents of M in Y,Z direction \n",
+ "M_z = M*(10**6)*math.cos(math.radians(o))\n",
+ "M_y = M*(10**6)*math.sin(math.radians(o))\n",
+ "#tanb = I_z /I_y *tan14.34\n",
+ "b = math.atan((I_max*math.tan(math.radians(o))/I_min ))\n",
+ "B = math.degrees(b) \n",
+ "y_p = 122.9 # mm - principle axis Y cordinate\n",
+ "z_p = -26.95 #mm - principle axis z cordinate\n",
+ "stress_B = - M_z*y_p/I_max + M_y*z_p/I_min #Mpa - Maximum tensile stress\n",
+ "y_f = -65.97 # mm - principle axis Y cordinate\n",
+ "z_f = 41.93 #mm - principle axis z cordinate\n",
+ "stress_f = - M_z*y_f/I_max + M_y*z_f/I_min #Mpa - Maximum compressive stress\n",
+ "print \"The maximum tensile stress\",round(stress_B,2) ,\"Mpa\"\n",
+ "print \"The maximum compressive stress\",round(stress_f,2),\"Mpa\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum tensile stress -76.1 Mpa\n",
+ "The maximum compressive stress 67.73 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.18 page number 328"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "l = 50 #mm - The length of the beam \n",
+ "b = 50 #mm - The width of the beam \n",
+ "A = l*b #mm2 - The area of the beam \n",
+ "p = 8.33 #KN - The force applied on the beam \n",
+ "stress_max = p*(10**3)/A #Mpa After cutting section A--b\n",
+ "print \"The maximum stress in the beam\",stress_max ,\"Mpa \""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress in the beam 3.332 Mpa \n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.24 page number 339"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "M = 10 #KN.m - The moment applied\n",
+ "I_max = 23.95*(10**6) #mm4 - I_z The moment of inertia\n",
+ "I_min = 2.53*(10**6) #mm4 - I_y The moment of inertia\n",
+ "o = 14.34 # degress the principle axis rotated\n",
+ "#Coponents of M in Y,Z direction \n",
+ "M_z = M*(10**6)*math.cos(math.radians(o))\n",
+ "M_y = M*(10**6)*math.sin(math.radians(o))\n",
+ "#tanb = I_z /I_y *tan14.34\n",
+ "b = math.atan((I_max*math.tan(math.radians(o))/I_min ))\n",
+ "B = math.degrees(b) \n",
+ "y_p = 122.9 # mm - principle axis Y cordinate\n",
+ "z_p = -26.95 #mm - principle axis z cordinate\n",
+ "stress_B = - M_z*y_p/I_max + M_y*z_p/I_min #Mpa - Maximum tensile stress\n",
+ "y_f = -65.97 # mm - principle axis Y cordinate\n",
+ "z_f = 41.93 #mm - principle axis z cordinate\n",
+ "stress_f = - M_z*y_f/I_max + M_y*z_f/I_min #Mpa - Maximum compressive stress\n",
+ "#location of nuetral axis To show these stresses are max and minimum \n",
+ "#tanB = MzI_z + MzI_yz/MyI_y +M_YI_yz\n",
+ "I_z = 22.64 *(10**6) #mm4 moment of inertia in Z direction\n",
+ "I_y = 3.84 *(10**6) #mm4 moment of inertia in Y direction\n",
+ "I_yz =5.14 *(10**6) #mm4 moment of inertia in YZ direction \n",
+ "M_y = M #KN.m bending moment in Y dorection \n",
+ "M_z = M #KN.m bending moment in Y dorection \n",
+ "B = math.atan(( M_z*I_yz)/(M_z*I_y )) #radians location on neutral axis\n",
+ "beta = math.degrees(B)\n",
+ "print \"By sketching the line with angle\",round(beta,1),\"degrees The farthest point associated with B and F\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "By sketching the line with angle 53.2 degrees The farthest point associated with B and F\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_1.ipynb
new file mode 100644
index 00000000..05e3cf36
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_1.ipynb
@@ -0,0 +1,260 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:88c8946645e4f3f31d0d74d88b4d147ad878a660c1c0e5aff6962c72b58f187c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "chapter 4:Shear stress in Beams and Related Problems "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1 page number 365"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "shear_v = 3000 #N - Transmitted vetical shear \n",
+ "shear_al = 700 #N - The maximum allowable \n",
+ "#We will divide this into two parts\n",
+ "l_1 = 50.0 #mm \n",
+ "l_2 = 200.0 #mm \n",
+ "b_1 = 200.0 #mm \n",
+ "b_2 = 50.0 #mm\n",
+ "A_1 = l_1* b_1 #mm2 - area of part_1\n",
+ "y_1 = 25.0 #mm com distance \n",
+ "A_2 =l_2*b_2 #mm2 - area of part_1\n",
+ "y_2 = 150.0 #in com distance \n",
+ "y_net = (A_1*y_1 +A_2*y_2)/(A_1+A_2) #mm - The com of the whole system\n",
+ "c_max = (4-y_net) #mm - The maximum distace from com to end\n",
+ "c_min = y_net #mm - the minimum distance from com to end\n",
+ "I_1 = b_1*(l_1**3)/12 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n",
+ "I_2 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n",
+ "I_net = I_1 + I_2 #mm4 - the total moment of inertia\n",
+ "Q = A_1*(-y_1+y_net) #mm3\n",
+ "q = shear_v*Q/I_net #N/mm - Shear flow\n",
+ "d = shear_al/q # The space between the nails \n",
+ "print \"The minimal space between the nails \",round(d,0) ,\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimal space between the nails 42.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2 pagenumber 365"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 6 #m -length of the beam \n",
+ "p = 3 #KN-m _ the load applied\n",
+ "R_a = l*p/2 #KN -The reaction at a, Since the system is symmetry \n",
+ "R_b = l*p/2 #KN -The reaction at b \n",
+ "l_s = 10 #mm - The length of the screw \n",
+ "shear_al = 2 #KN - The maximum load the screw can take \n",
+ "I = 2.36*(10**9) #mm2 The moment of inertia of the whole system\n",
+ "#We will divide this into two parts\n",
+ "l_1 = 50.0 #mm \n",
+ "l_2 = 50.0 #mm \n",
+ "b_1 = 100.0 #mm \n",
+ "b_2 = 200.0 #mm\n",
+ "A_1 = l_1* b_1 #in2 - area of part_1\n",
+ "y_1 = 200.0 #mm com distance \n",
+ "A_2 =l_2*b_2 #mm2 - area of part_1\n",
+ "y_2 = 225.0 #in com distance\n",
+ "Q = 2*A_1*y_1 + A_2*y_2 # mm3 For the whole system\n",
+ "q = R_a*Q*(10**3)/I #N/mm The shear flow \n",
+ "d = shear_al*(10**3)/q #mm The space between the nails\n",
+ "print \"The minimal space between the nails \",round(d,0),\"mm\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimal space between the nails 123.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6 page number 376"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#we will divide this into two equal parts and other part\n",
+ "l = 10.0 # in - The height \n",
+ "t = 0.1 # in - The width\n",
+ "b = 5.0 #mm- The width of the above part \n",
+ "A = t* b #in2 - area of part\n",
+ "y_net = l/2 # The com of the system \n",
+ "y_1 = l # The position of teh com of part_2\n",
+ "I_1 = t*(l**3)/12 #in4 The moment of inertia of part 1\n",
+ "I_2 = 2*A*((y_1-y_net)**2) #in4 The moment of inertia of part 2 \n",
+ "I = I_1 + I_2 #in4 The moment of inertia \n",
+ "e = (b**2)*(l**2)*t/(4*I) #in the formula of channels\n",
+ "l_sc = e - t/2 #in- The shear centre \n",
+ "print \"The shear centre from outside vertical face is \",l_sc ,\"in\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shear centre from outside vertical face is 1.825 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.8 page number 387"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "dia = 10.0 #mm - The diameter of the cylinder \n",
+ "c = dia/2 #mm - the radius of the cylinder \n",
+ "A = 3.14*(c**2) #mm2 The area of the crossection \n",
+ "y = 4*c/(3*3.14) #mm The com of cylinder \n",
+ "I = 3.14*(c**4)/4 #mm4 - The moment of inertia of the cylinder\n",
+ "j = 3.14*(dia**4)/32 #mm4\n",
+ "T = 20.0 #N.m - The torque \n",
+ "V = 250.0 #N - The shear \n",
+ "M = 25.0 #N-m The bending moment \n",
+ "Q = A*y/2 #mm\n",
+ "stress_dmax = 4*V/(3*A) #V*Q/(I*d) #Mpa The direct maximum stress\n",
+ "stress_tmax = T*c*(10**3)/j #-Mpa The torsion maximum stress\n",
+ "stress_total = stress_dmax + stress_tmax #Mpa The total stress\n",
+ "print \"The direct maximum stress\",round(stress_dmax,2),\"Mpa\"\n",
+ "print \"The torsion maximum stress\",round(stress_tmax,2),\"Mpa\"\n",
+ "print \"The total stress\",round(stress_total,2),\"Mpa\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The direct maximum stress 4.25 Mpa\n",
+ "The torsion maximum stress 101.91 Mpa\n",
+ "The total stress 106.16 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.9 page number 393"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "dia = 15 #mm - The diameter of the rod\n",
+ "h = 0.5 #mt - The freely falling height \n",
+ "A = 3.14*(dia**2)/4 #mm2 The area of the crossection\n",
+ "E = 200 #Gpa -Youngs modulus\n",
+ "L = 750 #mm - The total length of the rod\n",
+ "G = 80 #gpa - Shear modulus \n",
+ "N = 10 #number of live coils\n",
+ "d = 5 #mm the diameter of live coil \n",
+ "m = 3 # the mass of freely falling body\n",
+ "H = 500 #mm -from mass to spring \n",
+ "F= m*9.81 #Kg the force due to that mass\n",
+ "#e = e_rod + e_spr\n",
+ "#e_rod\n",
+ "e_rod = p*L*(10**-3)/(A*E) #mm The elongation due to freely falling body\n",
+ "#e_spr\n",
+ "e_spr = 64*F*(dia**3)*N*(10**-3)/(G*(d**4)) #mm The elongation due to spring\n",
+ "e = e_rod + e_spr #mm The total elongation \n",
+ "p_dyn =F*(1+pow((1+(2*H/e)),0.5))\n",
+ "Stress_max = p_dyn/A #MPa - The maximum stress in the system \n",
+ "print \"The maximum stress in the system \",round(Stress_max,2),\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress in the system 4.84 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_1.ipynb
new file mode 100644
index 00000000..fb95b611
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_1.ipynb
@@ -0,0 +1,332 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:bed4afe1f989fb55f213b8e274b88cbf3d61242768410ad03d4984a97542fc14"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8:Transformation of stress and strain and Yield and Fracture criteria "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.1 page number 405 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "o = 22.5 #degrees , The angle of infetisimal wedge \n",
+ "A = 1 #mm2 The area of the element \n",
+ "A_ab = 1*(math.cos(radians(o))) #mm2 - The area corresponds to AB\n",
+ "A_bc = 1*(math.sin(radians(o))) #mm2 - The area corresponds to BC\n",
+ "S_1 = 3 #MN The stresses applying on the element \n",
+ "S_2 = 2 #MN\n",
+ "S_3 = 2 #MN\n",
+ "S_4 = 1 #MN \n",
+ "F_1 = S_1*A_ab # The Forces obtained by multiplying stress by their areas \n",
+ "F_2 = S_2*A_ab\n",
+ "F_3 = S_3*A_bc\n",
+ "F_4 = S_4*A_bc\n",
+ "#sum of F_N = 0 equilibrim in normal direction \n",
+ "N = (F_1-F_3)*(math.cos(radians(o))) + (F_4 - F_2)*(math.sin(radians(o)))\n",
+ "\n",
+ "#sum of F_s = 0 equilibrim in tangential direction \n",
+ "\n",
+ "S = (F_2-F_4)*(math.cos(radians(o))) + (F_1 - F_3)*(math.sin(radians(o)))\n",
+ "\n",
+ "Stress_Normal = N/A #Mpa - The stress action in normal direction on AB\n",
+ "Stress_tan = S/A #Mpa - The stress action in tangential direction on AB\n",
+ "print \"The stress action in normal direction on AB\",round(Stress_Normal,2),\"Mpa\"\n",
+ "print \"The stress action in tangential direction on AB\",round(Stress_tan,2),\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stress action in normal direction on AB 1.29 Mpa\n",
+ "The stress action in tangential direction on AB 2.12 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.2 page number 413"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "o = -22.5 #degrees , The angle of infetisimal wedge \n",
+ "A = 1 #mm2 The area of the element \n",
+ "A_ab = 1*(math.cos(radians(o))) #mm2 - The area corresponds to AB\n",
+ "A_bc = 1*(math.sin(radians(o))) #mm2 - The area corresponds to BC\n",
+ "S_1 = 3.0 #MN The stresses applying on the element \n",
+ "S_2 = 2.0 #MN\n",
+ "S_3 = 2.0 #MN\n",
+ "S_4 = 1.0 #MN\n",
+ "#Caliculations \n",
+ "\n",
+ "F_1 = S_1*A_ab # The Forces obtained by multiplying stress by their areas \n",
+ "F_2 = S_2*A_ab\n",
+ "F_3 = S_3*A_bc\n",
+ "F_4 = S_4*A_bc\n",
+ "#sum of F_N = 0 equilibrim in normal direction \n",
+ "N = (F_1-F_3)*(math.cos(radians(o))) + (F_4 - F_2)*(math.sin(radians(o)))\n",
+ "\n",
+ "#sum of F_s = 0 equilibrim in tangential direction \n",
+ "\n",
+ "S = (F_2-F_4)*(math.cos(radians(o))) + (F_1 - F_3)*(math.sin(radians(o)))\n",
+ "\n",
+ "Stress_Normal = N/A #Mpa - The stress action in normal direction on AB\n",
+ "Stress_tan = S/A #Mpa - The stress action in tangential direction on AB\n",
+ "print \"a) The stress action in normal direction on AB\",round(Stress_Normal,2),\"Mpa\"\n",
+ "print \"a) The stress action in tangential direction on AB\",round(Stress_tan,2),\"Mpa\"\n",
+ "\n",
+ "#Part- b\n",
+ "\n",
+ "S_max = (S_4+S_1)/2 + (((((S_4-S_1)/2)**2) + S_3**2)**0.5) #Mpa - The maximum stress\n",
+ "S_min = (S_4+S_1)/2.0 - (((((S_4-S_1/2))**2) + S_3**2)**0.5) #Mpa - The minumum stress\n",
+ "k = 0.5*math.atan(S_3/((S_1-S_4)/2)) #radians The angle of principle axis\n",
+ "k_1 = math.degrees(k)\n",
+ "k_2 = k_1+90 #The principle plane angles\n",
+ "print \"b) The principle stress \",round(S_max,1),\"Mpa tension\"\n",
+ "print \"b) The principle stress \",round(S_min,2),\"Mpa compression\"\n",
+ "print \"b) The principle plane angles are\",round(k_1,0),\",\",round(k_2,0),\"degrees\"\n",
+ "\n",
+ "#part-c\n",
+ "#The maximum shear stress case\n",
+ "t_xy = (((((S_4-S_1)/2)**2) + S_3**2)**0.5) #Mpa - The maximum shear stress case\n",
+ "K = 0.5*math.atan((-(S_1-S_4)/(2*S_3))) #radians The angle of principle axis\n",
+ "K_0 = math.degrees(K)\n",
+ "if K_0<0:\n",
+ " K_1 = K_0+90\n",
+ "else:\n",
+ " K_1 = K_0\n",
+ "K_2 = K_1+90 #PRinciple plain angles\n",
+ "T_xy = -((S_1-S_4)/2)*(math.sin(radians(2*K_1))) + ((S_4+S_1)/2)*(math.cos(radians(2*K_1))) # Shear stress\n",
+ "print \"c) The maximum shear is \",round(T_xy,2),\"Mpa\" \n",
+ "S_mat_a = array([round(S_max,1),round(S_min,1),0]) #MPa maximum stress matrix\n",
+ "S_mat_b = array([(S_4+S_1)/2,round(T_xy,2),round(T_xy,2),(S_4+S_1)/2]) #MPa maximum stress matrix at maximum shear\n",
+ "print \"a)\",S_mat_a,\"Mpa\"\n",
+ "print \"b)\",S_mat_b,\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The stress action in normal direction on AB 4.12 Mpa\n",
+ "a) The stress action in tangential direction on AB 0.71 Mpa\n",
+ "b) The maximum stress 4.2 Mpa tension\n",
+ "b) The minumum stress -0.06 Mpa compression\n",
+ "b) The principle plane angles are 32.0 , 122.0 degrees\n",
+ "c) The maximum shear is -2.24 Mpa\n",
+ "a) [ 4.2 -0.1 0. ] Mpa\n",
+ "b) [ 2. -2.24 -2.24 2. ] Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3 page number 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "S_x = -2 #Mpa _ the noraml stress in x direction\n",
+ "S_y = 4 #Mpa _ the noraml stress in Y direction\n",
+ "c = (S_x + S_y)/2 #Mpa - The centre of the mohr circle \n",
+ "point_x = -2 #The x coordinate of a point on mohr circle\n",
+ "point_y = 4 #The y coordinate of a point on mohr circle\n",
+ "Radius = pow((point_x-c)**2 + point_y**2,0.5) # The radius of the mohr circle\n",
+ "S_1 = Radius +1#MPa The principle stress\n",
+ "S_2 = -Radius +1 #Mpa The principle stress\n",
+ "S_xy_max = Radius #Mpa The maximum shear stress\n",
+ "print \"The principle stresses are\",S_1 ,\"Mpa\",S_2,\"Mpa\"\n",
+ "print \"The maximum shear stress\",S_xy_max,\"Mpa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The principle stresses are 6.0 Mpa -4.0 Mpa\n",
+ "The maximum shear stress 5.0 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4 page number 423"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math \n",
+ "S_x = 3.0 #Mpa _ the noraml stress in x direction\n",
+ "S_y = 1.0 #Mpa _ the noraml stress in Y direction\n",
+ "c = (S_x + S_y)/2 #Mpa - The centre of the mohr circle \n",
+ "point_x = 1 #The x coordinate of a point on mohr circle\n",
+ "point_y = 3 #The y coordinate of a point on mohr circle\n",
+ "#Caliculations \n",
+ "\n",
+ "Radius = pow((point_x-c)**2 + point_y**2,0.5) # The radius of the mohr circle\n",
+ "#22.5 degrees line is drawn \n",
+ "o = 22.5 #degrees \n",
+ "a = 71.5 - 2*o #Degrees, from diagram \n",
+ "stress_n = c + Radius*math.sin(math.degrees(o)) #Mpa The normal stress on the plane \n",
+ "stress_t = Radius*math.cos(math.degrees(o)) #Mpa The tangential stress on the plane\n",
+ "print \"The normal stress on the 221/2 plane \",round(stress_n,2),\"Mpa\"\n",
+ "print \"The tangential stress on the 221/2 plane \",round(stress_t,2),\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress on the 221/2 plane 4.82 Mpa\n",
+ "The tangential stress on the 221/2 plane 1.43 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 84
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.7 page number 437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "e_x = -500 #10-6 m/m The contraction in X direction\n",
+ "e_y = 300 #10-6 m/m The contraction in Y direction\n",
+ "e_xy = -600 #10-6 m/m discorted angle\n",
+ "centre = (e_x + e_y)/2 #10-6 m/m \n",
+ "point_x = -500 #The x coordinate of a point on mohr circle\n",
+ "point_y = 300 #The y coordinate of a point on mohr circle\n",
+ "Radius = 500 #10-6 m/m - from mohr circle\n",
+ "e_1 = Radius +centre #MPa The principle strain\n",
+ "e_2 = -Radius +centre #Mpa The principle strain\n",
+ "k = math.atan(300.0/900) # from geometry\n",
+ "k_1 = math.degrees(k)\n",
+ "print \"The principle strains are\",e_1,\"um/m\",e_2,\"um/m\"\n",
+ "print \"The angle of principle plane\",round(k_1,2) ,\"degrees\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The principle strains are 400 um/m -600 um/m\n",
+ "The angle of principle plane 18.43 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8 page number 441"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "e_0 = -500 #10-6 m/m \n",
+ "e_45 = 200 #10-6 m/m \n",
+ "e_90 = 300 #10-6 m/m\n",
+ "E = 200 #Gpa - youngs modulus of steel \n",
+ "v = 0.3 # poissions ratio \n",
+ "#Caliculations \n",
+ "\n",
+ "e_xy = 2*e_45 - (e_0 +e_90 ) #10-6 m/m from equation 8-40 in text\n",
+ "# from example 8.7\n",
+ "e_x = -500 #10-6 m/m The contraction in X direction\n",
+ "e_y = 300 #10-6 m/m The contraction in Y direction\n",
+ "e_xy = -600 #10-6 m/m discorted angle\n",
+ "centre = (e_x + e_y)/2 #10-6 m/m \n",
+ "point_x = -500 #The x coordinate of a point on mohr circle\n",
+ "point_y = 300 #The y coordinate of a point on mohr circle\n",
+ "Radius = 500 #10-6 m/m - from mohr circle\n",
+ "e_1 = Radius +centre #MPa The principle strain\n",
+ "e_2 = -Radius +centre #Mpa The principle strain\n",
+ "\n",
+ "stress_1 = E*(10**-3)*(e_1+v*e_2)/(1-v**2) #Mpa the stress in this direction \n",
+ "stress_2 = E*(10**-3)*(e_2+v*e_1)/(1-v**2) #Mpa the stress in this direction \n",
+ "print\"The principle stresses are \",round(stress_1,2),\"Mpa\",round(stress_2,2),\"MPa\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The principle stresses are 48.35 Mpa -105.49 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 91
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_1.ipynb
new file mode 100644
index 00000000..64ddecc8
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_1.ipynb
@@ -0,0 +1,246 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:cfde82eb2eac726301e92e1b27c27d3628db6f9b0e8b5d7b0cd15017ca0006f7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9:Elastic stress analysis and design"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4 pagenumber 465"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "b = 40.0 #mm - The width of the beam crossection\n",
+ "h = 300.0 #mm - The length of the beam crossection \n",
+ "V = 40.0 #KN - The shear stress in teh crossection\n",
+ "M = 10.0 #KN-m - The bending moment on K----K crossection \n",
+ "c = h/2 #mm -The position at which maximum stress occurs on the crossection\n",
+ "I = b*(h**3)/12 #mmm4 - the moment of inertia \n",
+ "#Caliculations \n",
+ "\n",
+ "stress_max_1 = M*c*(10**6)/I #The maximum stress occurs at the end\n",
+ "stress_max_2 = -M*c*(10**6)/I #The maximum stress occurs at the end\n",
+ "y = 140 #mm The point of interest, the distance of element from com\n",
+ "n = y/(c) # The ratio of the distances from nuetral axis to the elements\n",
+ "stress_L_1 = n*stress_max_1 #The normal stress on elements L--L\n",
+ "stress_L_2 = -n*stress_max_1 #The normal stress on elements L--L\n",
+ "x = 10 #mm The length of the element\n",
+ "A = b*x #mm3 The area of the element \n",
+ "y_1 = y+x/2 # the com of element from com of whole system\n",
+ "stress_xy = V*A*y_1*(10**3)/(I*b) #Mpa - The shear stress on the element \n",
+ "#stresses acting in plane 30 degrees \n",
+ "o = 60 #degrees - the plane angle\n",
+ "stress_theta = stress_L_1/2 + stress_L_1*(math.cos(math.radians(o)))/2 - stress_xy*(math.sin(math.radians(o))) #Mpa by direct application of equations\n",
+ "stress_shear = -stress_L_1*(math.sin(math.radians(o)))/2 - stress_xy*(math.cos(math.radians(o))) #Mpa Shear stress\n",
+ " \n",
+ "print \"a)The principle stresses are \",round(stress_max_1,2),\"MPa,\",round(stress_max_2,2),\"Mpa\"\n",
+ "print \"b)The stresses on inclines plane \",round(stress_theta,2),\"Mpa noraml, \",round(stress_shear,2),\"Mpa shear \""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)The principle stresses are 16.67 MPa, -16.67 Mpa\n",
+ "b)The stresses on inclines plane 11.11 Mpa noraml, -7.06 Mpa shear \n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5 page number 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "M = 10 #KN-m moment\n",
+ "v = 8.0 #KN - shear Stress \n",
+ "stress_allow = 8 #MPa - The maximum allowable stress\n",
+ "shear_allow_per = 1.4 #Mpa - The allowable stress perpendicular to grain\n",
+ "stress_allow_shear = 0.7 #MPa - The maximum allowable shear stress\n",
+ "#Caliculations \n",
+ "\n",
+ "S = M*(10**6)/stress_allow #mm3 \n",
+ "#lets arbitarly assume h = 2b\n",
+ "#S = b*(h**2)/6\n",
+ "h = pow(12*S,0.333) #The depth of the beam\n",
+ "b = h/2 #mm The width of the beam\n",
+ "A = h*b #mm2 The area of the crossection , assumption\n",
+ "stress_shear = 3*v*(10**3)/(2*A) #Mpa The strear stress \n",
+ "if stress_shear<stress_allow_shear:\n",
+ " print \"The stress developed \",round(stress_shear,2),\" is in allowable ranges for \",round(A,2),\"mm2 area\"\n",
+ "else:\n",
+ " print \"The stress developed\",stress_shear,\" is in non allowable ranges\",A,\"area\"\n",
+ "Area_allow = v*(10**3)/shear_allow_per #mm - the allowable area\n",
+ "print \"The minimum area is \",Area_allow ,\"mm2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stress developed 0.4 is in allowable ranges for 30077.85 mm2 area\n",
+ "The minimum area is 5714.28571429 mm2\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 36,
+ "text": [
+ "8.0"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6 page number 478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "stress_allow = 24 #ksi - The maximum allowable stress\n",
+ "stress_allow_shear = 14.5 #ksi- The maximum allowable shear stress\n",
+ "M_max = 36 #k-ft The maximum moment\n",
+ "l = 16 #in-The length of the rod\n",
+ "w = 2 #k/ft - The force distribution on the rod\n",
+ "R_A = 6.4 #k - The reaction at A\n",
+ "R_B = 25.6 #k - the reaction at B\n",
+ "v_max = R_B-l*w #kips the maximum stress, from diagram\n",
+ "#W8x24 is used from the appendix table 3 and 4 \n",
+ "l =0.245 #in - W8x24 crossesction length\n",
+ "#Caliculations \n",
+ "\n",
+ "stress_xy = v_max/A #ksi the approximate shear stress \n",
+ "if stress_xy < stress_allow_shear:\n",
+ " print \"W8x24 gives the allowable ranges of shear stress\"\n",
+ "else:\n",
+ " print \"W8x24 doesnot gives the allowable ranges of shear stress\"\n",
+ "k = 7.0/8 #in the distance from the outer face of the flange to the webfillet\n",
+ "#at+kt should not exceed 0.75 of yeild stress\n",
+ "#a1t+2kt should not exceed 0.75 of yeild stress\n",
+ "Stress_yp = 36 #Ksi - The yeild stress\n",
+ "t = 0.245 #in thickness of the web\n",
+ "#support a \n",
+ "a = R_A/(0.75*Stress_yp*t)-k #in lengths of the bearings\n",
+ "#support b\n",
+ "a_1 = R_B/(0.75*Stress_yp*t)-2*k #in lengths of the bearings\n",
+ "print \"lengths of the bearing at A \",round(a,3),\"in\"\n",
+ "print \"lengths of the bearing at B\",round(a_1,3),\"in\"\n",
+ " \n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "W8x24 gives the allowable ranges of shear stress\n",
+ "lengths of the bearing at A 0.092 in\n",
+ "lengths of the bearing at B 2.12 in\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 44,
+ "text": [
+ "0.875"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8 page number 483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given \n",
+ "hp = 63000 #horse power\n",
+ "T = hp*20*(10**-3)/63 #k-in the torsion implies due to horse power\n",
+ "stress_allow_shear = 6 #ksi- The maximum allowable shear stress\n",
+ "M_ver = 6.72/2 #k-in the vertical component of the moment \n",
+ "M_hor = 9.10 #k-in the horizantal component of the moment \n",
+ "#Caliculations \n",
+ "\n",
+ "M = pow(((M_ver**2)+(M_hor**2)),0.5) #K-in The resultant \n",
+ "d = pow((16*(((M**2)+(T**2))**0.5)/(stress_allow_shear*3.14)),0.333) #in, The suggested diameter from derivation\n",
+ "print \"The suggested diameter is\",round(d,2),\"in\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The suggested diameter is 2.66 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_2.ipynb
new file mode 100644
index 00000000..d6d687b7
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_2.ipynb
@@ -0,0 +1,289 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2f0c9cb537209e742ab15685141324ee1ed15f7e17522fe250536619498277f1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chaper 3:Generalized hooke's law, Pressure vessels and Thick walled cylinders"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 page number 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "th = 8 #mm - thickness \n",
+ "G = 0.64 #N/mm2 -shear modulus\n",
+ " \n",
+ "a = 40 #mm length\n",
+ "b = 20 #mm width \\\n",
+ "Area = a*b #mm2\n",
+ "e = randn() # lets say any random vale\n",
+ "strain = e/th # strain in shearing case\n",
+ "#caliculations\n",
+ "\n",
+ "stress =G*strain\n",
+ "F = stress*Area\n",
+ "#stiffness = froce/displacement\n",
+ "k = F/e #N/mm\n",
+ "print \"the stiffness constant is \",k,\"N/mm\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the stiffness constant is 64.0 N/mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 page number 149\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "a = 50 #mm - length of a cube\n",
+ "E = 200 # Gpa - the youngs modulus \n",
+ "v = 0.25 # no units- poissions ratio \n",
+ "pressure = 200 # Mpa - pressure acting on all sides \n",
+ "#pressure is a compressive stress \n",
+ "S_x = -200 # Gpa - The stress in X direction \n",
+ "S_y = -200 # Gpa - The stress in Y direction\n",
+ "S_z = -200 # Gpa - The stress in Z direction\n",
+ "#Caliculations\n",
+ "\n",
+ "e = S_x*pow(10,-3)/E - v*S_y*pow(10,-3)/E-v*S_z*pow(10,-3)/E#mm - considering all three directions \n",
+ "x = e*a #mmThe change in the dimension between parallel faces\n",
+ "print \"The change in the dimension between parallel faces is \",x,\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in the dimension between parallel faces is -0.025 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3 page number 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "R = 1000 # mm - radius of the cylinder \n",
+ "t = 10 #mm - thickness of the cylinder\n",
+ "p_in = 0.80 #Mpa- Internal pressure \n",
+ "E = 200 #Mpa- youngs modulus \n",
+ "v = 0.25 # poission ratio\n",
+ "#caliculations\n",
+ "\n",
+ "Stress_1 = p_in*R/t #Mpa -Hoop stress #From derived expressions \n",
+ "Stress_2 = p_in*R/(2*t) #Mpa- Longitudinal stress \n",
+ "e = Stress_1*pow(10,-3)/E-v*Stress_2*pow(10,-3)/E\n",
+ "dia_change = e*R #mm- The change in daimeter of the cylinder \n",
+ "print \"The Hoop stress is \",Stress_1,\"mm\"\n",
+ "print \"The longitudinal stress is \",Stress_2, \"mm\"\n",
+ "print \"The change in daimeter of the cylinder is\",dia_change,\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Hoop stress is 80.0 mm\n",
+ "The longitudinal stress is 40.0 mm\n",
+ "The change in daimeter of the cylinder is 0.35 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 page number 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "R = 1000 #mm - radius of the cylinder\n",
+ "th = 10 #mm - thickness of the cylinder\n",
+ "E = 200 #Mpa- youngs modulus \n",
+ "v = 0.25 # poission ratio\n",
+ "#caliculations\n",
+ "\n",
+ "Stress_1 = p_in*R/(2*t) #Mpa -Hoop stress #From derived expressions \n",
+ "Stress_2 = p_in*R/(2*t) #Mpa- Longitudinal stress\n",
+ "# Hoop stress and Longitudinal stress are same in this case\n",
+ "e = Stress_1*pow(10,-3)/E-v*Stress_2*pow(10,-3)/E\n",
+ "dia_change = e*R #mm- The change in daimeter of the cylinder\n",
+ "print \"The maximum stress is \",Stress_2, \"mm\"\n",
+ "print \"The change in daimeter of the cylinder is\",dia_change,\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress is 40.0 mm\n",
+ "The change in daimeter of the cylinder is 0.15 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5 page number 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "p_in = 0.7 #Mpa - internal pressure \n",
+ "n_bolts = 20 # number of bolts \n",
+ "dia = 650 #mm - bolt circle diameter \n",
+ "stress_allow = 125 #mm Maximum alowable stress\n",
+ "Stress_conc = 2 #stress concentration\n",
+ "d = 25 #mm \n",
+ "#caliculations\n",
+ "\n",
+ "F = p_in*3.14*pow(((dia-2*d)/2),2)*pow(10,6) #N\n",
+ "F_each = F/n_bolts #N- force per each Bolt\n",
+ "A = Stress_conc*F_each/(stress_allow*pow(10,-6)) #mm2 The bolt area \n",
+ "Bolt_dia = 2*pow((round(A,3)/3.14),0.5)*pow(10,-7) #mm the bolt daimeter\n",
+ "print \"The diameter of each bolt is\",Bolt_dia,\"mm\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diameter of each bolt is 1.41985914794 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 page number 166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "r_1 = randn()# let r_1 is a random number \n",
+ "t = 0.1*r_1 #Thickness\n",
+ "r_2 = r_1+t #Outer Radius\n",
+ "#caliculations\n",
+ "\n",
+ "stress_1_a= ((r_1**2)/((r_2**2)-(r_1**2)))*(1+((r_2**2)/(r_1**2)))#p -r =r_2\n",
+ "stress_2_a= ((r_1**2)/((r_2**2)-(r_1**2)))*(1+((r_2**2)/(r_2**2)))#p -r =r_1\n",
+ "stress_avg_a=(stress_1_a+stress_2_a)/2 #p\n",
+ "print \"The average stress in case a is\",stress_avg_a,\"p\"\n",
+ "\n",
+ "#Case-B\n",
+ "#Given\n",
+ "r_1 = randn()# let r_1 is a random number \n",
+ "r_2_b= 4*r_1 \n",
+ "#caliculations\n",
+ "\n",
+ "stress_1_b = ((r_1**2)/((r_2_b**2)-(r_1**2)))*(1+((r_2_b**2)/(r_1**2)))#p -r =r_2\n",
+ "stress_2_b= ((r_1**2)/((r_2_b**2)-(r_1**2)))*(1+((r_2_b**2)/(r_2_b**2)))#p -r =r_1\n",
+ "stress_avg_b=(stress_1_b+stress_2_b)/2 #p\n",
+ "print \"The average stress in case b is\",stress_2_b,\"p\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average stress in case a is 10.0238095238 p\n",
+ "The average stress in case b is 0.133333333333 p\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.JPG b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.JPG
new file mode 100644
index 00000000..2d79b817
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.JPG
Binary files differ
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.JPG b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.JPG
new file mode 100644
index 00000000..473e7e14
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.JPG
Binary files differ
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.JPG b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.JPG
new file mode 100644
index 00000000..c23995b4
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.JPG
Binary files differ