summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1.ipynb437
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10.ipynb896
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11.ipynb375
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12.ipynb405
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2.ipynb327
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4.ipynb447
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5.ipynb870
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6.ipynb578
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7.ipynb260
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8.ipynb332
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9.ipynb246
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3.ipynb289
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_1.ipynb289
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/Untitled.pngbin0 -> 21406 bytes
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap2.pngbin0 -> 13440 bytes
-rw-r--r--Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap3.pngbin0 -> 18752 bytes
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch1.ipynb811
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch10.ipynb687
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch11.ipynb113
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch12.ipynb482
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch2.ipynb1319
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch3.ipynb258
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch4.ipynb1069
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch5.ipynb1034
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch6.ipynb600
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch7.ipynb667
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch8.ipynb542
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/Ch9.ipynb1041
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/12refCoeff.pngbin0 -> 22298 bytes
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/1RefCoeff.pngbin0 -> 47894 bytes
-rw-r--r--Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/6axialPhasVel.pngbin0 -> 36520 bytes
31 files changed, 14374 insertions, 0 deletions
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1.ipynb
new file mode 100644
index 00000000..ed833104
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10.ipynb
new file mode 100644
index 00000000..695fe138
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11.ipynb
new file mode 100644
index 00000000..aa2f8723
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12.ipynb
new file mode 100644
index 00000000..13fb52c7
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12.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/chapter2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2.ipynb
new file mode 100644
index 00000000..5c92d3ed
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4.ipynb
new file mode 100644
index 00000000..cf156252
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5.ipynb
new file mode 100644
index 00000000..089d0b85
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5.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": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEhCAYAAABycqfJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xv8lGWd//HXW/AEhpL9VEwKzaVVlxQwQ1P7VlqWhZpu\nZLaLKZrlphi4asoG7uoWCppbuoaQh9ZoZdN0TcnUr9imJiKimKfQldI8rCgpHhA+vz+uGxnxe2Zm\nrpnv/X4+HvPgnpn78JkZvvOZ67ru+/ooIjAzs/LaIHcAZmaWlxOBmVnJORGYmZWcE4GZWck5EZiZ\nlZwTgZlZyTkRNClJp0t6QNJ9ku6V9OHi8SckvTt3fJ1pL05JL9foeJdKOrRYniFpp1ocpxFI2lXS\nZ7q4bqukEcXy9ZIG1DY6a0R9cwdg3SdpT+BAYHhErCy+UDcung5AVT5e34h4s5r7JMXZncercbwA\niIhjanSMRjEcGAnc0IV133q/I+LAahxcUp+IWFWNfVl9uEXQnLYBno+IlQAR8UJEPF3x/Dcl3SNp\nkaQPAkjqL2mWpLskLZA0unh8iKR5xfr3FEkGSS2Sbpf0C2DxugFIulDS3UWrZHLF409ImtzG8beU\n9Kti/Rl0kKwkTS/W+7Wk9xSPfUDSDZLmF/Gu2e+lkr4v6X8k/aHiV78k/UDSQ5JuAraq2H/lr+CX\nJf2LpIWS7pC0VcXx7ixew79I+ksbcQ4p9v9jSQ9L+g9JnypieaSilfZuSdcUrbc7JA0rHp8s6bLi\n9Twh6QuSzi2OeYOkvsV6I4uY50u6UdI2Fa/ju8Vn+rCkvSVtCJwJjClain+7TsybSpot6UFJPwc2\nXeeze3exfHVxvAckHVOxztHFse4qWlb/VvE5/LukO4HvSfqwpN8W/9f+R9LQYr0ji/fiV5Iel/QP\nkiYW690haWB7/y+shiLCtya7Af2Be4GHgR8C+1Y89zhwfLH8dWBGsXw2cESxvEWxbT/SF8HGxeN/\nBdxdLLcALwPvbyeGgcW/fYBbgb/p5PgXAGcUy58FVgPvbmO/q4HDi+VJwL8VyzcDOxbLHwFuLpYv\nBX5WLO8EPFosfwH4FSnhDAKWAV8onrsVGFFxvAOL5e8BpxfL/w2MKZa/BvyljViHACuBXYrjzAdm\nFs+NBq4ulv8NmFQsfxy4t1ieDMwr3sMPASuATxfP/Rw4CNgQ+C2wZfH4mIpj3AqcUyx/BripWB4L\nXNDO5/Yt4JJieVgR/5r34vE1n0nF57spcD8wENi2WGcLUm/CvDXHKT6HawEV998F9CmW9wPmFMtH\nAo+S/g+/B3gJOLZ4bjpwYu6/rzLe3DXUhCLiFUkjgX1IXyw/k3RqRFxWrPLz4t8FpC9EgE8Bn5c0\nsbi/MTAY+DPwA0m7AqtIyWCN30XE/7YTxpjil2Jf0hftzsADHRx/H+CQIv5fSlrWzn5XAz8rln8C\n/FxSf2Av4CrprYbERmveDuCaYr+/l7R18fi+wJWRvmGelnRLO8d7IyKuL5bvAfYvlkeRvswBfgqc\n2872j0fEYgBJi4FfF48/QEoUAB+leB8i4taidfSuIvYbImKVpAeADSJibrHN/cX2Q0mJ5tfFa+8D\nPFVx/Mr3es3xRPstrn2A7xex3C9pUTvrnSjp4GJ5uyKOQcBtEfFi8XqvKh6neC1XFe83pGRxuaQd\ni+cqv2tujYhXgFckvQhcV/GaP9ROPFZDTgRNKiJWA7cBt0m6n/QrcE0ieL34dxVv/4y/EBGPVu5H\nqVvn6Yj4O0l9gNcqnn6lrWNL2h6YAOweES9J+jGwScUq7R2/u2MXIn2JbAAsi4jh7az3RhvH6OpY\nycqK5dV0/2/i9Yrl1RWxrLuv9mJ5A9LnKamtWAQsjoi9Ojn+uu91Rzp8XyS1AJ8ERkXEa5JuJX2+\n647frLufFRXL/0xqtR0i6f1AaxsxQ3qdr1cs+zspA48RNCFJQyVV/nIfDjzRyWZzgRMq9rHmS3UA\nqVUA8PekX5ydGUBKEsuLX+BdOUNlHvDl4tifIXU1tGUDYE2/9peB2yPiL8Djkg4rtpekzn45ziO1\nWjaQNIjUcuqOO4HDiuUvdXPbdd0OHAFvfck+V7ymriSqh4H/J2lUsf2GknbuZJvlpK6ZtlR+Dn9D\n27/AB5AS72uS/prUOgrgbuBjkrYoxi8Opf3B/QGsbbl8tZN416jqSQ7WdU4EzWkz4FJJiyXdB/w1\nqb8Z3v6HGRX3/xnYsBiIfACYUjx+ITBW0kLgg6Rxgcrt3yEi7iONUTwE/Afwm3birDz+FGDf4tiH\nAO11Ob0C7FG0clpIA5+QvkiPLuJ8gLXdNm29ZiLialJf9IOkltJvO4ixrXjHA98qjvcBUl92Z9u3\nGQvpsxlZfFZnk1pv6x6vzX1FOiHgMNIA7ELS+75nJ7HcCuzc1mAxcBGwmaQHSZ/J/Db2cyPQt1jn\nX4E7imCeKuL/Hekzf5y3vy+V8U8F/lXSAtKPi6hYp73XvO5zVida26VnZmtI2jQiXi2Wv0QaOD4k\nc1jZSepfjFH1JY1PzIyIX+SOy9aP++PM2jZS0g9I3RXLgKMyx9MoJkvajzRmMNdJoHdwi8DMrOQ8\nRmBmVnJOBGZmJedEYGZWck4EZmYl50RgZlZyTgRmZiXnRGBmVnLZE4GkPsWl8Nd1vraZmVVb9kQA\nnEiaD8ZXtpmZZZA1EUjajlSk5BI886CZWRa5WwTnASeT5iE3M7MMsiUCSZ8Dno2Ie3FrwMwsm2yT\nzkk6G/g74E3STIYDgP+KiL+vWMfjBmZmPRARXf6Bna1FEBHfjojBEbE9qQLULZVJoGK9ct8mTiTG\nj+c73/lO/lga5Ob3osHei//9X+I97yEWLfJ70SC37so9RlDJv/7XtXw5zJoFJ56YOxKz9r3vffDd\n78LYsbByZefrW8NpiEQQEbdFxOjO1yyZmTNh//1hyJDckZh17KijYJtt4KyzckdiPeAKZY3qzTfh\n/PNhzhwAWlpa8sbTQPxerNUw74UEM2bA8OEwejSMGFH3EBrmvWhCDV2hTFI0cnw1NXs2XHghzJuX\nOxKzrrviCpg6FebPh403zh1NaUkimmGw2DoQAdOmwYQJuSMx656vfAU+8AGYMiV3JNYNTgSN6Pbb\n4aWX4POfzx2JWfdIcPHFaXzrrrtyR2Nd5ETQiKZNg299Czbwx2NNaOut4YIL0llEr76aOxrrAo8R\nNJqHH4Z99oEnnoB+/XJHY9ZzX/wiDB6cfthYXXV3jMCJoNEcdxxstRWceWbuSMzWz/PPw7BhcNVV\nsPfeuaMpFSeCZvbcczB0KDz0UGpemzW7a66Bk0+GhQuhf//c0ZSGzxpqZhddBIce6iRgvcfBB8Oo\nUXDqqbkjsQ64RdAoXnstXUF8yy2w8865ozGrnmXLUhfR5ZfDJz6RO5pScIugWf3kJzBypJOA9T4D\nB8KPfpSmoVi+PHc01ga3CBrB6tWwyy7wwx/6F5P1XkcfDX37pusMrKbcImhGN9wAm2wCH/947kjM\namf6dLjxRpg7N3cktg4ngkawZjoJuVCb9WKbb56uOB43Dl58MXc0VsFdQ7nde2+arXHJEthww9zR\nmNXe17+erji+9NLckfRa7hpqNtOmwQknOAlYeZxzTppV99prc0diBbcIclq6FHbdNbUGttgidzRm\n9XPbbfDlL8OiRbDllrmj6XV8ZXEzOfnkVIDmvPNyR2JWf+PHw7PPwpVX5o6k13EiaBbLl8P228M9\n97gUpZXTihWpotnZZ6cr6q1qPEbQLFyP2MquX780YHz88allYNm4RZDDm2+mKk5z5sCHP5w7GrO8\n/vEf4Q9/SH8PPoW6KtwiaAZz5sD73+8kYAZpyvWHHkp1ui0LtwjqLQL22APOOAMOOih3NGaNYf58\nOPDANF31oEG5o2l6bhE0OtcjNnun3XeHY49Nt972468JOBHUm+sRm7Vt0iR48km47LLckZSOu4bq\nyfWIzTq2cGE6m27BglTv2HrEXUON7LzzUk1iJwGztu22W5pyZdw4dxHVkVsE9eJ6xGZds3Il7Lnn\n2jED67amubJY0ibAbcDGwEbALyLitHXW6T2J4Mwz09xCM2bkjsSs8S1eDC0tcPfdvuiyB5omEQBI\n6hcRKyT1BX4DTIyI31Q83zsSwZp6xLfeCjvtlDsas+YwdWoq2nTzzT65opuaaowgIlYUixsBfYAX\nMoZTO2vqETsJmHXdhAnpR9QPf5g7kl4vd4tgA2AB8AHgooj4x3Web/4WgesRm/Xcww/DRz8Kd94J\nO+6YO5qm0WwtgtURsRuwHbCvpJac8dSE6xGb9dwHP5iuwj/ySFi1Knc0vVbf3AEARMRLkq4Hdgda\nK5+bPHnyW8stLS20tLTUM7T1N20aTJzoybTMeuqEE+Dqq+H881N3kb1Da2srra2tPd4+51lD7wHe\njIgXJW0KzAWmRMTNFes0d9eQ6xGbVceSJWmOrttv91hbFzRT19Ag4BZJC4G7gOsqk0Cv4HrEZtWx\nww7pFOyxY9M07lZVvqCsVlyP2Ky6Vq+GT30KPvlJOO20ztcvsaa6jqAzTZ0IXI/YrPqefDKdin3L\nLTBsWO5oGpYTQSNwPWKz2pk5M52Ofddd7nZtRzONEfRerkdsVjtHHQXbbANnnZU7kl7DLYJqcz1i\ns9r7059g+HC48UYYMSJ3NA3HLYLcXI/YrPbe+950Vt7YsfD667mjaXpOBNUUkf5z+qIXs9r7yldS\n63vKlNyRND0ngmpyPWKz+pHg4oth1qw0cGw95kRQTa5HbFZfW28NF1yQuohefTV3NE3Lg8XV4nrE\nZvmMGQPbbZd+jJmvI8jmuONgq63SZfBmVl/PP58uMLvqKth779zRZOdEkIPrEZvld8016Yr+hQuh\nf//c0WTl00dzuOgiOOwwJwGznA4+GEaNglNPzR1J03GLYH25HrFZ41i2LHURXX55qSsCukVQb1dc\n4XrEZo1i4ED40Y/SNBTLl+eOpmm4RbA+XI/YrDEdfTT07ZuuMyghtwjqyfWIzRrT9OlpHqK5c3NH\n0hScCNaH6xGbNabNN0+zAI8bBy++mDuahueuoZ5asAAOOsj1iM0a2Te+AStWwKWX5o6krtw1VC+u\nR2zW+KZOhXnz4Nprc0fS0Nwi6AnXIzZrHrfdBl/+MixaBFtumTuauvCVxfXgesRmzWX8eHj2Wbjy\nytyR1IUTQa25HrFZ81mxIlU0O/tsOPTQ3NHUnMcIas31iM2aT79+acD4+ONTy8Dexi2C7nA9YrPm\ndsop8Nhj6W+4F5/27RZBLbkesVlzmzIlzRI8e3buSBqKWwRdFQF77AGTJsHo0bmjMbOemj8fDjww\nTVc9aFDuaGrCLYJauf32NFD8uc/ljsTM1sfuu8Oxx6Zbo/zQzMyJoKumTYOTTnI9YrPeYNKkdD3Q\nZZfljqQhuGuoK1yP2Kz3ue8+2G+/NF3M4MG5o6mqpukakjRY0q2SFkt6QNIJuWLp1HnnpZrETgJm\nvceuu6ZpYsaNK30XUbYWgaRtgG0iYqGkzYB7gIMj4vcV6+RvEbgesVnvtXIl7Lnn2jGDXqJpWgQR\n8eeIWFgsvwz8Htg2Vzztcj1is95rww3TOMHpp6eu35JqiDECSUOA24BdiqSw5vG8LQLXIzYrh6lT\nU6Gpm2/uFSeEdLdF0LeWwXRF0S00BzixMgmsfX5yxb2W4lYf47iCgxnJ53Z2ErC3GzgQXnghdxRW\nNRMmwDXXpLKz3/xm7mi6rbW1ldbW1h5vn7VFIGlD4L+BGyLi/Daez9cicD1i64BU+vHF3ueRR2Cv\nveDOO2HHHXNHs16aZoxAkoCZwINtJYHsbrgBNt3U9YjNymLoUDjjDDjySFi1Knc0dZWzM+yjwFeA\nj0u6t7gdkDGet5s2LTUXe/HEVGa2jhNOgD594PzG+21aSw0xWNyebF1DrkdsnXDXUC+2ZAl85COp\nxGWTniTSNF1DDc31iM3Ka4cd4MwzYezYNPV8CbhFsC7XI7YucIugl4uAT30qnShy2mm5o+k2l6pc\nXyefnAaKpk+v73GtqTgRlMCTT8LIkXDLLTBsWO5ousWJYH2sqUe8YEEqQGPWDieCkpg5M51Cftdd\nTdVV7DGC9bGmHrGTgJkBHHVUKl5z1lm5I6kptwjWcD1i6wa3CErkqadgt93gxhthxIjc0XSJWwQ9\n5XrEZtaWbbdNY4Zjx8Lrr+eOpiacCCD9tJs2DSZOzB2JmTWiI45IPQZTpuSOpCacCMD1iM2sYxJc\nfDHMmpUGjnsZJwJwPWIz69zWW8MFF6QuoldfzR1NVXmw2PWIrQc8WFxiY8bAdtulH5ANytcRdNdx\nx8FWW6VLys26yImgxJ5/Pl1gdtVVsPfeuaNpkxNBd7gesfWQE0HJXXNNmoVg4ULo3z93NO/g00e7\nw/WIzawnDj4YRo2CU0/NHUlVlLdF8OqrqR5xa2vTTjVr+bhFYCxblrqILr+84aoYukXQVT/5Cey+\nu5OAmfXMwIEwY0aahmL58tzRrJdytghcj9jWk1sE9pZx41JVs4svzh3JW9wi6ArXIzazapk2Lc1D\nNHdu7kh6rJyJwPWIzaxaNt88zVw8bhy8+GLuaHqk00Qg6YuSBhTLkyRdLak5puBry4IF8Oij8MUv\n5o7EzHqL/faDz38exo/PHUmPdKVFMCkilkvaG/gkMBO4qLZh1ZDrEZtZLUydmuYtu/ba3JF0W1cS\nwari388BMyLiv4GNahdSDS1dmsYHjjkmdyRm1ttsthn8+Mfw9a/D//1f7mi6pSuJ4E+SfgSMAa6X\ntEkXt2s8F1wARx7povRmVhv77pu6nb/5zdyRdEunp49K6g8cACyKiEclDQKGRcSvah5cNU8fdT1i\nqyKfPmrtWrEChg+Hs8+GQw/NEkLV5hqSNKAYG3h3W89HxAs9jLHLqpoIpk+H3/0OZs+uzv6s1JwI\nrEN33AGHHAKLFqVJLeusmong+og4UNITwDtWiojtexxlF1UtEbgesVWZE4F16pRT4LHH0vdOnU9V\n9+yjbZk9Gy68EObNW/99meFEYF3w2mswciSccQYcfnhdD131K4slHb3O/b6SvtOT4LJwPWIzy2GT\nTeCyy9K1BU8/nTuaDnXl7J/9JP1S0raS/ga4AxhQjYNLmiXpGUn3V2N/bXI9YjPLZffd4dhj062B\nm5Bd6hqS9CXgB8ArwBER8ZuqHFzaB3gZuDwihrXx/Pp3DY0eDZ/9bKpEZlYl7hqyLnvjDdhjj9Qy\nOPLIuhyy6mMEkoYClwIPADsBi4EJEfHKesRZuf8hwHU1SQSuR2w14kRg3XLffWkaigULYPDgmh+u\nFrOPXgv8U0QcC3wMeBS4u4fx1dd556Wr/JwEzCynXXeFE09ME9M14C+Ivl1Y5yMR8RJARKwGpkm6\nrrZhrTV58uS3lltaWmhpaenahs89Bz/7WWoVmJnlduqpqdbxjBlpzKCKWltbaW1t7fH2XR0jGAbs\nDGxCcU1BRFze46O+fd9DqEXX0JlnprmFZsxYr/jM2uKuIeuRxYuhpQXuvjuVyq2RWowRTCZ1Ce0C\nXA98BvhNRBy2HnFW7n8I1U4ErkdsNeZEYD02dWqa/PLmm2GD2kzbVosxgsOA/YCnI+KrwK5AVWZt\nk/RT4LfAUElLJX21Gvt1PWIza1gTJsDrr6dSuQ2iKy2CuyPiw5LuAT4BLAceiogP1jy4nrQI1tQj\nvvBCl6K0mnGLwNbLI4/AXnvBnXfCjjtWffe1aBHcLWkgMAOYD9xL+hXfmNbUI+7qoLKZWb0NHQqT\nJqXrClat6nT1WuvWXEOStgcGRMR9tQvpbcfrfovgE5+Ao4+GI46oTVBmuEVgVbB6deq1GD06dRdV\nUbknnVuwAA46CJYscSlKqyknAquKJUvgIx9JE2JWcUyzFl1DzcP1iM2smeywQzrVfezYNF1+Ju0m\nAkk3FF1BzWHpUrjxxqpfqGFmVlPHHQebbw7nnJMthI5aBLOAuZJOl9T4P7EvuCBl1c03zx2JmVnX\nSTBzZqqieH/tJmLuMISO+uAlbQb8E/Bp4ArWViqLiJhe8+C6OkbgesRWZx4jsKqbOTNdW3DXXevd\nvV3tMYKVpGmiNwHeBWxW3N7V4whr4ZJLYP/9nQTMrHkddRQMGgRnnVX3Q3dUs/gAYDpwHTAlIlbU\nM7Aihs5bBK5HbBm4RWA18dRTsNtuabxzxIge76aaLYLTgb+NiFNyJIEumzMnzSvkJGBmzW7bbdNY\nwdixaRqKOumoRVClyvE912kIEanyz6RJ6aIMszpxi8BqJgK+8IV0XcHZZ/doF1VrEeROAl3iesRm\n1ttI8O//DrNmpYHjOmjuC8rOPRdOOqlmU7mamWWx9dZrT4l/9dWaH655p5hwPWLLyF1DVhdjxsB2\n26VZE7qhPHMNHXdcyppTptQ3KDOcCKxOnn8ePvQh+M//hL337vJm5UgEzz2XpnF9+GHYaqv6B2al\n50RgdfOLX8DEibBwIfTv36VNyjHp3EUXwWGHOQmYWe930EGw555w6qk1O0TztQhcj9gagFsEVlfL\nlsGwYXD55anmSid6f4vA9YjNrGwGDoQZM9I0FMuXV333zdUicD1iaxBuEVgW48ZBnz5w8cUdrta7\nWwSuR2xmZTZ9Osydm25V1FyJ4NxzU21PdTnRmZn1HgMGpNmWx42DF1+s2m6bp2vI9YitgbhryLL6\nxjdgxQq49NI2n+69XUOuR2xmlkydmuZau/baquyuOVoES5emObqXLHEpSmsIbhFYdvPmweGHw6JF\nsOWWb3uqd15ZfPLJsGpVGigxawBOBNYQTjoJnnkGrrzybQ/3vkTw0kuuR2wNx4nAGsKKFTB8eKpb\ncOihbz3c+8YIXI/YzKxt/fqlAePjj4dnn+3xbrK2CIq6yOcDfYBLIuJ76zwf8b73uR6xNRy3CKyh\nnHIKPPZY+q6UmqdFIKkP8APgAGBn4HBJ75w3wvWIzcw6NmUKPPQQzJ7do81zdg3tATwWEU9ExEpg\nNnDQO9aaMKHecZmZNZdNNkkT0o0fD08/3e3NcyaC9wJLK+7/sXjs7VyP2MyscyNHwte+Bsce2+1N\n+9YgnK7qUg/r5DPPfGu5paWFFs8zZGb2Nq2trbS2tqaBqwULur19tsFiSaOAyRFxQHH/NGB15YBx\nh6UqzTLyYLE1rFWrUN++zTFYDMwH/krSEEkbAWOA6lwvbWZWVn36dHuTbF1DEfGmpH8A5pJOH50Z\nEb/PFY+ZWVk1/pXFDRyflZe7hqyRNc11BGZm1hicCMzMSs6JwMys5JwIzMxKzonAzKzknAjMzErO\nicDMrOScCMzMSs6JwMys5JwIzMxKzonAzKzknAjMzErOicDMrOScCMzMSs6JwMys5JwIzMxKzonA\nzKzknAjMzErOicDMrOScCMzMSs6JwMys5JwIzMxKzonAzKzknAjMzErOicDMrOScCMzMSs6JwMys\n5JwIzMxKLksikPS3khZLWiVpRI4YzMwsydUiuB84BJiX6fhmZlbom+OgEfEQgKQchzczswoeIzAz\nK7matQgk3QRs08ZT346I62p1XDMz656aJYKI2L8a+5k8efJbyy0tLbS0tFRjt2ZmvUZrayutra09\n3l4RUb1ountw6VZgYkTc087zkTM+s/ZI4P+a1qgkERFdHoTNdfroIZKWAqOA6yXdkCMOMzPL3CLo\njFsE1qjcIrBG1hQtAjMzaxxOBGZmJedEYGZWck4EZmYl50RgZlZyTgRmZiXnRGBmVnJOBGZmJedE\nYGZWck4EZmYl50RgZlZyTgRmZiXnRGBmVnJOBGZmJedEYGZWck4EZmYl50RgZlZyTgRmZiXnRGBm\nVnJOBGZmJedEYGZWck4EZmYl50RgZlZyTgRmZiXnRGBmVnJOBGZmJedEYGZWck4EZmYllyURSDpH\n0u8l3Sfp55I2zxGHmZnlaxH8CtglInYFHgFOyxRH02htbc0dQsPwe7GW34u1/F70XJZEEBE3RcTq\n4u5dwHY54mgm/k++lt+LtfxerOX3oucaYYzgKOCXuYMwMyurvrXasaSbgG3aeOrbEXFdsc7pwBsR\ncWWt4jAzs44pIvIcWDoSOAb4ZES81s46eYIzM2tyEaGurluzFkFHJB0AnAx8rL0kAN17IWZm1jNZ\nWgSSHgU2Al4oHrojIr5R90DMzCxf15CZmTWGRjhr6B0kHSDpIUmPSjoldzw5SRos6VZJiyU9IOmE\n3DHlJKmPpHslXZc7lpwkbSFpTnFh5oOSRuWOKRdJpxV/H/dLulLSxrljqhdJsyQ9I+n+isfeLekm\nSY9I+pWkLTrbT8MlAkl9gB8ABwA7A4dL2ilvVFmtBE6KiF2AUcDxJX8/TgQeBMrelP0+8MuI2An4\nEPD7zPFkIWkI6aSTERExDOgDfClnTHX2Y9J3ZaVTgZsiYihwc3G/Qw2XCIA9gMci4omIWAnMBg7K\nHFM2EfHniFhYLL9M+oPfNm9UeUjaDvgscAlQ2hMJiilZ9omIWQAR8WZEvJQ5rFyWk34s9ZPUF+gH\n/ClvSPUTEbcDy9Z5eDRwWbF8GXBwZ/tpxETwXmBpxf0/Fo+VXvHrZzjpauwyOo90ttnqzlbs5bYH\nnpP0Y0kLJM2Q1C93UDlExAvANOBJ4CngxYj4dd6osts6Ip4plp8Btu5sg0ZMBGVv8rdJ0mbAHODE\nomVQKpI+BzwbEfdS4tZAoS8wArgwIkYAr9CF5n9vJOkDwHhgCKmlvJmkI7IG1UAinQ3U6XdqIyaC\nPwGDK+4PJrUKSkvShsB/AT+JiGtyx5PJXsBoSY8DPwU+IenyzDHl8kfgjxFxd3F/DikxlNHuwG8j\n4v8i4k3g56T/K2X2jKRtACQNAp7tbINGTATzgb+SNETSRsAY4NrMMWUjScBM4MGIOD93PLlExLcj\nYnBEbE8aDLwlIv4+d1w5RMSfgaWShhYP7QcszhhSTg8BoyRtWvyt7Ec6maDMrgXGFstjgU5/PGa5\nsrgjEfGmpH8A5pLOAJgZEaU8I6LwUeArwCJJ9xaPnRYRN2aMqRGUvQvxm8B/FD+W/gB8NXM8WUTE\nfUXLcD51AFV7AAACD0lEQVRp7GgB8KO8UdWPpJ8CHwPeI2kp8E/Ad4H/lHQ08ATwxU734wvKzMzK\nrRG7hszMrI6cCMzMSs6JwMys5JwIzMxKzonAzKzknAjMzErOicBKq5jie4mkgcX9gcX991Vh3/+z\n/hGa1YevI7BSk3QysGNEfE3SxcCSiPhe7rjM6sktAiu780hTFIwnzVFzblsrSbpa0vyiONAxxWPv\nL4p/bClpA0m3S9qveO7l4t9BkuYVxXTul7R3nV6XWZe5RWClJ+nTwA3A/hFxczvrDIyIZZI2BX4H\n7FvcPxr4NHA3sENEfL1Y/y8R8S5JE4CNI+LsYi6c/mWcPdYam1sEZvAZ0lz2wzpY50RJC4E7gO2A\noQARMRPYHPgaMLGN7X4HfFXSd4APOQlYI3IisFKTtBtpxso9gZPWTN+7zjotwCeBURGxG7AQ2Lh4\nrh8pMQTwrnW3LSpI7UOaXv1SSX9Xm1di1nNOBFZaRVfNRaRiP0uBc2h7jGAAsCwiXpP016Ta0Wt8\nD7gC+A4wo41jvA94LiIuIZXYHF7dV2G2/pwIrMyOAZ6oGBe4ENhJ0j7rrHcj0FfSg8C/krqHkPQx\nYCTwvYi4EnhD0pp54NcMvn0cWChpAWk64O/X7NWY9ZAHi83MSs4tAjOzknMiMDMrOScCM7OScyIw\nMys5JwIzs5JzIjAzKzknAjOzknMiMDMruf8PP5JcgJ4iq3UAAAAASUVORK5CYII=\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": "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\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": "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\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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6.ipynb
new file mode 100644
index 00000000..a76cd86c
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7.ipynb
new file mode 100644
index 00000000..05e3cf36
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8.ipynb
new file mode 100644
index 00000000..fb95b611
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9.ipynb
new file mode 100644
index 00000000..64ddecc8
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9.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.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3.ipynb
new file mode 100644
index 00000000..d6d687b7
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3.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/charpter_3_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_1.ipynb
new file mode 100644
index 00000000..d6d687b7
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_1.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/Untitled.png b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/Untitled.png
new file mode 100644
index 00000000..0ed3b810
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/Untitled.png
Binary files differ
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap2.png b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap2.png
new file mode 100644
index 00000000..f0222968
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap2.png
Binary files differ
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap3.png b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap3.png
new file mode 100644
index 00000000..38fad753
--- /dev/null
+++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/cap3.png
Binary files differ
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch1.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch1.ipynb
new file mode 100644
index 00000000..14c6b463
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch1.ipynb
@@ -0,0 +1,811 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2baa3eb0c199078d6675540c13fc8ca69d0c0eaa0d2eef907c98727dce3b6cde"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-1 : Microwaves"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 12 Example 1.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import cmath \n",
+ "from math import pi\n",
+ "#Given\n",
+ "z0=50 #ohm\n",
+ "zg=50 #ohm\n",
+ "l=0.25 #m\n",
+ "f=4e9 #hz\n",
+ "zl=100 #ohm\n",
+ "vg=10 #V\n",
+ "w=2*pi*f #rad/sec\n",
+ "c=3e8 #m/s\n",
+ "\n",
+ "#(i) Voltage and current at any point\n",
+ "tg=(zg-z0)/(zg+z0) \n",
+ "tl=(zl-z0)/(zl+z0) \n",
+ "vi=z0*vg/(z0+zg) #V\n",
+ "print 'Voltage at any point = %0.2f V' %(vi)\n",
+ "ii=vg/(2*z0) #A\n",
+ "print 'Current at any point = %0.2f A'%(ii) \n",
+ "\n",
+ "#(ii) Voltage at generator end\n",
+ "#Taking z=1\n",
+ "z=1 \n",
+ "bet=w/c \n",
+ "vz=(vg/2)*cmath.exp(-1J*bet*(z+l))*(1+(tl*cmath.exp(2*1J*bet*z))) #V\n",
+ "print 'Voltage at generator end ={:.3f}'.format(vz),'V'\n",
+ "iz=ii*cmath.exp(-1J*bet*(z+l))*(1-(tl*cmath.exp(2*1J*bet*z))) #A\n",
+ "vz1=(vg/2)*cmath.exp(-1J*bet*(z+l))*(1+(tl*cmath.exp(2*1J*bet*z))) #V\n",
+ "\n",
+ "#Voltage at load end, z=0\n",
+ "z11=0 \n",
+ "vl=(vg/2)*cmath.exp(-1J*bet*l)*(1+(tl*cmath.exp(2*1J*bet*z11))) #V\n",
+ "print 'Voltage at load end ={:.3f}'.format(vl),'V'\n",
+ "\n",
+ "#(iii) Reflection coefficient\n",
+ "zx=0.25 \n",
+ "tz=tl*cmath.exp(1J*2*bet*zx) \n",
+ "print 'Reflection coefficient:{:.3f}'.format(tz) \n",
+ "\n",
+ "#(iv) VSWR\n",
+ "p=(1+tl)/(1-tl) \n",
+ "print 'VSWR:' ,p\n",
+ "\n",
+ "#(v) Average power delivered to the load\n",
+ "vl=20/3 \n",
+ "pl0=vl**2/(2*zl) #W\n",
+ "print 'Average power delivered to the load = %0.2f W' %pl0"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage at any point = 5.00 V\n",
+ "Current at any point = 0.10 A\n",
+ "Voltage at generator end =-0.833+4.330j V\n",
+ "Voltage at load end =-3.333-5.774j V\n",
+ "Reflection coefficient:-0.167-0.289j\n",
+ "VSWR: 2.0\n",
+ "Average power delivered to the load = 0.22 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 14 Example 1.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log \n",
+ "#Given\n",
+ "pm=3 \n",
+ "pl=4 \n",
+ "l=24 #cm\n",
+ "l1=l/100 #m\n",
+ "\n",
+ "#Attenuation\n",
+ "tin=(pm-1)/(pm+1) \n",
+ "tl=(pl-1)/(pl+1) \n",
+ "alp=(1/(2*l1))*log(tl/tin) #Np/m\n",
+ "print 'Attenuation in the line = %0.2f'%alp,'Mp/m' "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Attenuation in the line = 0.38 Mp/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 14 Example 1.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "z0=200 #ohm\n",
+ "zl=800 #ohm\n",
+ "f=30e6 #hz\n",
+ "\n",
+ "#Characterstic impedance\n",
+ "z00=sqrt(z0*zl) #ohm\n",
+ "print 'Characterstic impedance = %0.2f ohm' %z00\n",
+ "\n",
+ "#Length of line\n",
+ "lam=c/f #m\n",
+ "l=lam/4 #m\n",
+ "print 'Length of line = %0.2f m' %l"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Characterstic impedance = 400.00 ohm\n",
+ "Length of line = 2.50 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 15 Example 1.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "l=1.2 #mH\n",
+ "r=8 #ohm\n",
+ "c=200e-12 #F\n",
+ "\n",
+ "#(i) Resonant frequency\n",
+ "f0=(1/(2*pi))*sqrt(1/(l*c)) #hz\n",
+ "print 'Resonant frequency:%0.2f'%f0,'Hz' \n",
+ "\n",
+ "#(ii) Impedance of circuit\n",
+ "print 'Impedance of circuit:',r,'ohm' \n",
+ "\n",
+ "#(iii)Q factor of the circuit\n",
+ "q=1/(2*pi*f0*c*r) \n",
+ "print 'Q factor of the circuit:%0.2f'%q\n",
+ "\n",
+ "#(iv) Bandwidth\n",
+ "df=f0/q #hz\n",
+ "\n",
+ "print 'Bandwidth:%0.2f' %df,'Hz'\n",
+ "\n",
+ "#The value of resonant frequency is calculated wrong in book\n",
+ "#Hence Q factor and bandwidth, all these answers dont match"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resonant frequency:10273.41 Hz\n",
+ "Impedance of circuit: 8 ohm\n",
+ "Q factor of the circuit:9682.46\n",
+ "Bandwidth:1.06 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: Example 1.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import cos, sin\n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "le=25 #m\n",
+ "zl=40+(1J*30) #ohm\n",
+ "f=10e6 #hz\n",
+ "cap=40e-12 #F\n",
+ "l=300e-9 #H/m\n",
+ "\n",
+ "#Input impedance\n",
+ "z0=sqrt(l/cap) #ohm\n",
+ "zl1=zl/z0 \n",
+ "lam=c/f #m\n",
+ "bet=(2*pi*le)/lam #rad\n",
+ "zin=((zl1*cos(bet))+(1J*sin(bet)))/(cos(bet)+(1J*zl1*sin(bet))) #ohm\n",
+ "print 'Input impedance: {:.3f}'.format(zin), 'ohm'\n",
+ "\n",
+ "#Reflection coefficient\n",
+ "t=(zl1-1)/(zl1+1) \n",
+ "print 'Reflection coefficient:{:.3f}'.format(t)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input impedance: 0.577-0.577j ohm\n",
+ "Reflection coefficient:-0.295+0.307j\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 16 Example 1.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import cmath \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "R=2.25 #ohm\n",
+ "L=1e-9 #H/m\n",
+ "C=1e-12 #F/m\n",
+ "f=0.5e9 #hz\n",
+ "G=0 \n",
+ "w=2*pi*f #rad/sec\n",
+ "\n",
+ "#Characterstic impedance\n",
+ "z0=cmath.sqrt((R+(1J*w*L))/(G+(1J*w*C))) #ohm\n",
+ "print 'Characterstic impedance:{:.3f}'.format(z0),'ohm'\n",
+ "\n",
+ "#Propagation constant\n",
+ "gam=cmath.sqrt((R+(1J*w*L))*(G+(1J*w*C))) \n",
+ "print 'Propagation constant:{:.3f}'.format(gam)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Characterstic impedance:33.392-10.724j ohm\n",
+ "Propagation constant:0.034+0.105j\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 20 Example 1.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "f=3e9 #Hz\n",
+ "ZL=50-(1J*100) #ohms\n",
+ "Z0=50 #ohm\n",
+ "#Wavelength\n",
+ "lam=c/f \n",
+ "print 'Wavelength:',lam*100, 'cm'\n",
+ "\n",
+ "#Normalized load impedance\n",
+ "z=ZL/Z0 \n",
+ "print 'Normalized load impedance:' ,z\n",
+ "\n",
+ "#From chart\n",
+ "zin=0.45+(1J*1.2) \n",
+ "yin=0.27-(1J*0.73) \n",
+ "ZINN=Z0*zin \n",
+ "print 'Line impedance:' ,ZINN,'ohm'\n",
+ "YINN=yin/Z0 \n",
+ "print 'Line admittance:',YINN, 'mho'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wavelength: 10.0 cm\n",
+ "Normalized load impedance: (1-2j)\n",
+ "Line impedance: (22.5+60j) ohm\n",
+ "Line admittance: (0.0054-0.0146j) mho\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 22 Example 1.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "ZL=75+(1J*100) #ohms\n",
+ "Z0=50 #ohm\n",
+ "\n",
+ "#Normalized load impedance\n",
+ "z=ZL/Z0 \n",
+ "print 'Normalized load impedance:' ,z\n",
+ "\n",
+ "#(i) 0.051*lam\n",
+ "#From chart\n",
+ "r=4.6 \n",
+ "Zi1=r*Z0 \n",
+ "print 'Input impedance at 0.051 lam:' ,Zi1,'ohm'\n",
+ "\n",
+ "#(ii) 0.102*lam\n",
+ "r1=1.5-(1J*2) \n",
+ "Zi2=r1*Z0 \n",
+ "print 'Input impedance at 0.102 lam:' ,Zi2,'ohm'\n",
+ " \n",
+ "#(iii) 0.301*lam\n",
+ "r2=0.22 \n",
+ "Zi3=r2*Z0 \n",
+ "print 'Input impedance at 0.301 lam:' ,Zi3, 'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Normalized load impedance: (1.5+2j)\n",
+ "Input impedance at 0.051 lam: 230.0 ohm\n",
+ "Input impedance at 0.102 lam: (75-100j) ohm\n",
+ "Input impedance at 0.301 lam: 11.0 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 23 Example 1.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "ZL=15+(1J*20) #ohms\n",
+ "Z0=50 #ohm\n",
+ "\n",
+ "#Normalized load impedance\n",
+ "z=ZL/Z0 \n",
+ "print 'Normalized load impedance:' ,z\n",
+ "\n",
+ "#From chart\n",
+ "T=0.6 \n",
+ "print 'Reflection coefficient:' ,T\n",
+ "\n",
+ "#VSWR\n",
+ "p=4 \n",
+ "print 'VSWR:' ,p"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Normalized load impedance: (0.3+0.4j)\n",
+ "Reflection coefficient: 0.6\n",
+ "VSWR: 4\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 25 Example 1.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Z0=50 #ohm\n",
+ "p=2.4 \n",
+ "\n",
+ "#From chart\n",
+ "zl=1.4+1J \n",
+ "L=Z0*zl \n",
+ "print 'Load:',L, 'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load: (70+50j) ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 26 Example 1.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Z0=50 #ohm\n",
+ "T=2.23 \n",
+ "\n",
+ "#From chart\n",
+ "zl=2+1J \n",
+ "ZLd=Z0*zl \n",
+ "print 'Normalized impedance:',ZLd, 'ohm'\n",
+ "\n",
+ "#Impedance of device is by negating the real part\n",
+ "imp=-(ZLd.real)+((ZLd.imag)*1J) \n",
+ "print 'Impedance of device:' ,imp,'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Normalized impedance: (100+50j) ohm\n",
+ "Impedance of device: (-100+50j) ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 27 Example 1.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "p=3 \n",
+ "m1=54 #cm\n",
+ "m2=204 #cm\n",
+ "\n",
+ "#Point A\n",
+ "print 'Point A' \n",
+ "lam=4*(m2-m1) \n",
+ "dA=0.083*lam \n",
+ "L=m1-dA \n",
+ "print 'Location of stub:',L, 'cm'\n",
+ "IA=0.114*lam \n",
+ "print 'Length:' ,IA, 'cm'\n",
+ "\n",
+ "#Point B\n",
+ "print 'Point B' \n",
+ "dB=0.083*lam \n",
+ "IB=0.386*lam \n",
+ "Lb=dB+m1 \n",
+ "print 'Location of stub:',Lb, 'cm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Point A\n",
+ "Location of stub: 4.2 cm\n",
+ "Length: 68.4 cm\n",
+ "Point B\n",
+ "Location of stub: 103.8 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 30 Example 1.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Z0=50 #ohm\n",
+ "ZL=100 #ohms\n",
+ "f=10e9 #Hz\n",
+ "c=0.159e-12 #F\n",
+ "\n",
+ "#Normalized load impedance\n",
+ "z=ZL/Z0 \n",
+ "print 'Normalized load impedance:' ,z\n",
+ "\n",
+ "#From chart\n",
+ "zin=0.4+(1J*0.55) \n",
+ "ZINN=Z0*zin \n",
+ "print 'Normalized impedance:',ZINN, 'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Normalized load impedance: 2.0\n",
+ "Normalized impedance: (20+27.5j) ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 42 Example 1.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#From given wave equation we can see\n",
+ "w=1e9 #rad/sec\n",
+ "bet=30 #rad/m\n",
+ "c=3e8 #m/s\n",
+ "u0=1 #let\n",
+ "e0=1/(9e16) \n",
+ "\n",
+ "vp=w/bet #m/sec\n",
+ "print 'Phase velocity:%0.2f' %vp,'m/s'\n",
+ "\n",
+ "e=1/(vp**2*u0) \n",
+ "er=e/(e0*u0) \n",
+ "print 'Dielectric constant:' ,er"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Phase velocity:33333333.33 m/s\n",
+ "Dielectric constant: 81.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 42 Example 1.17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "f=10e9 #hz\n",
+ "er=6 \n",
+ "tandel=2e-4 \n",
+ "\n",
+ "vp=c/er #m/sec\n",
+ "print 'Phase velocity: %0.f'%vp,'m/sec'\n",
+ "al=(pi*f*tandel)/vp #Np/m\n",
+ "print 'Attenuation constant: %0.3f'%al,'Np/m'\n",
+ "\n",
+ "#Answer for velocity is calculated wrong in book, hence answers dont match for both"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Phase velocity: 50000000 m/sec\n",
+ "Attenuation constant: 0.126 Np/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 43 Example 1.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " #Given\n",
+ "er=2.2 \n",
+ "n0=377 #ohm\n",
+ "n2=n0/sqrt(er) #ohm\n",
+ "n1=377 #ohm\n",
+ "\n",
+ "#Reflection coefficient\n",
+ "t=(n2-n1)/(n2+n1) \n",
+ "print 'Reflection coefficient: %0.2f'%t\n",
+ "\n",
+ "#Vswr\n",
+ "#Taking mod of reflection coefficient\n",
+ "t1=-t \n",
+ "p=(1+t1)/(1-t1) \n",
+ "print 'VSWR: %0.3f'%p"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reflection coefficient: -0.19\n",
+ "VSWR: 1.483\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 43 Example 1.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " #Given\n",
+ "sig=5 #mohm/m\n",
+ "er=80*8.85e-12 \n",
+ "eaz=0.1 \n",
+ "u=1.26e-6 \n",
+ "\n",
+ "az=-log(0.1) \n",
+ "#(i) Range at 25Khz\n",
+ "f=25e3 #Khz\n",
+ "w=2*pi*f #rad/sec\n",
+ "a=w*(sqrt((u*er/2)*(sqrt(sig**2/(w**2*er**2)+1)-1))) \n",
+ "z=az/a #m\n",
+ "print 'Range at 25khz: %0.3f'%z, 'm'\n",
+ "\n",
+ "#(ii) Range at 25Mhz\n",
+ "f1=25e6 #Mhz\n",
+ "w1=2*pi*f1 #rad/sec\n",
+ "a1=w1*(sqrt((u*er/2)*(sqrt(sig**2/(w1**2*er**2)+1)-1))) \n",
+ "z1=az/a1 #m\n",
+ "print 'Range at 25Mhz: %0.3f'%z1, 'm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Range at 25khz: 3.273 m\n",
+ "Range at 25Mhz: 0.105 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch10.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch10.ipynb
new file mode 100644
index 00000000..3f22a491
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch10.ipynb
@@ -0,0 +1,687 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:948be1cc9ed00129c705ab5eed5191c57dcf55220270f926d97c4b4918eda1ba"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-10 : Striplines & Microstrip lines"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 554 Example 10.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import exp, log10, pi, sqrt, log\n",
+ "#Given,\n",
+ "\n",
+ "z0=50 #ohm\n",
+ "t=0.001 #mm\n",
+ "b=0.32 #cm\n",
+ "er=2.20 \n",
+ "tandel= 0.0005 \n",
+ "rs=0.026 #ohm\n",
+ "f=10e9 #Hz\n",
+ "c=3e8 #m/sec\n",
+ "\n",
+ "p=sqrt(er)*z0 \n",
+ "#As p<120\n",
+ "w=b*(((30*pi)/p)-0.441)\n",
+ "print 'Width %0.3f'%w,'cm'\n",
+ "\n",
+ "#Attenuation\n",
+ "k=((2*pi*f*sqrt(er))/c) \n",
+ "ad=(k*tandel)/2 \n",
+ "\n",
+ "#and\n",
+ "A=1+((2*w)/(b-t))+(((b+t)/((b-t)*pi))*log(((2*b)-t)/t)) \n",
+ "#Hence \n",
+ "ac=(2.7e-3*rs*er*z0*A)/(30*pi*(b-t)*1e-2)\n",
+ "#Total attenution\n",
+ "a=ad+ac \n",
+ "\n",
+ "#Total attenution in db\n",
+ "x=exp(a) \n",
+ "alp=20*log10(x) #db/m\n",
+ "\n",
+ "#Total attenution in db/lambda:\n",
+ "lam=c/(sqrt(er)*f) \n",
+ "lamm=lam*1e2 \n",
+ "alph=alp/lamm \n",
+ "print 'Total attenution in db/lambda: %0.3f'%alph, 'db/lambda'\n",
+ "\n",
+ "\n",
+ "#Answer in book for alph is given as 0.856 but it should be 0.0856 as value of f is taken as 10e10 but it should be 10e9"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Width 0.266 cm\n",
+ "Total attenution in db/lambda: 0.856 db/lambda\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 555 Example 10.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "er=9.7 \n",
+ "h=0.25 #mm\n",
+ "w=0.25 #mm\n",
+ "f=5e9 #Hz\n",
+ "c=3e8 #m/s\n",
+ "\n",
+ "#(i) Dielectric constant\n",
+ "dc=((er+1)/2)+(((er-1)/2)*(1/sqrt(1+12*h/w))) \n",
+ "print 'Dielectric constant: %0.3f'%dc\n",
+ "\n",
+ "#(ii) Phase constant\n",
+ "lam0=c/f \n",
+ "pc=sqrt(dc)*(2*pi/lam0) \n",
+ "print 'Phase constant: %0.3f'%(pc/100),'rad/m'\n",
+ "\n",
+ "#(iii) Microstrip wavelength\n",
+ "lams=lam0/sqrt(dc) \n",
+ "print 'Microstrip wavelength: %0.3f'%(lams*100),'cm'\n",
+ "\n",
+ "#(iv) Capacitance per unit length\n",
+ "e0=8.854e-12 \n",
+ "cap=(2*pi*e0)/log((8*h/w)-(w/(4*h))) \n",
+ "print 'Capacitance per unit length: %0.3e'%cap, 'F/cm'\n",
+ "\n",
+ "#(v) Characterstic Impedance\n",
+ "ci=(60/sqrt(dc))*log((8*h/w)+(w/(4*h))) \n",
+ "print 'Characterstic impedance: %0.3f'%ci, 'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dielectric constant: 6.556\n",
+ "Phase constant: 2.681 rad/m\n",
+ "Microstrip wavelength: 2.343 cm\n",
+ "Capacitance per unit length: 2.717e-11 F/cm\n",
+ "Characterstic impedance: 49.447 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 556 Example 10.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "er=5.23 \n",
+ "w=10 #mils\n",
+ "t=2.8 #mils\n",
+ "h=7 #mils\n",
+ "\n",
+ "dc=((er+1)/2)+(((er-1)/2)*(1/sqrt(1+12*h/w))) \n",
+ "print 'Dielectric constant: %0.3f'%dc\n",
+ "\n",
+ "#As w/h>1\n",
+ "ci=(120*pi)/(sqrt(dc)*((w/h)+1.393+0.667*log((w/h)+1.444))) \n",
+ "print 'Characterstic impedance: %0.3f'%ci, 'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dielectric constant: 3.805\n",
+ "Characterstic impedance: 54.822 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 556 Example 10.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "\n",
+ "q=2.5 \n",
+ "dh=1.58 \n",
+ "er=9 \n",
+ "f=10 \n",
+ "c=3e8 \n",
+ "\n",
+ "erff=((er+1)/2)+(((er-1)/2)*((1+(12/q))**(-1/2))) \n",
+ "vp=(c/sqrt(erff))*erff \n",
+ "fe1=c/(sqrt(vp)*2*dh*q) \n",
+ "if f<fe1:\n",
+ " print 'Strip supports TEM mode only' \n",
+ "else:\n",
+ " print 'Strip does not support TEM mode only' \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Strip supports TEM mode only\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 557 Example 10.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "\n",
+ "er=9.7 \n",
+ "h=0.5 #mm\n",
+ "w=0.5 #mm\n",
+ "lt=2e-4 \n",
+ "t=0.02 #mm\n",
+ "f=5e9 #Hz\n",
+ "fg=5 #HZ\n",
+ "c=3e8 \n",
+ "rs=8.22e-3*sqrt(fg) \n",
+ "\n",
+ "#(i) Dielectric constant\n",
+ "dc=((er+1)/2)+(((er-1)/2)*(1/sqrt(1+12*h/w))) \n",
+ "print 'Dielectric constant: %0.3f'%dc\n",
+ "\n",
+ "#(ii) Characterstic Impedance\n",
+ "ci=(60/sqrt(dc))*log((8*h/w)+(w/(4*h))) \n",
+ "print 'Characterstic impedance: %0.3f'%ci,'ohm'\n",
+ "\n",
+ "#(iii) Dielectric attenuation\n",
+ "lam0=c/f \n",
+ "alphd=(pi/lam0)*(er/sqrt(dc))*((dc-1)/(er-1))*lt \n",
+ "print 'Dielectric attenuation: %0.3f'%alphd,'Np/m'\n",
+ "\n",
+ "#Conductor attenuation\n",
+ "r1=(0.94+(0.132*(w/h))-(0.0062*((w/h)**2)))*((1/pi)+(1/(pi**2))*log((4*pi*w)/t))*(rs/(w*1e-3))\n",
+ "r1m=r1*1e-2 \n",
+ "r2=(w/h)/(((w/h)+5.8+(0.03*(h/w))))*(rs/(w*1e-3)) \n",
+ "r2m=r2*1e-2 \n",
+ "alphc=(r1+r2)/(2*ci) \n",
+ "print 'Conductor attenuation: %0.3f'%alphc,'Np/m'\n",
+ "\n",
+ "#(iv) Total attenuation\n",
+ "A=alphc+alphd \n",
+ "Adb=A*8.686*1e-2 \n",
+ "print 'Total attenuation: %0.3f'%Adb,'db/cm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dielectric constant: 6.556\n",
+ "Characterstic impedance: 49.447 ohm\n",
+ "Dielectric attenuation: 0.025 Np/m\n",
+ "Conductor attenuation: 0.411 Np/m\n",
+ "Total attenuation: 0.038 db/cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 558 Example 10.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "\n",
+ "sig=5.8e7 \n",
+ "f=10 #GHz\n",
+ "h=0.12e-2 #m\n",
+ "\n",
+ "q=62.8*h*sqrt(f*sig) \n",
+ "print 'conductor Q of the stripline:' ,round(q)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "conductor Q of the stripline: 1815.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 558 Example 10.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Er=6 \n",
+ "h=4e-3 #m\n",
+ "\n",
+ "#(i) W for Z0=50W\n",
+ "Z0=50 #W\n",
+ "W=(120*pi*h)/(sqrt(Er)*Z0) \n",
+ "print 'Required Width: %0.3f'%(W*1000), 'mm'\n",
+ "\n",
+ "#(ii)Stripline capacitance\n",
+ "E0=8.854e-12 \n",
+ "C=(E0*Er*W)/h \n",
+ "print 'Stripline capacitance: %0.3f'%(C*10**12),'pF/m'\n",
+ "\n",
+ "#(iii)Stripline inductance\n",
+ "Mu0=4*pi*10e-7 \n",
+ "L=(Mu0*h)/W \n",
+ "print 'Stripline inductance: %0.3f'%(L*10**5),' muH/m'\n",
+ "\n",
+ "#(iv)Phase velocity\n",
+ "c=3e8 \n",
+ "vp=c/sqrt(Er) \n",
+ "print 'Phase velocity',vp, 'm/s'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Required Width: 12.312 mm\n",
+ "Stripline capacitance: 163.522 pF/m\n",
+ "Stripline inductance: 0.408 muH/m\n",
+ "Phase velocity 122474487.139 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 559 Example 10.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "cl=3e8 #m/s\n",
+ "f=5e9 #Hz\n",
+ "Er=9 \n",
+ "C=-10 #db\n",
+ "Z0=50 #ohm\n",
+ "#Length\n",
+ "L=(cl/f)/(4*sqrt(Er)) \n",
+ "print 'Length:' ,L*100,'cm'\n",
+ "\n",
+ "#Coupling coefficient\n",
+ "C0=10**(C/20) \n",
+ "print 'Coupling coefficient: %0.3f'%C0\n",
+ "\n",
+ "#Even and odd mode impedance\n",
+ "Z0e=(Z0*sqrt(1+C0))/sqrt(1-C0) \n",
+ "print 'Even mode impedance: %0.3f'%Z0e,'ohm'\n",
+ "\n",
+ "\n",
+ "Z0o=(Z0*sqrt(1-C0))/sqrt(1+C0) \n",
+ "print 'Odd mode impedance: %0.3f'%Z0o,'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length: 0.5 cm\n",
+ "Coupling coefficient: 0.316\n",
+ "Even mode impedance: 69.371 ohm\n",
+ "Odd mode impedance: 36.038 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 560 Example 10.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Z0=50 #ohm\n",
+ "C=3 #db\n",
+ "\n",
+ "#Line impedance\n",
+ "Z01sqr=(1-(10**(C/-10))) \n",
+ "Z01=sqrt(Z0*Z0*Z01sqr) \n",
+ "print 'Z01: %0.3f'%Z01, 'ohm'\n",
+ "\n",
+ "Z02=Z01/(sqrt(1-(1/sqrt(2))**2)) \n",
+ "print 'Z02:' ,round(Z02),'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Z01: 35.313 ohm\n",
+ "Z02: 50.0 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 560 Example 10.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "W=6 #m\n",
+ "s=2.2 #m\n",
+ "b=4.8 #m\n",
+ "Er=2.2 \n",
+ "\n",
+ "#Even and odd mode impedance\n",
+ "Z0e=((120*pi)*(b-s))/(2*sqrt(Er)*W) \n",
+ "print 'Even mode impedance: %0.3f'%Z0e,'ohm'\n",
+ "\n",
+ "\n",
+ "Z0o=(Z0e*s)/b \n",
+ "print 'Odd mode impedance: %0.3f'%Z0o,'ohm'\n",
+ "\n",
+ "#Mid band coupling\n",
+ "x=(Z0e-Z0o)/(Z0e+Z0o) \n",
+ "C=-20*log10(x) \n",
+ "print 'Mid band coupling: %0.3f'%C,'db'\n",
+ "\n",
+ "#Answer in book for C is given as 54.2 but it should be 8.60"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Even mode impedance: 55.070 ohm\n",
+ "Odd mode impedance: 25.240 ohm\n",
+ "Mid band coupling: 8.602 db\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 562 Example 10.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Er=6 \n",
+ "d=3e-3 #m\n",
+ "Z0=50 #ohm\n",
+ "E0=8.854e-12 #F/m\n",
+ "Mu0=4*pi*10e-7 #H/m\n",
+ "\n",
+ "#(i) W \n",
+ "W=(377*d)/(sqrt(Er)*Z0) \n",
+ "print 'Required Width: %0.3f'%(W*1000),'mm'\n",
+ "\n",
+ "#(ii)Stripline capacitance\n",
+ "C=(E0*Er*W)/d \n",
+ "print 'Stripline capacitance: %0.3f'%(C*10**12),'pF/m'\n",
+ "\n",
+ "#(iii)Stripline inductance\n",
+ "L=(Mu0*d)/W \n",
+ "print 'Stripline inductance: %0.3f'%(L*10**6), 'muH/m'\n",
+ "\n",
+ "#(iv)Phase velocity\n",
+ "c=3e8 \n",
+ "vp=c/sqrt(Er) \n",
+ "print 'Phase velocity' ,vp,'m/s'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Required Width: 9.235 mm\n",
+ "Stripline capacitance: 163.526 pF/m\n",
+ "Stripline inductance: 4.082 muH/m\n",
+ "Phase velocity 122474487.139 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 562 Example 10.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Er=2.56 \n",
+ "w=25 #mils\n",
+ "t=14 #mils\n",
+ "d=70 #mils\n",
+ "E0=8.854e-12 #F/m\n",
+ "\n",
+ "#(i) K factor\n",
+ "K=1/(1-(t/d)) \n",
+ "print 'K factor:' ,K\n",
+ "\n",
+ "#(ii) Fringe capacitance\n",
+ "C=((E0*Er)*(2*K*log(K+1)-(K-1)*log(K**2-1)))/pi \n",
+ "print 'Fringe capacitance: %0.3f'%(C*10**12), 'pF/m'\n",
+ "\n",
+ "#(iii) Charecteristic Impedance\n",
+ "X=1/(((w*K)/d)+(C/(E0*Er)))\n",
+ "Z0=(94.15*X)/sqrt(Er) \n",
+ "print 'Charecteristic Impedance: %0.3f'%Z0,'ohm'\n",
+ "\n",
+ "\n",
+ "#Answer in book for Z0 is given as 50.29 but it should be 51.7"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "K factor: 1.25\n",
+ "Fringe capacitance: 15.665 pF/m\n",
+ "Charecteristic Impedance: 51.729 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 563 Example 10.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Z0=50 #ohm\n",
+ "#Sincr ratio of power is 2:3\n",
+ "x1=5/2 \n",
+ "y1=5/3 \n",
+ "#Output Impedance\n",
+ "Z1=x1*Z0 \n",
+ "Z2=y1*Z0 \n",
+ "print 'Output Impedance 1:',Z1,'ohm'\n",
+ "print 'Output Impedance 2: %0.3f'%Z2,'ohm'\n",
+ "\n",
+ "#Input Impedance\n",
+ "Zin=[((Z2*2*Z2)/3)/((Z2+(2*Z2)/3))] \n",
+ "\n",
+ "#Looking into Z1, Z2 is || to Z0\n",
+ "A1=(Z2*Z0)/(Z2+Z0) \n",
+ "\n",
+ "#Looking into Z, Z2 is || to Z0\n",
+ "A2=(Z1*Z0)/(Z1+Z0) \n",
+ "\n",
+ "#Reflection Coeffcients\n",
+ "R1=(A1-Z1)/(A1+Z1) \n",
+ "R2=(A2-Z2)/(A2+Z2) \n",
+ "\n",
+ "print 'Reflection Coeffcients:\\n', R1,'\\n',R2, "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output Impedance 1: 125.0 ohm\n",
+ "Output Impedance 2: 83.333 ohm\n",
+ "Reflection Coeffcients:\n",
+ "-0.6 \n",
+ "-0.4\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch11.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch11.ipynb
new file mode 100644
index 00000000..b65b1969
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch11.ipynb
@@ -0,0 +1,113 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:dcd1524aea83bc52fd041431920005679ad317fcac49d15da415d1adac59bbe9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-11 : Microwave Integrated Circuits"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 595 Example 11.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division \n",
+ "#Given\n",
+ "fabc=10000 #Rs/waffer\n",
+ "c=100 \n",
+ "y=40/100 \n",
+ "coc=fabc/(y*c) \n",
+ "#Cost of one chip\n",
+ "print 'Cost of one chip:' ,coc,'Rs'\n",
+ "\n",
+ "#Market Cost\n",
+ "mc=2*coc \n",
+ "print 'Market costof one chip:' ,mc,'Rs'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cost of one chip: 250.0 Rs\n",
+ "Market costof one chip: 500.0 Rs\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 595 Example 11.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt, floor\n",
+ "#Given\n",
+ "c=5000 #Rs\n",
+ "S=0.6 #cm\n",
+ "#Sides\n",
+ "x=3 #cm\n",
+ "y=2.54 #cm \n",
+ "#break even cost\n",
+ "bec=250 \n",
+ "#hence, chips/waffers needed\n",
+ "cpw=c/bec \n",
+ "D=x*y \n",
+ "#For given Area, atleast 40 chips are required\n",
+ "n=2*cpw \n",
+ "\n",
+ "#Diameter\n",
+ "N=D/(sqrt(2)*S) \n",
+ "#Lower round off\n",
+ "NN=floor(N) \n",
+ "#Chips possible\n",
+ "cp=NN**2 \n",
+ "\n",
+ "#Yield\n",
+ "Y=(n/cp)*100 #Percent\n",
+ "print 'Yield:',Y, '%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Yield: 62.5 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch12.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch12.ipynb
new file mode 100644
index 00000000..d45dd956
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch12.ipynb
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:4900eeee12d5add487271b429c0cbafd110530ef7f850ea37e0c5905f6da1030"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-12 : Microwave Measurements"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 649 Example 12.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given\n",
+ "Is=0.1*(10**-6) #A\n",
+ "Pi=0 #dBm\n",
+ "Cs=0.1*(10**-12) #F\n",
+ "Ls=2*(10**-9) \n",
+ "Cj=0.15*(10**-12) #F\n",
+ "Rs=10 #ohm\n",
+ "T=293 #K\n",
+ "nktbye=25*(10**-3) #V\n",
+ "\n",
+ "#Rj\n",
+ "Rj=(nktbye/Is) \n",
+ "print 'Rj:' ,Rj/1000,'Kohm'\n",
+ "\n",
+ "#Bi\n",
+ "Bi=nktbye/2 \n",
+ "Bii=Bi*1000 \n",
+ "print 'Bi:' ,Bii,'A/W'\n",
+ "\n",
+ "#Bv\n",
+ "Bv=Rj*Bii \n",
+ "print 'Bv:',Bv, 'V/W'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rj: 250.0 Kohm\n",
+ "Bi: 12.5 A/W\n",
+ "Bv: 3125000.0 V/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 650 Example 12.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10 \n",
+ "#Given\n",
+ "vswr=4 \n",
+ "\n",
+ "modT=(vswr-1)/(vswr+1) \n",
+ "Lm=-10*log10(1-(modT*modT)) #dB\n",
+ "print 'Mismatch Loss:' ,Lm,'dB'\n",
+ "\n",
+ "#Sensitivity reduces by a factor\n",
+ "Bvd=(1-(modT*modT)) \n",
+ "Bvdp=Bvd*100 \n",
+ "print 'Voltge sensitivity reduces by:' ,Bvdp,'%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mismatch Loss: -0.0 dB\n",
+ "Voltge sensitivity reduces by: 100 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 650 Example 12.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt , pi\n",
+ "#Given\n",
+ "f=10e9 #Hz\n",
+ "c=3e10 #cm/s\n",
+ "a=4 #cm\n",
+ "s=0.1 #cm\n",
+ "lmb=c/f #cm\n",
+ "lmbg=lmb/(sqrt(1-((lmb/(2*a))**2))) \n",
+ "vswr=lmbg/(pi*s) \n",
+ "print 'VSWR: %0.3f'%vswr\n",
+ "\n",
+ "#Answer in book for lmbg is given as 3.49 but it should be 3.23 and hence the answer will be 10.3"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VSWR: 10.301\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 651 Example 12.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "delx=3.5 #cm\n",
+ "s=0.25 #cm\n",
+ "\n",
+ "lmbg=2*delx \n",
+ "vswr=lmbg/(pi*s) \n",
+ "print 'VSWR: %0.3f'%vswr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VSWR: 8.913\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 651 Example 12.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "vswr=2 \n",
+ "Pin=4.5e-3 #W\n",
+ "\n",
+ "modT=(vswr-1)/(vswr+1) \n",
+ "#Power reflected,\n",
+ "Pr=(modT**2)*Pin \n",
+ "#As coupler samples only 1/1000th power\n",
+ "Prr=Pr*1000 \n",
+ "print 'Reflected Power:' ,Prr,'W'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reflected Power: 0.5 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 652 Example 12.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import tan\n",
+ "#Given\n",
+ "Z0=50 #ohm\n",
+ "p=2.4 \n",
+ "L=0.313 \n",
+ "x=2*pi*L \n",
+ "y=tan(x) \n",
+ "\n",
+ "Zl=(Z0*(1+(p*p*1J)))/(p+(p*1J)) \n",
+ "T=(Zl-Z0)/(Zl+Z0) \n",
+ "p=sqrt(((T.real))**2+((T.imag))**2) \n",
+ "print 'Reflection coefficient: %0.3f'%p"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reflection coefficient: 0.412\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 652 Example 12.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Zl=25+25*1J #ohm\n",
+ "Z0=50 #ohm\n",
+ "\n",
+ "T=(Zl-Z0)/(Zl+Z0) \n",
+ "p=sqrt(((T.real))**2+((T.imag))**2) \n",
+ "print 'Reflection coefficient: %0.3f'%p\n",
+ "\n",
+ "vswrr=(1+p)/(1-p) \n",
+ "print 'VSWR: %0.3f'%vswrr\n",
+ "\n",
+ "#Fraction of power delivered\n",
+ "Pd=1-(p**2) \n",
+ "Pdp=Pd*100 \n",
+ "\n",
+ "print 'Fraction of power delivered:',Pdp, '%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reflection coefficient: 0.447\n",
+ "VSWR: 2.618\n",
+ "Fraction of power delivered: 80.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 653 Example 12.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "d=2.4 #cm\n",
+ "lmbc=1.8 \n",
+ "c=3*10**10 #cm/s\n",
+ "\n",
+ "lmbg=2*d \n",
+ "lmb=(lmbg*lmbc)/(sqrt(lmbg**2+lmbc**2)) \n",
+ "#Operating frequency\n",
+ "f=c/lmb \n",
+ "print 'Operating frequency: %0.3f'%(f/10**9),'GHz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating frequency: 17.800 GHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 653 Example 12.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import mat\n",
+ "#Given\n",
+ "p=1.5 \n",
+ "IsL=1 #dB\n",
+ "InL=30 #dB\n",
+ "\n",
+ "S21=10**(-IsL/20) \n",
+ "\n",
+ "#Assuming tgree ports to be identical\n",
+ "S32=S21 \n",
+ "S13=S21 \n",
+ "\n",
+ "#Isolations are also the same\n",
+ "S31=10**(-InL/20) \n",
+ "S23=S31 \n",
+ "S12=S31 \n",
+ "\n",
+ "#Refelction coefficients are also the same\n",
+ "T=(p-1)/(p+1) \n",
+ "S11=T \n",
+ "S22=T \n",
+ "S33=T \n",
+ "\n",
+ "S=mat([[S11, S12, S13], [S21, S22, S23], [S31, S32, S33] ])\n",
+ "print 'Matrix is:\\n' ,S"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Matrix is:\n",
+ "[[ 0.2 0.03162278 0.89125094]\n",
+ " [ 0.89125094 0.2 0.03162278]\n",
+ " [ 0.03162278 0.89125094 0.2 ]]\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 654 Example 12.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "R1=10.6 #GHz\n",
+ "R2=8.30 #GHz\n",
+ "Q0=8200 \n",
+ "Q0d=890 \n",
+ "\n",
+ "Er=(R1/R2)**2 \n",
+ "print 'Dielectric constant %0.3f'%Er\n",
+ "\n",
+ "Qd=(Q0-Q0d)/(Q0*Q0d) \n",
+ "print 'Loss tangent of dielectric' ,Qd"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dielectric constant 1.631\n",
+ "Loss tangent of dielectric 0\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 654 Example 12.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "l0=0.15 #cm\n",
+ "lmbg=2*2.24 #cm\n",
+ "le=1.14 #cm\n",
+ "a=2.286 #cm\n",
+ "d=2 \n",
+ "\n",
+ "B0=(2*pi)/lmbg \n",
+ "x=tan(B0*l0)/(B0*l0) \n",
+ "#Also\n",
+ "x1=(l0*x)/le \n",
+ "#Correct value seems to be\n",
+ "Bele=2.786 \n",
+ "e1=((((a/pi)**2)*(Bele/le)**2)+1) \n",
+ "e2=(((2*a)/lmbg)**2)+1 \n",
+ "Er=e1/e2 \n",
+ "print 'Er: %0.3f'%Er\n",
+ "\n",
+ "\n",
+ "#Answer in book for Er is given as 2.062 but it should be 2.038"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Er: 2.039\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch2.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch2.ipynb
new file mode 100644
index 00000000..81e488f7
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch2.ipynb
@@ -0,0 +1,1319 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e6553dcd70d4d8b28a08356b9f55414eb14b3817d8217dcdd5394858fb7e9bf3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-2 : Waveguides"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number:91 Example 2.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "\n",
+ "#Given,\n",
+ "\n",
+ "a=6 #cm\n",
+ "b=4 #cm\n",
+ "d=4.47 #cm\n",
+ "c=3e8 #m/s\n",
+ "lamc=2*a \n",
+ "lamg=2*d \n",
+ "\n",
+ "#Signal wavelength\n",
+ "lam=lamg*lamc/(sqrt(lamg**2+lamc**2)) \n",
+ "lam=lam/100 #m\n",
+ "f=c/lam \n",
+ "print 'Signal frequency of dominant mode: %0.3f'%(f/1e9), 'Ghz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Signal frequency of dominant mode: 4.185 Ghz\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 92 Example 2.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi \n",
+ "#Given,\n",
+ "c=3e8 #m/s\n",
+ "a=2.5 #cm\n",
+ "b=5 #cm\n",
+ "lam=4.5 #cm\n",
+ "\n",
+ "lamc=2*b \n",
+ "\n",
+ "#Guide wavelength\n",
+ "lamg=lam/(sqrt(1-((lam/lamc)**2))) \n",
+ "print 'Guide wavelength: %0.3f'%lamg,'cm'\n",
+ "\n",
+ "#Phase constant\n",
+ "bet=(2*pi)/lamg \n",
+ "bet=bet*100 #rad/m\n",
+ "print 'Phase constant: %0.3f'%bet,'rad/m'\n",
+ "\n",
+ "#Phase velocity\n",
+ "w=(2*pi*c)/lam \n",
+ "vp=w/bet \n",
+ "print 'Phase velocity: %0.3f'%vp,'m/s'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Guide wavelength: 5.039 cm\n",
+ "Phase constant: 124.690 rad/m\n",
+ "Phase velocity: 3359355.066 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 92 Example 2.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "\n",
+ "c=3e8 #m/s\n",
+ "a=4 #cm\n",
+ "b=2 #cm\n",
+ "f=10e9 #Hz\n",
+ "m=1 \n",
+ "n=1 \n",
+ "\n",
+ "\n",
+ "#Cutoff wavelength\n",
+ "lamc=2/sqrt((m/a)**2+(n/b)**2) \n",
+ "print 'Cut-off wavelength: %0.3f'%lamc,'cm'\n",
+ "\n",
+ "#Wave impedance\n",
+ "lam=c/f #m\n",
+ "lam=lam*100 #cm\n",
+ "eeta=120*pi \n",
+ "z0=eeta*sqrt(1-(lam/lamc)**2) \n",
+ "print 'Wave impedance: %0.3f'%z0,'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut-off wavelength: 3.578 cm\n",
+ "Wave impedance: 205.408 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 93 Example 2.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "c=3e8 #m/s\n",
+ "f=10e9 #Hz\n",
+ "zte=410 #ohm\n",
+ "\n",
+ "#Wider dimension\n",
+ "lam=c/f #m\n",
+ "lam=lam*100 #cm\n",
+ "a=3/(2*(sqrt(1-(120*pi/zte)**2))) \n",
+ "print 'Wider dimension: %0.3f'%a, 'cm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wider dimension: 3.816 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 64
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 93 Example 2.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "c=3e8 #m/s\n",
+ "a=3.0 #cm\n",
+ "b=1.5 #cm\n",
+ "mur=1 \n",
+ "er=2.25 \n",
+ "x=mur*er \n",
+ "\n",
+ "#(i) Cutoff wavelength and frequencuy\n",
+ "print 'TE10 mode' \n",
+ "m1=1 \n",
+ "n1=0 \n",
+ "lamc10=2/sqrt((m1/a)**2+(n1/b)**2) \n",
+ "print 'Cut-off wavelength:',lamc10, 'cm'\n",
+ "lamc10=lamc10/100 \n",
+ "f10=c/(lamc10*sqrt(x)) \n",
+ "print 'Cutoff frequency:%0.3f'%(f10/1e9),'Ghz'\n",
+ "\n",
+ "print 'TE20 mode' \n",
+ "m2=2 \n",
+ "n2=0 \n",
+ "lamc20=2/sqrt((m2/a)**2+(n2/b)**2) \n",
+ "print 'Cut-off wavelength:',lamc20, 'cm'\n",
+ "lamc20=lamc20/100 \n",
+ "f20=c/(lamc20*sqrt(x)) \n",
+ "print 'Cutoff frequency: %0.3f'%(f20/1e9),'Ghz'\n",
+ "\n",
+ "print 'TE11 mode' \n",
+ "m3=1 \n",
+ "n3=1 \n",
+ "lamc11=2/sqrt((m3/a)**2+(n3/b)**2) \n",
+ "print 'Cut-off wavelength: %0.3f'%lamc11,'cm'\n",
+ "lamc11=lamc11/100 \n",
+ "f11=c/(lamc11*sqrt(x)) \n",
+ "print 'Cutoff frequency: %0.3f'%(f11/1e9), 'Ghz'\n",
+ "\n",
+ "#(ii) lambg and Z0\n",
+ "f=4e9 #Hz\n",
+ "lam=c/f \n",
+ "lamg=lam/(sqrt(x-((lam/lamc10)**2))) \n",
+ "print 'Guide wavelength: %0.3f'%(lamg*100),'cm'\n",
+ "\n",
+ "fc=3.33e9 #Hz\n",
+ "Z0=(120*pi*(1/sqrt(x))*(b/a))/sqrt(1-((fc/f)**2)) \n",
+ "print 'Impedance: %0.3f'%round(Z0), 'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "TE10 mode\n",
+ "Cut-off wavelength: 6.0 cm\n",
+ "Cutoff frequency:3.333 Ghz\n",
+ "TE20 mode\n",
+ "Cut-off wavelength: 3.0 cm\n",
+ "Cutoff frequency: 6.667 Ghz\n",
+ "TE11 mode\n",
+ "Cut-off wavelength: 2.683 cm\n",
+ "Cutoff frequency: 7.454 Ghz\n",
+ "Guide wavelength: 9.045 cm\n",
+ "Impedance: 227.000 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 95 Example 2.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given,\n",
+ "c=3e8 #m/s\n",
+ "a=4 #cm\n",
+ "b=2 #cm\n",
+ "\n",
+ "#(i) Mode\n",
+ "lamc=2*a #cm\n",
+ "lamcm=lamc/100 #m\n",
+ "fc=c/lamcm \n",
+ "#20% above fc\n",
+ "f=1.2*fc #Hz\n",
+ "\n",
+ "#Operating wavelength\n",
+ "lam1=c/f #cm\n",
+ "\n",
+ "#For TE10 mode\n",
+ "lamc10=2*b #cm\n",
+ "lamcm10=lamc10/100 #m\n",
+ "fc10=c/lamcm10 \n",
+ "print 'Hence mode of operation is TE10','Since guide is operating at' ,fc/1e6,'MHz'\n",
+ "\n",
+ "#(ii)Guide wavelength\n",
+ "lamm1=lam1*100 #cm\n",
+ "lamg=lamm1/(sqrt(1-(lamm1/lamc)**2)) \n",
+ "print 'Guide wavelength:%0.3f'%lamg,'cm'\n",
+ "\n",
+ "#(iii) Phase velocity\n",
+ "vp=f*lamg \n",
+ "print 'Phase velocity: %0.3f'%(vp/100),'m/s'\n",
+ "\n",
+ "#(iii) Group velocity\n",
+ "vg=c**2/vp \n",
+ "print 'Group velocity: %0.3f'%vg, 'm/s'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Hence mode of operation is TE10 Since guide is operating at 3750.0 MHz\n",
+ "Guide wavelength:12.060 cm\n",
+ "Phase velocity: 542720420.240 m/s\n",
+ "Group velocity: 1658312.395 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 96 Example 2.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given,\n",
+ "c=3e8 #m/s\n",
+ "a=7 #cm\n",
+ "b=3.5 #cm\n",
+ "f=3e9 #Hz\n",
+ "h0=10 #amp/m\n",
+ "\n",
+ "#Wave impedance\n",
+ "lamc=2*a \n",
+ "lam=c/f #m\n",
+ "lam=lam*100 #cm\n",
+ "lamg=lam/sqrt(1-(lam/lamc)**2) #cm\n",
+ "z0=377*lamg/h0 #ohm\n",
+ "\n",
+ "a1=a/100 #m\n",
+ "b1=b/100 #m\n",
+ "#Average power transmitted\n",
+ "p=(z0*h0*h0*a1*b1)/4 \n",
+ "print 'Average power transmitted: %0.3f'%p, 'W'\n",
+ "\n",
+ "#Peak electric field\n",
+ "e0=z0*h0 \n",
+ "print 'Peak electric field: %0.3f'%(e0/1000),'kV/m'\n",
+ "\n",
+ "#Answer for p is given as 28.3 W but it should be 32.99W"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average power transmitted: 32.994 W\n",
+ "Peak electric field: 5.387 kV/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 96 Example 2.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " #Given,\n",
+ "c=3e8 #m/s\n",
+ "fc=3e9 #Hz\n",
+ "\n",
+ "#Cutoff wavelength\n",
+ "lamc=c/fc \n",
+ "a=lamc/2 #m\n",
+ "a=a*100 #cm\n",
+ "print 'Dimensions:' \n",
+ "print 'a:' ,a,'cm'\n",
+ "b=a/2 #cm\n",
+ "print 'b:' ,b,'cm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dimensions:\n",
+ "a: 5.0 cm\n",
+ "b: 2.5 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: Example 2.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "\n",
+ "c=3e8 #m/s\n",
+ "a=3 #cm\n",
+ "a1=a/100 #m\n",
+ "b=2 #cm\n",
+ "b1=b/100 #m\n",
+ "f=7.5e9 #HZ\n",
+ "p=5e3 #W\n",
+ "\n",
+ "mu=pi*4e-7 \n",
+ "w=2*pi*f \n",
+ "bet=sqrt(((w/c)**2)-((pi/a1)**2)) \n",
+ "#Charecteristic impedance\n",
+ "z0=w*mu*2*b/(bet*a) \n",
+ "print 'Charecteristic impedance : %0.3f'%z0,'ohm'\n",
+ "\n",
+ "#Peak electric field\n",
+ "e0=4*w*mu*p/(bet*a*b) \n",
+ "print 'Peak electric field: %0.3f'%e0,'V/m'\n",
+ "\n",
+ "#Maximum voltage\n",
+ "v0=e0*b1 \n",
+ "print 'Maximum voltage: %0.3f'%(v0/1000),'kV'\n",
+ "\n",
+ "#Answer for v0 is given as 3.172 kV it should be 33.71 kV"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Charecteristic impedance : 674.382 ohm\n",
+ "Peak electric field: 1685955.535 V/m\n",
+ "Maximum voltage: 33.719 kV\n"
+ ]
+ }
+ ],
+ "prompt_number": 73
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 99 Example 2.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given,\n",
+ "c=3e8 #m/s\n",
+ "a=1.5 #cm\n",
+ "a1=a/100 #m\n",
+ "b=0.8 #cm\n",
+ "b1=b/100 #m\n",
+ "mu=1/c*c \n",
+ "e=4 \n",
+ "w=pi*1e11 \n",
+ "n=377 \n",
+ "\n",
+ "#(i) Frequency of operation\n",
+ "f=w/(2*pi) \n",
+ "f1=f/1e9 #ghz\n",
+ "print 'Frequency of operation:' ,f1,'Ghz'\n",
+ "\n",
+ "#(ii) Cutt off frequency\n",
+ "fc=(c*sqrt((1/a1)**2+(3/b1)**2))/(2*sqrt(e)) \n",
+ "fc1=fc/1e9 #ghz\n",
+ "print 'Cut off frequency: %0.3f'%fc1,'Ghz'\n",
+ "\n",
+ "#(iii) Phase constant\n",
+ "bet=(w*sqrt(e)*sqrt(1-(fc/f)**2))/(c) \n",
+ "print 'Phase constant: %0.3f'%bet,'rad/m'\n",
+ "\n",
+ "#(iv) Propogation constant\n",
+ "gam=1J*bet \n",
+ "print 'Propogation constant: {:.3}'.format(gam),'rad/s'\n",
+ "\n",
+ "#(v) Intrensic wave impedance\n",
+ "zte=(n/sqrt(e))/sqrt(1-(fc/f)**2) \n",
+ "ztm=(n/sqrt(e))*sqrt(1-(fc/f)**2) \n",
+ "print 'Intrinsic wave impedance:\\n' ,'ZTM13 :%0.3f'%ztm,'Ohm','ZTE13 : %0.3f'%zte,'Ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of operation: 50.0 Ghz\n",
+ "Cut off frequency: 28.566 Ghz\n",
+ "Phase constant: 1718.928 rad/m\n",
+ "Propogation constant: 1.72e+03j rad/s\n",
+ "Intrinsic wave impedance:\n",
+ "ZTM13 :154.707 Ohm ZTE13 : 229.674 Ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 103 Example 2.17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "a=2 #cm\n",
+ "a1=1/100 #m\n",
+ "b=1 #cm\n",
+ "b1=b/100 #m\n",
+ "p=10e-3 #W\n",
+ "c=3e8 #m/s\n",
+ "f0=10e9 #Hz\n",
+ "\n",
+ "#Peak value of electric field\n",
+ "fc=c/(2*a) \n",
+ "E02=(4*p*377)/(a1*b1*sqrt(1-(fc/f0)**2)) \n",
+ "E0=sqrt(E02) \n",
+ "print 'Peak value of electric field: %0.3f'%E0, 'V/m'\n",
+ "\n",
+ "#Maximum power transmitted\n",
+ "Ed=3e6 #V/m\n",
+ "Pt=2.6e13*(Ed/f0)**2 \n",
+ "print 'Maximum power transmitted: %0.3f'%(Pt/1000), 'kW'\n",
+ "\n",
+ "#Answer is given as 2300kW but it is 2340kW"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak value of electric field: 388.335 V/m\n",
+ "Maximum power transmitted: 2340.000 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 104 Example 2.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division \n",
+ "import cmath\n",
+ "#Given\n",
+ "f=5e9 #Hz\n",
+ "c=3e8 #m/s\n",
+ "a=7.5 #cm\n",
+ "a1=a/100 #m\n",
+ "b=3.5 #cm\n",
+ "b1=b/100 #m\n",
+ "lam=c/f \n",
+ "lamm=lam*100 #m\n",
+ "\n",
+ "print 'TE10 mode' \n",
+ "lamc10=2*a \n",
+ "bet10=(2*pi*sqrt(((lamc10/lamm)**2)-1))/lamc10 \n",
+ "print 'Propogation constant: %0.3f'%bet10,'rad/cm'\n",
+ "vp10=(2*pi*f)/bet10 \n",
+ "print 'Phase velocity: %0.3f'%(vp10/100),'m/s'\n",
+ "\n",
+ "print 'TE01 mode' \n",
+ "lamc01=2*b \n",
+ "bet01=(2*pi*sqrt(((lamc01/lamm)**2)-1))/lamc01 \n",
+ "print 'Propogation constant: %0.3f'%bet01, 'rad/cm'\n",
+ "vp01=(2*pi*f)/bet01 \n",
+ "print 'Phase velocity: %0.3f'%(vp01/100), 'm/s'\n",
+ "\n",
+ "print 'TE11 mode' \n",
+ "lamc11=(2*a*b)/sqrt((a*a)+(b*b)) \n",
+ "bet11=(2*pi*sqrt(((lamc11/lamm)**2)-1))/lamc11 \n",
+ "print 'Propogation constant: %0.3f'%bet11,'rad/cm'\n",
+ "vp11=(2*pi*f)/bet11 \n",
+ "print 'Phase velocity: %0.3f'%(vp11/100), 'm/s'\n",
+ "\n",
+ "print 'TE02 mode' \n",
+ "lamc02=b \n",
+ "bet02=(2*pi*cmath.sqrt(((lamc02/lamm)**2)-1))/lamc02 \n",
+ "print 'Propogation constant: {:.3f}'.format(bet02), 'rad/cm'\n",
+ "print 'As beta is imaginary, mode gets attenuated' \n",
+ "alp=(2*pi*sqrt(1-((lamc02/lamm)**2)))/lamc02 \n",
+ "print 'Propogation constant alpha: %0.3f'%alp, 'Np/m'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "TE10 mode\n",
+ "Propogation constant: 0.960 rad/cm\n",
+ "Phase velocity: 327326835.354 m/s\n",
+ "TE01 mode\n",
+ "Propogation constant: 0.539 rad/cm\n",
+ "Phase velocity: 582435206.036 m/s\n",
+ "TE11 mode\n",
+ "Propogation constant: 0.340 rad/cm\n",
+ "Phase velocity: 924473451.642 m/s\n",
+ "TE02 mode\n",
+ "Propogation constant: 0.000+1.458j rad/cm\n",
+ "As beta is imaginary, mode gets attenuated\n",
+ "Propogation constant alpha: 1.458 Np/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 105 Example 2.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10 , exp\n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=2.29 #cm\n",
+ "b=1.02 #cm\n",
+ "a1=a/100 #m\n",
+ "b1=b/100 #m\n",
+ "f=6e9 #Hz\n",
+ "e=1 \n",
+ "mu=1/(c**2) \n",
+ "\n",
+ "#Cut off frequency\n",
+ "lamc=2*a1 \n",
+ "fc=c/lamc \n",
+ "w=2*pi*fc \n",
+ "\n",
+ "#Attenuation constant\n",
+ "a=(w*sqrt(1-((f/fc)**2)))/c \n",
+ "adb=-20*log10(exp(-a)) \n",
+ "print 'Attenuation constant: %0.3f'%adb,'dB/m'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Attenuation constant: 478.042 dB/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 94
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 105 Example 2.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "a1=1.84 \n",
+ "a2=pi \n",
+ "\n",
+ "r=2*pi*(a1/a2)**2 \n",
+ "print 'Cross section ratio: %0.3f'% r"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cross section ratio: 2.155\n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 106 Example 2.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "f=15e9 #hz\n",
+ "a=1.07 #cm\n",
+ "a1=a/100 #m\n",
+ "b=0.43 #cm\n",
+ "b1=b/100 #m\n",
+ "er=2.08 \n",
+ "tandel=0.0004 \n",
+ "lam=c/f \n",
+ "\n",
+ "\n",
+ "#(i) Cut off frequency\n",
+ "m1=1 \n",
+ "n1=0 \n",
+ "fc10=(c/(2*pi*sqrt(er))*sqrt((m1*pi/a1)**2+(n1*pi/b1)**2)) \n",
+ "print 'Cut off frequency for mode TE10: %0.3f'%(fc10/10**9), 'GHz'\n",
+ "\n",
+ "m2=2 \n",
+ "n2=0 \n",
+ "fc20=(c/(2*pi*sqrt(er))*sqrt((m2*pi/a1)**2+(n2*pi/b1)**2)) \n",
+ "print 'Cut off frequency at mode TE20: %0.3f'%(fc20/10**9), 'Ghz'\n",
+ "\n",
+ "m3=0 \n",
+ "n3=1 \n",
+ "fc01=(c/(2*pi*sqrt(er))*sqrt((m3*pi/a1)**2+(n3*pi/b1)**2)) \n",
+ "print 'Cut off frequency at mode TE01: %0.3f'%(fc01/10**9),'Ghz'\n",
+ "\n",
+ "#Dielectric attenuation constant\n",
+ "ad=(pi*tandel)/(lam*sqrt(1-(fc10/f)**2)) \n",
+ "adb=-20*log10(exp(-ad)) \n",
+ "print 'Attenuation constant: %0.3f'%adb,'dB/m'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequency for mode TE10: 9.720 GHz\n",
+ "Cut off frequency at mode TE20: 19.440 Ghz\n",
+ "Cut off frequency at mode TE01: 24.188 Ghz\n",
+ "Attenuation constant: 0.717 dB/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 98
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 106 Example 2.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=2.286 #cm\n",
+ "a1=a/100 #m\n",
+ "b=1.016 #cm\n",
+ "b1=b/100 #m\n",
+ "sig=5.8e7 #s/m\n",
+ "f=9.6e9 #Hz\n",
+ "\n",
+ "w=2*pi*f \n",
+ "mu=pi*4e-7 \n",
+ "et=377 \n",
+ "\n",
+ "lam=c/f \n",
+ "lamc=2*a1 \n",
+ "r=lam/lamc \n",
+ "\n",
+ "Rs=sqrt((w*mu)/(2*sig)) \n",
+ "ac=(Rs*(1+(2*(b1/a1)*r*r)))/(et*b1*sqrt(1-(r**2))) \n",
+ "adb=-20*log10(exp(-ac)) \n",
+ "print 'Conductor attenuation constant: %0.3f'%adb, 'dB/m'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conductor attenuation constant: 0.112 dB/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 107 Example 2.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "f=9e9 #hz\n",
+ "a=5 #cm\n",
+ "a1=a/100 #m\n",
+ "e=1 \n",
+ "mu=1/(c*c) \n",
+ "p11=1.841 \n",
+ "\n",
+ "fc=(p11*c)/(2*pi*a1) \n",
+ "#Maximum power transmitted\n",
+ "pmax=1790*(a1*a1)*sqrt(1-((fc/f)**2)) \n",
+ "print 'Maximum power transmitted:%0.3f'%pmax,'kW'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power transmitted:4.389 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 100
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 108 Example 2.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=5 #cm\n",
+ "a1=a/100 #m\n",
+ "f=3e9 #hz\n",
+ "p11=1.841 \n",
+ "e=1 \n",
+ "w=2*pi*f \n",
+ "\n",
+ "#(i) Cut off frequency\n",
+ "fc=(p11*c)/(2*pi*a1) \n",
+ "print 'Cut off frequency: %0.3f'%(fc/10**9),'Ghz'\n",
+ "\n",
+ "#(ii) Guide wavelength\n",
+ "bet=sqrt(((w*w)/(c*c))-((p11/a1)**2)) \n",
+ "lamg=(2*pi)/bet \n",
+ "lamg1=lamg*100 #cm\n",
+ "print 'Guide wavelength: %0.3f'%lamg1, 'cm'\n",
+ "\n",
+ "#(iii) Wave impedance\n",
+ "zte=(w*pi*4e-7)/bet \n",
+ "print 'Wave impedance:' ,round(zte),'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequency: 1.758 Ghz\n",
+ "Guide wavelength: 12.341 cm\n",
+ "Wave impedance: 465.0 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number:108 Example 2.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "p01=2.405 \n",
+ "a=1/100 #cm\n",
+ "p11=1.841 \n",
+ "\n",
+ "fc01=((c*p01)/(2*pi*a)) \n",
+ "fc11=((c*p11)/(2*pi*a)) \n",
+ "bw=fc01-fc11 \n",
+ "print 'Bandwidth: %0.3f'%(bw/10**9), 'Ghz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bandwidth: 2.693 Ghz\n"
+ ]
+ }
+ ],
+ "prompt_number": 102
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 109 Example 2.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=2.286 #cm\n",
+ "f=5e9 #Hz\n",
+ "er=2.25 \n",
+ "tandel=1e-3 \n",
+ "w=2*pi*f \n",
+ "mu=4e-7 \n",
+ "sig=5.8e7 #s/m\n",
+ "\n",
+ "lamc=2*a \n",
+ "lamm=c/f #m\n",
+ "lam=lamm*100 #cm\n",
+ "\n",
+ "ermax=(lam/a)**2 \n",
+ "print 'Maximum value of dielectric constant: %0.3f'%ermax\n",
+ "ermin=(lam/(2*a))**2 \n",
+ "print 'Minimum value of dielectric constant: %0.3f'%ermin\n",
+ "\n",
+ "#Guide wavelength\n",
+ "lam1=lam/sqrt(er) #cm\n",
+ "lamg=lam1/sqrt(1-(lam1/lamc)**2) \n",
+ "print 'Guide wavelength: %0.3f'%lamg, 'cm'\n",
+ "\n",
+ "lamm1=lam1/100 \n",
+ "ad=(pi/lamm1)*(tandel/sqrt(1-(lam1/lamc)**2)) \n",
+ "print 'ad: %0.3f'%ad,'Np/m'\n",
+ "bet=2*pi/lamg \n",
+ "print 'Beta: %0.3f'%bet, 'rad/cm'\n",
+ "vp=w/(bet*100) \n",
+ "print 'Phase velocity: %0.3f'%vp, 'm/s'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of dielectric constant: 6.889\n",
+ "Minimum value of dielectric constant: 1.722\n",
+ "Guide wavelength: 8.259 cm\n",
+ "ad: 0.162 Np/m\n",
+ "Beta: 0.761 rad/cm\n",
+ "Phase velocity: 412949668.492 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 107
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 110 Example 2.27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=0.5 #cm\n",
+ "a1=a/100 #m\n",
+ "f=14e9 #Hz\n",
+ "er=2.08 \n",
+ "p11=1.841 \n",
+ "p01=2.405 \n",
+ "tandel=4e-4 \n",
+ "w=2*pi*f \n",
+ "u=pi*4e-7 \n",
+ "sig=4.1e7 \n",
+ "et=377 \n",
+ "\n",
+ "#(i) Cut off frequencies\n",
+ "fcte11=p11*c/(2*pi*a1*sqrt(er)) \n",
+ "fctm01=p01*c/(2*pi*a1*sqrt(er)) \n",
+ "print 'Cut off frequencies for TE11 mode: %0.3f'%(fcte11/10**9),'Ghz'\n",
+ "print 'Cut off frequencies for TM01 mode:%0.3f'%(fctm01/10**9), 'Ghz'\n",
+ "\n",
+ "#(ii) Overall noise\n",
+ "#Dielectric attenuation\n",
+ "ad=(pi*sqrt(er)*tandel*f)/(c*sqrt(1-((fcte11/f)**2))) \n",
+ "print 'Dielectric attenuation: %0.3f'%(ad*8.686), 'dB/m'\n",
+ "\n",
+ "#Conductor attenuation\n",
+ "k=(2*pi*f*sqrt(er))/c \n",
+ "bet=sqrt((k*k)-((p11/a1)**2)) \n",
+ "#Surface resistance\n",
+ "rs=sqrt((w*u)/(2*sig)) \n",
+ "kc2=(p11/a1)**2 \n",
+ "\n",
+ "ac=(rs*(kc2-((k**2)/((p11**2)-1))))/(a1*k*et*bet) \n",
+ "print 'Conductor attenuation: %0.3f'%(ac*8.686), 'dB/m'\n",
+ "\n",
+ "#Total attenuation\n",
+ "a=(ac+ad)*8.686 \n",
+ "print 'Total attenuation: %0.3f'%a,'dB/m'\n",
+ "ta=a*0.3 \n",
+ "print 'Total attenuation in 30 cm line: %0.3f'%ta,'dB'\n",
+ "\n",
+ "#Answer for condcutor attenuation is wrong in book, hence answer for total loss is different"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequencies for TE11 mode: 12.190 Ghz\n",
+ "Cut off frequencies for TM01 mode:15.924 Ghz\n",
+ "Dielectric attenuation: 1.494 dB/m\n",
+ "Conductor attenuation: 0.117 dB/m\n",
+ "Total attenuation: 1.610 dB/m\n",
+ "Total attenuation in 30 cm line: 0.483 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 111
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 112 Example 2.28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "er=9 \n",
+ "a=7 #cm\n",
+ "a1=a/100 #m\n",
+ "b=3.5 #cm\n",
+ "b1=b/100 #m\n",
+ "ur=1 \n",
+ "f1=2e9 #Hz\n",
+ "\n",
+ "#(i) Cut off frequency\n",
+ "lamc=2*a1 \n",
+ "fc=c/(lamc*sqrt(ur*er)) \n",
+ "print 'Cut off frequency:%0.3f'%(fc/10**9), 'Ghz'\n",
+ "\n",
+ "#(ii) Phase velocity\n",
+ "lam=c/f1 #m\n",
+ "lam1=lam*100 #cm\n",
+ "lamc1=lamc*100 #cm\n",
+ "lamg=lam1/(sqrt((ur*er)-((lamc1/lam1)**2))) #cm\n",
+ "lamg1=lamg/100 #m\n",
+ "vp=f1*lamg1 \n",
+ "print 'Phase velocity:%0.3f'%vp, 'm/s'\n",
+ "\n",
+ "#/(iii)Guide wavelength\n",
+ "print 'Guide wavelength: %0.3f'%lamg, 'cm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequency:0.714 Ghz\n",
+ "Phase velocity:105221784.048 m/s\n",
+ "Guide wavelength: 5.261 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 114
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 112 Example 2.29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "fc=9e9 #Hz\n",
+ "er=1 \n",
+ "er1=4 \n",
+ "p11=1.841 \n",
+ "\n",
+ "#(i) air filled\n",
+ "a=(p11*c)/(2*pi*fc*sqrt(er)) \n",
+ "print 'Inside diameter if air filled: %0.3f'%(a*100),'cm'\n",
+ "#(ii) dielectric field\n",
+ "a1=(p11*c)/(2*pi*fc*sqrt(er1)) \n",
+ "print 'Inside diameter if dielectric filled: %0.3f'%(a1*100),'cm'\n",
+ "\n",
+ "#Answers are calculated wrong in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inside diameter if air filled: 0.977 cm\n",
+ "Inside diameter if dielectric filled: 0.488 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 116
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 113 Example 2.30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "er=2.55 \n",
+ "d=1 #mm\n",
+ "d1=d/1000 #m\n",
+ "\n",
+ "#Cut off frequencies\n",
+ "fctm0=0 \n",
+ "print 'Cut off frequency for mode TM0:',fctm0, 'Ghz'\n",
+ "\n",
+ "fcte1=c/(4*d1*sqrt(er-1)) \n",
+ "print 'Cut off frequency at mode TE1: %0.3f'%(fcte1/10**9),'Ghz'\n",
+ "\n",
+ "fctm1=c/(2*d1*sqrt(er-1)) \n",
+ "print 'Cut off frequency at mode TM1: %0.3f'%(fctm1/10**9),'Ghz'\n",
+ "\n",
+ "\n",
+ "#Answers are calculated wrong in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequency for mode TM0: 0 Ghz\n",
+ "Cut off frequency at mode TE1: 60.241 Ghz\n",
+ "Cut off frequency at mode TM1: 120.483 Ghz\n"
+ ]
+ }
+ ],
+ "prompt_number": 117
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 113 Example 2.31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given,\n",
+ "c=3e8 #m/s\n",
+ "f=15e9 #hz\n",
+ "d=5 #mm\n",
+ "d1=d/1000 #m\n",
+ "\n",
+ "#Cut off frequency\n",
+ "fc=0.8*f \n",
+ "#Dielctric constant\n",
+ "er=(c/(2*d1*fc))**2+1 \n",
+ "print 'Dielectric constant:' ,er"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dielectric constant: 7.25\n"
+ ]
+ }
+ ],
+ "prompt_number": 118
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch3.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch3.ipynb
new file mode 100644
index 00000000..58613139
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch3.ipynb
@@ -0,0 +1,258 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:cae0ff7581c3b5c12e11b4f1b44c3beb02347fef7d7d6837104f81f1c4303c1b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-3 : Microwave Network Analysis"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 142 Example 3.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from numpy import array, linalg, mat, set_printoptions\n",
+ "\n",
+ "#Given\n",
+ "\n",
+ "z=mat('[4 2 ;2 4]')\n",
+ "I=mat('[1 0;0 1]') \n",
+ "\n",
+ "\n",
+ "#Scattering matrix\n",
+ "s=(z-I)*linalg.inv(z+I)\n",
+ "set_printoptions(precision=3)\n",
+ "print 'Scattering Matrix:\\n' ,s"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Scattering Matrix:\n",
+ "[[ 0.524 0.19 ]\n",
+ " [ 0.19 0.524]]\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 142 Example 3.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt, pi \n",
+ "from cmath import exp\n",
+ "#Given\n",
+ "P=12.8e-3 #W\n",
+ "l=3 #cm\n",
+ "lamb=4.2 #cm\n",
+ "vswr=2.2 \n",
+ "jfi=1J*4.49 \n",
+ "\n",
+ "#ap\n",
+ "ap=sqrt(2*P) \n",
+ "\n",
+ "#Phase shift\n",
+ "bl=(2*pi*l)/lamb \n",
+ "#bp\n",
+ "bp=(ap*(vswr-1))/(vswr+1) \n",
+ "\n",
+ "a=ap*exp(jfi) \n",
+ "b=bp*exp(jfi) \n",
+ "print 'Required Waves:\\n{:.3}'.format(a),'\\n{:.3}'.format(b)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Required Waves:\n",
+ "(-0.0353-0.156j) \n",
+ "(-0.0132-0.0585j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 143 Example 3.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " from math import log10\n",
+ "#Given\n",
+ "S11=0.10 \n",
+ "S12=0.90 \n",
+ "A12=-45 \n",
+ "S21=0.90 \n",
+ "A21=45 \n",
+ "S22=0.3 \n",
+ "\n",
+ "#(i) Network is reciprocal\n",
+ "if(A12==A21):\n",
+ " print 'Network is reciprocal' \n",
+ "else:\n",
+ " \n",
+ " print 'Network is not reciprocal' \n",
+ "\n",
+ "\n",
+ "#(ii) Network is lossles\n",
+ "x=(S11**2)+(S12**2) \n",
+ "if(x==1):\n",
+ " print 'Network is lossless' \n",
+ "else:\n",
+ " \n",
+ " print 'Network is not lossless' \n",
+ "\n",
+ "\n",
+ "#(iii)Return loss\n",
+ "T=S11-((S12*S21)/(1+S22)) \n",
+ "Tm=-T #mod of T\n",
+ "L=-20*log10(Tm) \n",
+ "print 'Return Loss: %0.3f'%L,'dB'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Network is not reciprocal\n",
+ "Network is not lossless\n",
+ "Return Loss: 5.629 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 163 Example 3.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "S11=0.6 \n",
+ "S12=0.045 \n",
+ "S21=2.5 \n",
+ "S22=0.50 \n",
+ "TS=0.5 \n",
+ "TL=0.4 \n",
+ "Z0=50 #ohm\n",
+ "Vrms=10 #V\n",
+ "\n",
+ "#(i) Gain Parameters\n",
+ "#(i)Reflection coefficients of input and output\n",
+ "Tin=S11+((S12*S21*TL)/(1-(S22*TL))) \n",
+ "Tout=S22+((S12*S21*TS)/(1-(S22*TS))) \n",
+ "\n",
+ "#Transducer Gain\n",
+ "x=(1-(TS)**2)/((1-(S11*TS))**2) \n",
+ "y=(S21*S21) \n",
+ "z=(1-(TL)**2)/((1-(Tout*TL))**2) \n",
+ "GT=x*y*z \n",
+ "print 'Transducer Gain: %0.3f'%GT\n",
+ "\n",
+ "#Available Power Gain\n",
+ "z1=1-(Tout)**2 \n",
+ "GA=(x*y)/z1 \n",
+ "print 'Available power Gain: %0.3f'%GA\n",
+ "\n",
+ "#Power Gain\n",
+ "z2=1-(Tin)**2 \n",
+ "GP=(x*y)/z2 \n",
+ "print 'Power Gain: %0.3f'%GP\n",
+ "\n",
+ "#(ii) Power levels\n",
+ "#Power available at source\n",
+ "Pavs=(sqrt(2)*Vrms)**2/(8*Z0) \n",
+ "print 'Power available at source: %0.3f'%Pavs,'W'\n",
+ "\n",
+ "Pl=9.4*Pavs \n",
+ "#Power available at input\n",
+ "Pin=Pl/13.5 \n",
+ "print 'Power available at input: %0.3f'%Pin,'W'\n",
+ "\n",
+ "#(iii) VSWRs\n",
+ "M1=Pin/Pavs \n",
+ "M2=Pl/(9.6*Pavs) \n",
+ "\n",
+ "Tin1=sqrt(1-M1) \n",
+ "Tout1=sqrt(1-M2) \n",
+ "\n",
+ "vswrin=(1+Tin1)/(1-Tin1) \n",
+ "print 'Input VSWR: %0.3f'%vswrin\n",
+ "vswrout=(1+Tout1)/(1-Tout1) \n",
+ "print 'Output VSWR: %0.3f'%vswrout\n",
+ "\n",
+ "#Calculations for gain are done wrong in book, hence answers dont match"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transducer Gain: 13.553\n",
+ "Available power Gain: 14.291\n",
+ "Power Gain: 16.803\n",
+ "Power available at source: 0.500 W\n",
+ "Power available at input: 0.348 W\n",
+ "Input VSWR: 3.455\n",
+ "Output VSWR: 1.337\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch4.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch4.ipynb
new file mode 100644
index 00000000..080d6f6c
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch4.ipynb
@@ -0,0 +1,1069 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:ffa36c37285243e82f8b7c3abbc469b9a273b2bd68fa586a9dc529ef122af349"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-4: Microwave resonators & Waveguide components"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 193 Example 4.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import sqrt \n",
+ "#Given\n",
+ "a=5 #cm\n",
+ "a1=a/100 #m\n",
+ "b=2 #cm\n",
+ "b1=b/100 #m\n",
+ "c=15 #cm\n",
+ "c1=c/100 #m\n",
+ "\n",
+ "#(i) Air filled cavity\n",
+ "m=1 \n",
+ "n=0 \n",
+ "p=1 \n",
+ "c=3e8 #for air\n",
+ "fr=(1/2)*c*sqrt((m/a1)**2+(n/b1)**2+(p/c1)**2) #hz\n",
+ "print 'Resonant frequency for an air filled cavity: %0.3f'%(fr/10**9),'Ghz'\n",
+ "\n",
+ "#(ii) Dielctric filled cavity\n",
+ "er=2.56 \n",
+ "fr1=(1/2)*(c/sqrt(er))*sqrt((m/a1)**2+(n/b1)**2+(p/c1)**2) #hz\n",
+ "print 'Resonant frequency for dielectric cavity: %0.3f'%(fr1/10**9),'Ghz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resonant frequency for an air filled cavity: 3.162 Ghz\n",
+ "Resonant frequency for dielectric cavity: 1.976 Ghz\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 193 Example 4.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "a=0.38 #cm\n",
+ "a1=a/100 #m\n",
+ "b=0.76 #cm\n",
+ "b1=b/100 #m\n",
+ "f=50e9 \n",
+ "c=3e8 \n",
+ "\n",
+ "#Length for TE102\n",
+ "m=1 \n",
+ "n=0 \n",
+ "p=2 \n",
+ "l=1/sqrt((f/c)**2-(1/(4*b1**2))) #m\n",
+ "print 'Length c: %0.3f'%(l*100),'cm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length c: 0.653 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 194 Example 4.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=2.286 #cm\n",
+ "a1=a/100 #m\n",
+ "b=1.024 #cm\n",
+ "b1=b/100 #m\n",
+ "f=10e9 #hz\n",
+ "sig=6e7 \n",
+ "u=4e-7*pi \n",
+ "w=2*pi*f \n",
+ "eet=377 \n",
+ "\n",
+ "#Shortest cavity length\n",
+ "lamc=2*a1 #m\n",
+ "fc=c/lamc #hz\n",
+ "lam=c/f #m\n",
+ "lamg=lam/sqrt(1-(fc/f)**2) #m\n",
+ "sc=lamg/2 #m\n",
+ "print 'Shortest cavity length: %0.3f'%(sc*100), 'cm'\n",
+ "\n",
+ "#Qw of the resonator operating in TE101 mode\n",
+ "rs=sqrt((w*u)/(2*sig)) #ohm\n",
+ "lamr=c/f \n",
+ "x=(((a1*b1)/(sc**2))+((sc**2+a1**2)/(2*sc*a1))+(b1*sc/a1**2)) \n",
+ "qw=(2*pi*eet*a1*b1*sc)/(rs*(lamr**3)*x) \n",
+ "print 'Qw of the resonator operating in TE101 mode %0.3f'%qw"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shortest cavity length: 1.988 cm\n",
+ "Qw of the resonator operating in TE101 mode 7990.324\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 195 Example 4.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=4.8 #cm\n",
+ "a1=a/100 #m\n",
+ "b=2.2 #cm\n",
+ "b1=b/100 #m\n",
+ "f=5e9 #hz\n",
+ "er=2.25 \n",
+ "tandel=4e-4 \n",
+ "sig=5.813e7 \n",
+ "oneby=3e8 \n",
+ "u=4e-7*pi \n",
+ "w=2*pi*f \n",
+ "eet=377 \n",
+ "\n",
+ "#Length at p=1\n",
+ "m=1 \n",
+ "n=0 \n",
+ "p=1 \n",
+ "z=(f*2*sqrt(er))/c \n",
+ "cp1=p/sqrt((z**2)-((m/a1)**2)-((n/b1)**2)) \n",
+ "print 'Length of resonator at p=1: %0.3f'%(cp1*100), 'cm'\n",
+ "\n",
+ "#At p=2\n",
+ "cp2=cp1*2 \n",
+ "print 'Length of resonator at p=2: %0.3f'%(cp2*100), 'cm'\n",
+ "\n",
+ "#Qw\n",
+ "rs=sqrt((w*u)/(2*sig)) #ohm\n",
+ "lamr=c/(f*sqrt(er)) \n",
+ "x=(((a1*b1)/(cp1**2))+((cp1**2+a1**2)/(2*cp1*a1))+(b1*cp1/a1**2)) \n",
+ "qw=(2*pi*(eet/sqrt(er))*a1*b1*cp1)/(rs*(lamr**3)*x) \n",
+ "qd=1/tandel \n",
+ "q=(qw*qd)/(qw+qd) \n",
+ "print 'Q for TE101 mode: %0.3f'%q"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of resonator at p=1: 2.200 cm\n",
+ "Length of resonator at p=2: 4.400 cm\n",
+ "Q for TE101 mode: 1925.612\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 196 Example 4.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=2 #cm\n",
+ "a1=a/100 #m\n",
+ "b=2.5 #cm\n",
+ "b1=b/100 #m\n",
+ "\n",
+ "print 'TE modes' \n",
+ "h01=3.832 \n",
+ "fr=(c/(2*pi))*sqrt((h01/a1)**2+(pi/b1)**2) #hz\n",
+ "print 'Resonant frequency for mode TE010: %0.3f'%(fr/10**9),'Ghz'\n",
+ "\n",
+ "h11=1.841 \n",
+ "fr1=(c/(2*pi))*sqrt((h11/a1)**2+(pi/b1)**2) #hz\n",
+ "print 'Resonant frequency for mode TE111: %0.3f'%(fr1/10**9),'Ghz'\n",
+ "\n",
+ "h21=3.054 \n",
+ "fr2=(c/(2*pi))*sqrt((h21/a1)**2+(pi/b1)**2) #hz\n",
+ "print 'Resonant frequency for mode TE211: %0.3f'%(fr2/10**9),'Ghz'\n",
+ "\n",
+ "print 'TM modes:' \n",
+ "l1=0 \n",
+ "h011=2.405 \n",
+ "fr3=(c/(2*pi))*sqrt((h011/a1)**2+(pi*l1/b1)**2) #hz\n",
+ "print 'Resonant frequency for mode TM010 %0.3f'%(fr3/10**9),'Ghz'\n",
+ "\n",
+ "l2=1 \n",
+ "fr4=(c/(2*pi))*sqrt((h011/a1)**2+(pi*l2/b1)**2) #hz\n",
+ "print 'resonant frequency for mode TM011: %0.3f'%(fr4/10**9),'Ghz'\n",
+ "\n",
+ "l3=1 \n",
+ "h111=3.832 \n",
+ "fr5=(c/(2*pi))*sqrt((h111/a1)**2+(pi*l3/b1)**2) #hz\n",
+ "print 'Resonant frequency for mode TM111: %0.3f'%(fr5/10**9),'Ghz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "TE modes\n",
+ "Resonant frequency for mode TE010: 10.940 Ghz\n",
+ "Resonant frequency for mode TE111: 7.438 Ghz\n",
+ "Resonant frequency for mode TE211: 9.442 Ghz\n",
+ "TM modes:\n",
+ "Resonant frequency for mode TM010 5.742 Ghz\n",
+ "resonant frequency for mode TM011: 8.305 Ghz\n",
+ "Resonant frequency for mode TM111: 10.940 Ghz\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 196 Example 4.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "QTM010=1.202 \n",
+ "QTE101=1.11 \n",
+ "\n",
+ "r=QTM010/QTE101 \n",
+ "print 'Ratio of Qs of cylindrical and rectangular resonators: %0.3f'%r"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ratio of Qs of cylindrical and rectangular resonators: 1.083\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 197 Example 4.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "f=7.07e9 #hz\n",
+ "a=3 #cm\n",
+ "a1=a/100 #m\n",
+ "sig=5.8e7 \n",
+ "er=2.25 \n",
+ "tandel=4e-4 \n",
+ "ur=1 \n",
+ "n=377 \n",
+ "w=2*pi*f \n",
+ "u=4e-7*pi \n",
+ "\n",
+ "#Q of resonantor\n",
+ "rs=sqrt(w*u/(2*sig)) #ohm\n",
+ "qw=(0.7419*n)/(rs*sqrt(2.25)) \n",
+ "qd=1/tandel \n",
+ "q=(qw*qd)/(qw+qd) \n",
+ "print 'Q of resonator: %0.3f'%q"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Q of resonator: 1931.819\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 198 Example 4.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "a=5 #cm\n",
+ "a1=a/100 #m\n",
+ "b=4 #cm\n",
+ "b1=b/100 #m\n",
+ "c=10 #cm\n",
+ "c1=c/100 #m\n",
+ "sig=5.8e7 \n",
+ "u0=4e-7*pi \n",
+ "er=3 \n",
+ "eet=377 \n",
+ "\n",
+ "ur=1 \n",
+ "spl=3e8 \n",
+ "tandel=2.5e-4 \n",
+ "\n",
+ "#TE101 mode\n",
+ "m=1 \n",
+ "n=0 \n",
+ "p=1 \n",
+ "fr=(spl/(2*sqrt(er*ur)))*sqrt((m/a1)**2+(n/b1)**2+(p/c1)**2) #hz\n",
+ "print 'Resonant frequency: %0.3f'%(fr/10**9), 'Ghz'\n",
+ "\n",
+ "w=2*pi*fr \n",
+ "rs=sqrt((w*u0)/(2*sig)) #ohm\n",
+ "lamr=spl/(fr*sqrt(er)) \n",
+ "x=(((a1*b1)/(c1**2))+((c1**2+a1**2)/(2*c1*a1))+((b1*c1)/a1**2)) \n",
+ "qw=(2*pi*(eet/sqrt(er))*a1*b1*c1)/(rs*(lamr**3)*x) \n",
+ "print 'Q for TE101 mode: %0.3f'%qw\n",
+ "\n",
+ "qd=1/tandel \n",
+ "q=(qw*qd)/(qw+qd) \n",
+ "print 'Q for lossy dielectric: %0.3f'%q\n",
+ "\n",
+ "#Value of qw is calculated wrong in book as lamr comes to be 0.08 not 0.89 m"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resonant frequency: 1.936 Ghz\n",
+ "Q for TE101 mode: 10916.466\n",
+ "Q for lossy dielectric: 2927.360\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 198 Example 4.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "a=2.286 #cm\n",
+ "a1=a/100 #m\n",
+ "b=1.106 #cm\n",
+ "b1=b/100 #m\n",
+ "\n",
+ "#For fr1=9.3e9 \n",
+ "fr1=9.3e9 #hz\n",
+ "lamr1=c/fr1 #m\n",
+ "c1=(2*a1)/sqrt((((2*a1)/lamr1)**2)-1) \n",
+ "\n",
+ "#For fr2=10.2e9 \n",
+ "fr2=10.2e9 #hz\n",
+ "lamr2=c/fr2 #m\n",
+ "c2=(2*a1)/sqrt((((2*a1)/lamr2)**2)-1) \n",
+ "\n",
+ "r=c1-c2 \n",
+ "print 'Range of piston movement: %0.3f'%(r*100), 'cm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Range of piston movement: 0.710 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 199 Example 4.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "a=3 #cm\n",
+ "a1=a/100 #m\n",
+ "d=10 #cm\n",
+ "d1=d/100 #m\n",
+ "df=2.5e6 \n",
+ "er=2.25 \n",
+ "p11=1.841 \n",
+ "c=3e8 #m/s\n",
+ "\n",
+ "#Resonant frequency\n",
+ "fr=(c/2)*(sqrt((p11/a1)**2+(pi/d1)**2)) #hz\n",
+ "print 'Resonant frequency: %0.3f'%(fr/10**9),'Ghz'\n",
+ "\n",
+ "#Q without dielectric\n",
+ "q0=fr/df \n",
+ "print 'Q wirhout dielectric constant: %0.3f'%q0\n",
+ "\n",
+ "# Q with dielectric\n",
+ "fr1=fr/sqrt(er) \n",
+ "qd=1e3 \n",
+ "q=(q0*qd)/(q0+qd) \n",
+ "print 'Q with dielectric constant: %0.3f'%q"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resonant frequency: 10.341 Ghz\n",
+ "Q wirhout dielectric constant: 4136.446\n",
+ "Q with dielectric constant: 805.313\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 200 Example 4.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=9.375e9 #hz\n",
+ "sig=5.8e7 \n",
+ "eet=377 \n",
+ "c=3e8 #m/s\n",
+ "w=2*pi*f \n",
+ "r=1.5 \n",
+ "u=4e-7*pi \n",
+ "\n",
+ "#Radius\n",
+ "a=c/(f*2.62) #m\n",
+ "print 'Radius of resonantor %0.3f'%(a*100), 'cm'\n",
+ "\n",
+ "#O\n",
+ "rs=sqrt((w*u)/(2*sig)) #ohm\n",
+ "x=1.202*eet \n",
+ "y=rs*(1+(1/r)) \n",
+ "q=x/y \n",
+ "print 'Q of the resonator: %0.3f'%q\n",
+ "\n",
+ "#Answer for Q is calculated as 10875 in book but it is 10763.303"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Radius of resonantor 1.221 cm\n",
+ "Q of the resonator: 10763.303\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 215 Example 4.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=5e9 #hz\n",
+ "sig=5.813e7 \n",
+ "er=2.25 \n",
+ "tandel=4e-4 \n",
+ "c=3e8 #m/s\n",
+ "h01=3.832 \n",
+ "u=4e-7*pi \n",
+ "\n",
+ "#Length of resonator\n",
+ "lamr=c/(f*sqrt(er)) \n",
+ "d=sqrt((((((2*3.832)**2)+(pi*pi))*(lamr*lamr))/(2*2*pi*pi)) )\n",
+ "print 'Length of resonator: %0.3f'%(d*100),'cm'\n",
+ "\n",
+ "#Q of resonator\n",
+ "n=(120*pi)/sqrt(er) \n",
+ "Rs=sqrt((f*u)/sig) \n",
+ "a=d/2 \n",
+ "Qw1=n*(((h01/a)**2+(pi/d)**2)**(3/2))\n",
+ "Qw2=2*Rs*(((h01*h01)/(a*a*a))+((2*pi*pi)/(d*d*d))) \n",
+ "Qw=Qw1/Qw2 \n",
+ "Qd=1/tandel \n",
+ "Q=(Qw*Qd)/(Qw+Qd) \n",
+ "print 'Q of resonator: %0.3f'%Q\n",
+ "\n",
+ "#Value of Qw is calculated wrong in the book, it should be 50057.91 instead of 53473.8\n",
+ "#Hence the value of Q also differs"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of resonator: 5.273 cm\n",
+ "Q of resonator: 2381.084\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 215 Example 4.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "p=100 #mW\n",
+ "#As 2 and 3 are matched terminals\n",
+ "x=1/2 \n",
+ "y=1/sqrt(2) \n",
+ "s=[x,-x, y, -x, 0, y, y, y, 0] \n",
+ "\n",
+ "#Power delivered\n",
+ "#Port 1\n",
+ "p1=p*(1-s[1]**2) \n",
+ "print 'Power at port 1:',p1, 'mW'\n",
+ "\n",
+ "#Port2\n",
+ "p2=p*s[2]**2 \n",
+ "print 'Power at port 2:',p2, 'mW'\n",
+ "\n",
+ "#Port 3\n",
+ "p3=p*s[3]**2 \n",
+ "print 'Power at port 3:' ,p3,'mW'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power at port 1: 75.0 mW\n",
+ "Power at port 2: 50.0 mW\n",
+ "Power at port 3: 25.0 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 216 Example 4.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "p=40 #mW\n",
+ "#Since port 3 is matched\n",
+ "x=sqrt(2) \n",
+ "s=[1, 1, x, 1, 1, -x, x, -x, 0] \n",
+ "r1=40 #ohm\n",
+ "r2=60 #ohm\n",
+ "w=50 #ohm\n",
+ "\n",
+ "#Reflection coefficients\n",
+ "T1=(w-r1)/(w+r1) \n",
+ "T2=(r2-w)/(r2+w) \n",
+ "\n",
+ "#As power is fed into 1 and 2 equally\n",
+ "pd=p/2 \n",
+ "\n",
+ "#Power delivered\n",
+ "#Port 1\n",
+ "p1=pd*(1-T1**2) \n",
+ "print 'Power at port 1: %0.3f'%p1,'mW'\n",
+ "\n",
+ "#Port2\n",
+ "p2=pd*(1-T2**2) \n",
+ "print 'Power at port 2: %0.3f'%p2,'mW'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power at port 1: 19.753 mW\n",
+ "Power at port 2: 19.835 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 216 Example 4.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division \n",
+ "#Given\n",
+ "T1=1/2 \n",
+ "T2=3/5 \n",
+ "T3=0 \n",
+ "T4=4/5 \n",
+ "p=500e-3 #W\n",
+ "#S matrix for magic Tee\n",
+ "x=1/sqrt(2) \n",
+ "s=[0, 0, x, x, 0, 0, x, -x, x ,x, 0, 0, x, -x, 0, 0] \n",
+ "#Using the input output relation\n",
+ "#[b]=[s]*[a]\n",
+ "b=[0.6565, 0.7576, 0.5536, 0.0892] \n",
+ "\n",
+ "#(i) Power transmitted through ports\n",
+ "#Port 1\n",
+ "p1=(1/2)*b[0]**2*(1-T1**2) \n",
+ "print 'Power at port 1: %0.3f'%p1,'W'\n",
+ "\n",
+ "#Port2\n",
+ "p2=(1/2)*(b[1]**2)*(1-(T2**2)) \n",
+ "print 'Power at port 2: %0.3f'%p2, 'W'\n",
+ "\n",
+ "#Port 4\n",
+ "p4=(1/2)*b[3]**2*(1-T4**2) \n",
+ "print 'Power at port 4: %0.3f'%p4,'W'\n",
+ "\n",
+ "#(ii) Power reflected at port 3\n",
+ "#Port 3\n",
+ "p3=p*b[2]**2 \n",
+ "print 'Power at port 3: %0.3f'%p3,'W'\n",
+ "\n",
+ "#(iii) Power absorbed\n",
+ "pabs=p-(p1+p2+p3+p4) \n",
+ "print 'Power absorbed: %0.3f'%pabs,'W'\n",
+ "\n",
+ "#Answer for power absorbed is calculated wrong in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power at port 1: 0.162 W\n",
+ "Power at port 2: 0.184 W\n",
+ "Power at port 4: 0.001 W\n",
+ "Power at port 3: 0.153 W\n",
+ "Power absorbed: 0.000 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 236 Example 4.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import mat, set_printoptions\n",
+ "#Given\n",
+ "C=10 #dB\n",
+ "D=30 #dB\n",
+ "\n",
+ "#Parameters\n",
+ "bet=10**(-C/20) \n",
+ "x=bet/(10**(D/20)) \n",
+ "a=sqrt(1-(bet*bet)) \n",
+ "#Scattering matrix\n",
+ "#Assuming symmetery\n",
+ "s=mat([[0, a ,x ,(bet*1J)],[ a, 0, (bet*1J), x],[ x ,(bet*1J), 0 ,a],[ (bet*1J) ,x ,a, 0] ])\n",
+ "set_printoptions(precision=3)\n",
+ "print 'Scattering matrix:\\n',s "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Scattering matrix:\n",
+ "[[ 0.000+0.j 0.949+0.j 0.010+0.j 0.000+0.316j]\n",
+ " [ 0.949+0.j 0.000+0.j 0.000+0.316j 0.010+0.j ]\n",
+ " [ 0.010+0.j 0.000+0.316j 0.000+0.j 0.949+0.j ]\n",
+ " [ 0.000+0.316j 0.010+0.j 0.949+0.j 0.000+0.j ]]\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 238 Example 4.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "vswr=2 \n",
+ "D1=8 #mW\n",
+ "D2=2 #mW\n",
+ "\n",
+ "#Reflection coefficient at arm 4\n",
+ "T=(vswr-1)/(vswr+1) \n",
+ "#Powwe delivered to D1\n",
+ "P=(D1*100)/(1-T**2) \n",
+ "P1=0.99*P \n",
+ "#Power reflected at D1\n",
+ "W1=(P/100)*T*T \n",
+ "#Power reflected at load\n",
+ "W2=D2-W1 \n",
+ "Tt=sqrt((W2*100)/(P1)) \n",
+ "pt=(1+Tt)/(1-Tt) \n",
+ "print 'VSWR:%0.3f'%pt\n",
+ "Pl=P1*(1-(Tt*Tt)) \n",
+ "print 'Power delivered:' ,Pl,'mW'\n",
+ "\n",
+ "#Answer for P1 should be 792 but it is given as 800"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VSWR:2.008\n",
+ "Power delivered: 791.0 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 239 Example 4.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import mat, set_printoptions\n",
+ "#Given\n",
+ "I=30 #dB\n",
+ "Il=0.4 #dB\n",
+ "\n",
+ "S12=10**(I/-20) \n",
+ "S21=10**(Il/-20) \n",
+ "s=mat([[0, S12],[ S21, 0] ])\n",
+ "set_printoptions(precision=3)\n",
+ "print 'Scattering matrix:\\n' ,s"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Scattering matrix:\n",
+ "[[ 0. 0.032]\n",
+ " [ 0.955 0. ]]\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 240 Example 4.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import mat, set_printoptions\n",
+ "#Given\n",
+ "I=30 #dB\n",
+ "Il=2 #dB\n",
+ "p=1.3 \n",
+ "\n",
+ "#Elelments\n",
+ "T=(p-1)/(p+1) \n",
+ "S11=T \n",
+ "S22=T \n",
+ "S33=T \n",
+ "S12=10**(-Il/20) \n",
+ "S13=10**(-I/20) \n",
+ "S21=S13 \n",
+ "S32=S13 \n",
+ "S23=S12 \n",
+ "S31=S23 \n",
+ "s=mat([[S11, S21, S31] ,[S12, S22, S32], [S13, S23 ,S33] ])\n",
+ "set_printoptions(precision=3)\n",
+ "print 'Scattering matrix:\\n' ,s"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Scattering matrix:\n",
+ "[[ 0.13 0.032 0.794]\n",
+ " [ 0.794 0.13 0.032]\n",
+ " [ 0.032 0.794 0.13 ]]\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 249 Example 4.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=10e9 #Hz\n",
+ "u=4e-7*pi \n",
+ "c=3e8 #m/s\n",
+ "a=2.29 #cm\n",
+ "a1=a/100 \n",
+ "b=1.02 #cm\n",
+ "b1=b/100 \n",
+ "\n",
+ "#E/H\n",
+ "w=2*pi*f \n",
+ "EbyH=(w*u)/sqrt(((w/c)**2)+((pi/a1)**2)) \n",
+ "lam=c/f \n",
+ "lamc=2*a1 \n",
+ "d=(1/4)*(lam/sqrt(1-((lam/lamc)**2))) \n",
+ "print 'Position: %0.3f'%(d*100), 'cm'\n",
+ "\n",
+ "#Answer for positon is calculated wrong in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Position: 0.993 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 250 Example 4.24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import mat, set_printoptions\n",
+ "#Given\n",
+ "#As it is perfectly matched\n",
+ "S12=1/sqrt(2) \n",
+ "S21=S12 \n",
+ "s=mat([[0 ,S12] ,[S21, 0] ])\n",
+ "set_printoptions(precision=3)\n",
+ "print 'Scattering matrix:\\n' , s"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Scattering matrix:\n",
+ "[[ 0. 0.707]\n",
+ " [ 0.707 0. ]]\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch5.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch5.ipynb
new file mode 100644
index 00000000..b1441f3d
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch5.ipynb
@@ -0,0 +1,1034 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:a5e82465bfb623eb9318715f7f52014da580babc1cb20ec72de42ac065345041"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-5 : Microwave tubes Klystrons"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Pages Number: 288 Example 5.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division \n",
+ "from math import sqrt, pi\n",
+ "#Given\n",
+ "f=10e9 #Hz\n",
+ "v=9e3 #V\n",
+ "i=40e-3 #A\n",
+ "l=3 #cm\n",
+ "l1=l/100 #m\n",
+ "G=2e-6 #mho\n",
+ "bet=0.92 \n",
+ "j1x=0.582 \n",
+ "x=1.841 \n",
+ "ebym=1.7e11 #J\n",
+ "\n",
+ "#Maximum voltage\n",
+ "w=2*pi*f \n",
+ "v0x=sqrt(2*ebym) \n",
+ "thet=(w*l1)/(v0x*sqrt(v)) \n",
+ "\n",
+ "av=(bet**2*thet*i*j1x)/(x*v*G) \n",
+ "print 'Maximum voltage:%0.3f'%av,'V'\n",
+ "\n",
+ "#Power Gain\n",
+ "ic=2*i*j1x \n",
+ "v2=(bet*ic)/G \n",
+ "pout=bet*ic*v2 \n",
+ "pin=2*i*v \n",
+ "\n",
+ "#Efficiency\n",
+ "eet=pout/pin \n",
+ "print 'Power gain: %0.3f'%(eet*100), '%'\n",
+ "\n",
+ "#Answer for effciency comes out to be wrong, it is calculted wrongly in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum voltage:20.262 V\n",
+ "Power gain: 127.420 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 288 Example 5.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "l=2 #cm\n",
+ "l1=l/100 #m\n",
+ "f=5e9 #Hz\n",
+ "i=25e-3 #A\n",
+ "n=21/4 \n",
+ "e=1.6e-19 \n",
+ "m=9.1e-31 \n",
+ "thetag=0 \n",
+ "bet=1 \n",
+ "j1x=0.582 \n",
+ "x=1.841 \n",
+ "\n",
+ "#(i) Beam Voltage\n",
+ "v0=(m*l1*l1*f*f)/(2*e*n*n) \n",
+ "print 'Beam voltage: %0.3f'%v0, 'V'\n",
+ "\n",
+ "#(ii) Input voltage\n",
+ "v1=x*v0/(pi*bet*n) \n",
+ "print 'Input voltage: %0.3f'%v1,'V'\n",
+ "\n",
+ "#(iii) Output voltage\n",
+ "v2=0.25*v0 \n",
+ "print 'Output voltage %0.3f'%v2,'V'\n",
+ "\n",
+ "#(iv) Power output\n",
+ "pmax=i*v0*j1x \n",
+ "print 'Maximum power output: %0.3f'%pmax, 'W'\n",
+ "\n",
+ "#(v) Efficiency\n",
+ "eet=j1x*bet*v2/v0 \n",
+ "print 'Efficiency:' ,eet*100,'%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Beam voltage: 1031.746 V\n",
+ "Input voltage: 115.164 V\n",
+ "Output voltage 257.937 V\n",
+ "Maximum power output: 15.012 W\n",
+ "Efficiency: 14.55 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 289 Example 5.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sin\n",
+ "#Given\n",
+ "r0=45e3 #W\n",
+ "j0=25e-3 #A\n",
+ "V=1500 #V\n",
+ "f=5e9 #hz\n",
+ "d=1 #mm\n",
+ "d1=d/1000 #m\n",
+ "l=3.5 #cm\n",
+ "l1=l/100 #m\n",
+ "rsh=32e3 #ohms\n",
+ "j1x=0.582 \n",
+ "x=1.841 \n",
+ "\n",
+ "#(i) Input gap voltage\n",
+ "w=2*pi*f \n",
+ "v0=(5.93e5*sqrt(V)) \n",
+ "thetag=(w*d1)/v0 \n",
+ "bet=sin(thetag/2)/(thetag/2) \n",
+ "theta0=(w*l1)/v0 \n",
+ "v1=(2*V*x)/(bet*theta0) \n",
+ "print 'Input gap voltage: %0.3f'%v1\n",
+ "\n",
+ "#(ii) Voltage gain\n",
+ "av=(bet**2*theta0*j1x*rsh)/(r0*x) \n",
+ "print 'Voltage gain %0.3f'% av"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input gap voltage: 124.871\n",
+ "Voltage gain 9.186\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 290 Example 5.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import cos\n",
+ "#Given\n",
+ "V=1000 #V\n",
+ "r0=40e3 #ohm\n",
+ "i0=25e-3 #A\n",
+ "f=3e9 #Hz\n",
+ "d=1 #mm\n",
+ "d1=d/1000 #m\n",
+ "l=4 #cm \n",
+ "l1=4/100 #m\n",
+ "j1x=0.582 \n",
+ "x=1.841 \n",
+ "rsh=30e3 #ohm\n",
+ "\n",
+ "#(i) Input gap voltage\n",
+ "w=2*pi*f \n",
+ "v0=(5.93e5*sqrt(V)) \n",
+ "thetag=(w*d1)/v0 \n",
+ "bet=sin(thetag/2)/(thetag/2) \n",
+ "theta0=(w*l1)/v0 \n",
+ "vmax=(2*V*x)/(bet*theta0) \n",
+ "print 'Input gap voltage: %0.3f'%vmax, 'V'\n",
+ "\n",
+ "#(ii) Voltage gain\n",
+ "av=(bet*bet*theta0*j1x*rsh)/(r0*x) \n",
+ "print 'Voltage gain: %0.3f'%av\n",
+ "\n",
+ "#(iii) Efficiency\n",
+ "v2=bet*2*i0*j1x*rsh \n",
+ "eet=(bet*2*i0*j1x*v2)/(2*i0*V) \n",
+ "print 'Efficiency: %0.3f'%(eet*100),'%'\n",
+ "\n",
+ "#(iv) Beam loading conductance\n",
+ "gbl=(i0/(2*V))*((bet*bet)-(bet*cos(thetag/2))) \n",
+ "print 'Beam loading conductance:%0.3e'%gbl\n",
+ "\n",
+ "#Answer for beam loading conductance is calculated wrong in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input gap voltage: 95.547 V\n",
+ "Voltage gain: 8.757\n",
+ "Efficiency: 46.672 %\n",
+ "Beam loading conductance:9.835e-07\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 291 Example 5.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=3e9 #hz\n",
+ "v=900 #V\n",
+ "i=30e-3 #A\n",
+ "d=4 #cm\n",
+ "d1=d/100 #m\n",
+ "gap=1 #mm\n",
+ "gap1=1/1000 #m\n",
+ "rsh=40e3 #ohm\n",
+ "x=1.841 \n",
+ "j1x=0.582 \n",
+ "r=40e3 #ohm\n",
+ "ebym=1.758e11 #J\n",
+ "\n",
+ "#(i) Electron velocity\n",
+ "v0=sqrt(2*ebym*v) \n",
+ "print 'Electron velocity: %0.3f'%v0,'m/s'\n",
+ "\n",
+ "#(ii) Electron transit time\n",
+ "t=d1/v0 \n",
+ "print 'Electron transit time: %0.3f'%t,'s'\n",
+ "\n",
+ "#(iii) Input voltage gap\n",
+ "w=2*pi*f \n",
+ "theta0=(w*d1)/v0 \n",
+ "thetag=(w*gap1)/v0 \n",
+ "bet=sin(thetag/2)/(thetag/2) \n",
+ "v2=(2*v*x)/(bet*theta0) \n",
+ "print 'Input voltage gap: %0.3f'%v2, 'V'\n",
+ "\n",
+ "#(iv) Voltage gain\n",
+ "av=(bet**2*theta0*j1x*rsh)/(x*r) \n",
+ "print 'Voltage gain: %0.3f'%av\n",
+ "\n",
+ "#Values of v and f are changed in question and answer, hence vaules used in answer are taken.\n",
+ "#Also second part has not been done in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron velocity: 17788760.496 m/s\n",
+ "Electron transit time: 0.000 s\n",
+ "Input voltage gap: 81.964 V\n",
+ "Voltage gain: 12.192\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 292 Example 5.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt, log10 \n",
+ "#Given\n",
+ "f=8e9 #hz\n",
+ "i=2.5 #A\n",
+ "v=20e3 #V\n",
+ "bet=1 \n",
+ "amp=10*sqrt(2) #V\n",
+ "rsh=10e3 #ohm\n",
+ "rsho=30e3 #ohm\n",
+ "dc=1e-6 #c/m**3\n",
+ "rf=0.5 \n",
+ "e=1.6e-19 \n",
+ "ee=8.854e-12 \n",
+ "m=9.1e-31 #kg\n",
+ "\n",
+ "#(i) Induced current\n",
+ "w=2*pi*f \n",
+ "wq=rf*sqrt((e*dc)/(m*ee)) \n",
+ "\n",
+ "#Amplitude of induced current\n",
+ "ic=(i*w*(bet**2)*amp)/(2*v*wq) \n",
+ "print 'Induced current: %0.3f'%ic,'A'\n",
+ "\n",
+ "#Induced voltage\n",
+ "icrms=ic/sqrt(2) \n",
+ "v2rms=icrms*rsho \n",
+ "print 'Induced voltage: %0.3f'%v2rms,'V'\n",
+ "\n",
+ "#(ii) Power gain\n",
+ "pg=(((i*w)**2)*(bet**4)*rsh*rsho)/(4*((v*wq)**2)) \n",
+ "pgdb=10*log10(pg) \n",
+ "print 'Power gain: %0.3f'%pgdb,'dB'\n",
+ "\n",
+ "#(iii) Electronic efficiency\n",
+ "eeta=((icrms**2)*rsho)/(i*v) \n",
+ "print 'Electronic efficiency: %0.3f'%(eeta*100),'%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Induced current: 0.631 A\n",
+ "Induced voltage: 13376.164 V\n",
+ "Power gain: 57.755 dB\n",
+ "Electronic efficiency: 11.928 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 294 Example 5.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=3e9 #hz\n",
+ "l=4 #cm\n",
+ "l1=4/100 #m\n",
+ "d=0.1 #cm\n",
+ "d1=d/100 #m\n",
+ "V=900 #V\n",
+ "i0=30e-3 #A\n",
+ "rsh=25e3 #ohm\n",
+ "x=1.841 \n",
+ "j1x=0.582 \n",
+ "\n",
+ "#(i) Input voltage for maximum output\n",
+ "v0=0.593e6*sqrt(V) \n",
+ "w=2*pi*f \n",
+ "theta0=w*l1/v0 #rad\n",
+ "thetag=w*d1/v0 #rad\n",
+ "bet=sin(thetag/2)/(thetag/2) \n",
+ "v1max=2*V*x/(bet*theta0) #v\n",
+ "print 'Input voltage for maximum output: %0.3f'%v1max,'V'\n",
+ "\n",
+ "#(ii) Voltage gain\n",
+ "r0=V/i0 #ohm\n",
+ "av=((bet**2)*theta0*j1x*rsh)/(x*r0) #V\n",
+ "print 'Voltage gain: %0.3f'%av, 'V'\n",
+ "\n",
+ "#(iii) Efficiency\n",
+ "ic=2*i0*j1x #A\n",
+ "v2=bet*ic*rsh #V\n",
+ "eet=bet*ic*v2/(2*i0*V) \n",
+ "print 'Efficiency: %0.3f'%(eet*100), '%'\n",
+ "\n",
+ "#(iv) Beam loading conductance\n",
+ "gb=(i0/(V*2))*(bet**2-(bet*cos(thetag/2))) #ohm\n",
+ "print 'Beam loading conductance: %0.3e'%gb,'ohm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input voltage for maximum output: 81.969 V\n",
+ "Voltage gain: 10.159 V\n",
+ "Efficiency: 51.366 %\n",
+ "Beam loading conductance: 1.446e-06 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 295 Example 5.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=5e9 #hz\n",
+ "v0=10e3 #V\n",
+ "d=1 #mm\n",
+ "d1=d/1000 #m\n",
+ "v1=100 #V\n",
+ "\n",
+ "#(i) Gap transit time\n",
+ "vv0=0.593e6*sqrt(v0) #m/sec\n",
+ "tau=d1/vv0 #sec\n",
+ "print 'Gap transit time: %0.3e'%tau,'sec'\n",
+ "\n",
+ "#Gap transit angle\n",
+ "w=2*pi*f \n",
+ "thetag=w*tau #rad\n",
+ "print 'Gap transit angle: %0.3f'%thetag, 'rad'\n",
+ "\n",
+ "#(ii) Beam coupling coefficient\n",
+ "betin=sin(thetag/2)/(thetag/2) \n",
+ "print 'Beam coupling coefficient: %0.3f'%betin\n",
+ "\n",
+ "#(iii) Velocity of electron leaving buncher gap\n",
+ "vig=vv0*(1+((betin*v1)/(2*v0))) #m/sec\n",
+ "print 'Velocity of electron leaving buncher gap: %0.3f'%vig, 'm/sec'\n",
+ "\n",
+ "#(iv) Depth of modulation\n",
+ "m=betin*v1/v0 \n",
+ "print 'Depth of modulation: %0.3f'%m"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gap transit time: 1.686e-11 sec\n",
+ "Gap transit angle: 0.530 rad\n",
+ "Beam coupling coefficient: 0.988\n",
+ "Velocity of electron leaving buncher gap: 59593044.746 m/sec\n",
+ "Depth of modulation: 0.010\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 296 Example 5.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=10e9 #hz\n",
+ "v0=15e3 #V\n",
+ "i0=2.5e-3 #A\n",
+ "d=1 #cm\n",
+ "d1=d/100 #m\n",
+ "vrms=10 #V\n",
+ "bet=1 \n",
+ "p=1e-8 #C/m**3\n",
+ "rf=0.6 \n",
+ "e=1.6e-19 \n",
+ "m=9.1e-31 \n",
+ "ee=8.854e-12 \n",
+ "\n",
+ "#(i) DC electron beam phase cobstant\n",
+ "vv0=(0.593e6*sqrt(v0)) \n",
+ "w=2*pi*f \n",
+ "bete=w/vv0 #rad/m\n",
+ "print 'DC electron beam phase constant: %0.3f'%bete,'rad/m'\n",
+ "\n",
+ "#(ii) Reduced plasma frequency and reduced plasma phase constant\n",
+ "wq=rf*sqrt(e*p/(m*ee)) #rad/m\n",
+ "print 'Reduced plasma frequency: %0.3f'%wq,'rad/m'\n",
+ "betq=wq/vv0 #rad/sec\n",
+ "print 'Reduced plasma phase constant: %0.3f'%betq,'rad/sec'\n",
+ "\n",
+ "#(iii) Gap transit time\n",
+ "tau=d1/vv0 #sec\n",
+ "vtg=vv0*(1+(bet*vrms*sin(w*tau)/(2*v0))) #m/sec\n",
+ "print 'Gap transit time: %0.3f'%vtg, 'm/sec'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC electron beam phase constant: 865.126 rad/m\n",
+ "Reduced plasma frequency: 8455139.683 rad/m\n",
+ "Reduced plasma phase constant: 0.116 rad/sec\n",
+ "Gap transit time: 72644284.673 m/sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 296 Example 5.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=4e9 #hz\n",
+ "v0=10e3 #V\n",
+ "i0=0.75 #A\n",
+ "v1=2 #V\n",
+ "bet=1 \n",
+ "rsh=10e3 #ohm\n",
+ "p=5e-5 #C/m**3\n",
+ "r=0.6 \n",
+ "rsht=4e3 #ohm\n",
+ "e=1.6e-19 \n",
+ "m=9.1e-31 \n",
+ "ee=8.854e-12 \n",
+ "\n",
+ "#(i) Induced current and voltage in output cavity\n",
+ "w1=sqrt(e*p/(m*ee)) #rad/sec\n",
+ "w=2*pi*f \n",
+ "wq=0.5*w1 #rad/sec\n",
+ "rr=w/wq \n",
+ "\n",
+ "i4=((i0**3)*(rr**3)*(bet**6)*v1*(rsh**2))/(8*(v0**3)) #A\n",
+ "print 'Induced current: %0.3f'%i4,'A'\n",
+ "v4=i4*rsht #V\n",
+ "print 'Induced voltage: %0.3f'%(v4/1000), 'kV'\n",
+ "\n",
+ "#(ii) Power output\n",
+ "pout=(i4**4)*rsht #W\n",
+ "print 'Power output: %0.3f'%pout, 'W'\n",
+ "\n",
+ "#Answer for Pout should be 13.43 kW but it is given as 10.89kW as value of I4 is calculated as 1.289 but it comes out to be 1.35"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Induced current: 1.354 A\n",
+ "Induced voltage: 5.415 kV\n",
+ "Power output: 13438.135 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 297 Example 5.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=8e9 #hz\n",
+ "v0=500 #V\n",
+ "l=1.2 #mm\n",
+ "l1=l/1000 #m\n",
+ "rsh=18e3 #ohm\n",
+ "ebym=1.759e11 \n",
+ "ee=8.854e-12 \n",
+ "\n",
+ "#(i) Repeller voltage\n",
+ "n=1+(3/4) \n",
+ "v11=(ebym*n*n)/(8*(l1**2)*(f**2)) \n",
+ "vr=sqrt(v0/v11)-v0 \n",
+ "print 'Repeller voltage: %0.3f'%vr,'V'\n",
+ "\n",
+ "#(ii) Required dc current\n",
+ "v2=200 #V\n",
+ "j1x=0.582 \n",
+ "i=v2/(2*rsh*j1x) #A\n",
+ "print 'Required dc current: %0.3f'%(i*1000), 'mA'\n",
+ "\n",
+ "#Answer for repeller voltage is calculated wrong in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Repeller voltage: 327.238 V\n",
+ "Required dc current: 9.546 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 298 Example 5.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=9e9 #hz\n",
+ "v0=361 #V\n",
+ "i0=30e-3 #A\n",
+ "l=0.1 #cm\n",
+ "l1=l/100 #m\n",
+ "x=2.408 \n",
+ "j1x=0.582 \n",
+ "ebym=1.759e11 \n",
+ "\n",
+ "#Maximum power output\n",
+ "n=1 \n",
+ "pout=2*i0*v0*x*j1x/(2*pi*(n+(3/4))) #W\n",
+ "print 'Maximum power output: %0.3f'%pout,'W'\n",
+ "\n",
+ "#Operating repeller voltage\n",
+ "vr=((6.744e-6*sqrt(v0)*l1*f)/(n+(3/4)))-v0 #v\n",
+ "print 'Operating repeller voltage: %0.3f'%vr,'V'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power output: 2.761 W\n",
+ "Operating repeller voltage: 297.985 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 298 Example 5.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=9e9 #hz\n",
+ "v0=250 #V\n",
+ "l=0.5 #cm\n",
+ "l1=l/100 #m\n",
+ "\n",
+ "#Bandwidth\n",
+ "n=3 \n",
+ "df=(n+(3/4))/(6.774e-6*l1*sqrt(v0)) #hz\n",
+ "print 'Bandwidth: %0.3f'%(df/10**6),'Mhz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bandwidth: 7.002 Mhz\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 299 Example 5.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=10e9 #hz\n",
+ "v0=600 #V\n",
+ "vr=250 #V\n",
+ "ebym=1.759e11 \n",
+ "\n",
+ "#Repeller space\n",
+ "n=1 \n",
+ "l=sqrt((ebym*(n+(3/4))**2*(vr+v0)**2)/(8*f**2*v0)) #m\n",
+ "print 'Repeller space: %0.3f'%(l*1000),'mm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Repeller space: 0.900 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 299 Example 5.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "v0=300 #V\n",
+ "i0=20e-3 #A\n",
+ "v1=40 #V\n",
+ "n=2 \n",
+ "x=2.408 \n",
+ "j1x=0.52 \n",
+ "\n",
+ "#(i) Input power\n",
+ "pin=i0*v0 #W\n",
+ "print 'Input power:' ,pin,'W'\n",
+ "\n",
+ "#(ii) Output power\n",
+ "pout=(2*v0*i0*x*j1x)/((2*pi*n)-(pi/2)) #W\n",
+ "print 'Output power: %0.3f'%pout, 'W'\n",
+ "\n",
+ "#Efficiency\n",
+ "eet=pout/pin \n",
+ "print 'Efficiency: %0.3f'%(eet*100), '%'\n",
+ "\n",
+ "#Answer for output power in book is 0.7 which is wrong, it should be 1.3W\n",
+ "#Hence answer of efficiency also changes"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input power: 6.0 W\n",
+ "Output power: 1.367 W\n",
+ "Efficiency: 22.776 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 300 Example 5.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=10e9 #hz\n",
+ "v0=600 #V\n",
+ "l=0.1 #cm\n",
+ "l1=l/100 #m\n",
+ "bet=0.9 \n",
+ "ebym=1.759e11 \n",
+ "n=2 \n",
+ "j1x=0.575 #from standard table\n",
+ "\n",
+ "\n",
+ "#(i) Repeller voltage\n",
+ "vr=((6.744e-6*sqrt(v0)*l1*f)/(n-(1/4)))-v0 #V\n",
+ "print 'Repeller voltage:',round(vr), 'V'\n",
+ "\n",
+ "#(ii) Bunching parameter\n",
+ "v1=200 #V\n",
+ "x=bet*v1*2*pi*(n-(1/4))/(2*v0) \n",
+ "print 'Bunching parameter: %0.3f'%x\n",
+ "\n",
+ "#(iii) Required DC current\n",
+ "rsh=20e3 #ohm\n",
+ "i=v1/(2*rsh*j1x) #A\n",
+ "print 'Required DC current: %0.3f'%(i*1000),'mA'\n",
+ "\n",
+ "#(iv) Electronic efficiency\n",
+ "eet=2*x*j1x/(2*pi*(n-(1/4))) \n",
+ "print 'Electronic efficiency:',eet*100, '%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Repeller voltage: 344.0 V\n",
+ "Bunching parameter: 1.649\n",
+ "Required DC current: 8.696 mA\n",
+ "Electronic efficiency: 17.25 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 301 Example 5.17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=10e9 #hz\n",
+ "v0=300 #V\n",
+ "j0=0.3 #A/cm\n",
+ "i0=45e-3 #A\n",
+ "\n",
+ "rb=sqrt(i0/(pi*j0)) #mm\n",
+ "print 'Electron beam radius: %0.3f'%(rb*10),'mm'\n",
+ "r=rb*(120/100) #mm\n",
+ "print 'Radius of cathode disc:%0.3f'%(r*10),'mm'\n",
+ "d=sqrt(2.335e-6*(300)**(3/2)/j0) #mm\n",
+ "print 'Cathode anode spacing: %0.3f'%(d*10),'mm'\n",
+ "#Anode hole has to be 15% larger than cathode disc\n",
+ "ra=r*1.15 #mm\n",
+ "print 'Anode hole: %0.3f'%(ra*10),'mm'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron beam radius: 2.185 mm\n",
+ "Radius of cathode disc:2.622 mm\n",
+ "Cathode anode spacing: 2.011 mm\n",
+ "Anode hole: 3.015 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: Example 5.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import tan, exp\n",
+ "#Given\n",
+ "f=9e9 #hz\n",
+ "v0=300 #V\n",
+ "vr=125 #V\n",
+ "bet=0.9 \n",
+ "c=3e8 #m/s\n",
+ "w=2*pi*f \n",
+ "br=2.18 #mm\n",
+ "e0=8.854e-12 \n",
+ "ebym=1.7e11 \n",
+ "\n",
+ "#From sin(theta)/theta table, thetag is found out to be\n",
+ "thetag=0.25*pi \n",
+ "d=(2*thetag*0.593e6*sqrt(v0))/w \n",
+ "print 'Distance: %0.3f'%(d*1000),'mm'\n",
+ "\n",
+ "#Axial cavity length\n",
+ "l=c/(10*f) #m\n",
+ "print 'Axial cavity length: %0.3f'%(l*1000),'mm'\n",
+ "\n",
+ "#Ratio of outer to inner conductor\n",
+ "a=1.5*br \n",
+ "a1=a/1000 \n",
+ "x=d/(w*e0*a1*a1*60*tan((w*l)/c)) \n",
+ "bbya=exp(x) \n",
+ "print 'Ratio of outer to inner conductor: %0.3f'%bbya\n",
+ "\n",
+ "#radii of outer and inner conductor\n",
+ "print 'Radius of outer conductor:',a, 'mm'\n",
+ "\n",
+ "b=1.52*a #mm\n",
+ "print 'Radius of inner conductor:' ,b,'mm'\n",
+ "\n",
+ "#Repeller spacing\n",
+ "lopt=sqrt(ebym*(19/4)**2*(v0+vr)**2/(8*f**2*v0)) #m\n",
+ "print 'Repeller spacing: %0.3f'%(lopt*1000),'mm'\n",
+ "\n",
+ "#Answer for radii of outer and inner conductor have wrong calculations in book\n",
+ "#Also ratio of outer to inner conductor is also calculated wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance: 0.285 mm\n",
+ "Axial cavity length: 3.333 mm\n",
+ "Ratio of outer to inner conductor: 3.396\n",
+ "Radius of outer conductor: 3.27 mm\n",
+ "Radius of inner conductor: 4.9704 mm\n",
+ "Repeller spacing: 1.888 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch6.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch6.ipynb
new file mode 100644
index 00000000..19acfdbd
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch6.ipynb
@@ -0,0 +1,600 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9e826c15d23aa6f60ab9f31679ea83e194639cce3ac1ef9438682b8d5dace862"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-6 : Microwave Travelling Wave Tubes O Type"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 330 Example 6.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division \n",
+ "from math import sqrt, pi\n",
+ "#Given\n",
+ " \n",
+ "#Given\n",
+ "I0=30e-3 #A\n",
+ "V0=3e3 #V\n",
+ "Z0=10 #ohm\n",
+ "l=0.1624 #m\n",
+ "f=10e9 #Hz\n",
+ "\n",
+ "#(i) Gain parameter\n",
+ "C=((I0*Z0)/(4*V0))**(1/3) \n",
+ "print 'Gain parameter: %0.3f'%C\n",
+ "\n",
+ "N=(l*f)/(0.593e6*sqrt(V0)) \n",
+ "\n",
+ "#(ii) Power Gain\n",
+ "Ap=-9.54+(47.3*C*N) \n",
+ "print 'Power gain: %0.3f'%Ap,'dB'\n",
+ "\n",
+ "ve=0.593e6*sqrt(V0) \n",
+ "be=(2*pi*f)/ve \n",
+ "\n",
+ "#Four propogation constants\n",
+ "gam1=((-sqrt(3)*be*C)/2)+(1J*be*(2+C))/2 \n",
+ "gam2=((sqrt(3)*be*C)/2)+(1J*be*(2+C))/2 \n",
+ "gam3=1J*be*(1-C) \n",
+ "gam4=-1J*be*(1-((C*C*C)/4)) \n",
+ "\n",
+ "print 'Four propogation constants:\\n {:.3f}\\n{:.3f}\\n{:.3f}\\n{:.3f}\\n'.format(gam1,gam2,gam3,gam4)\n",
+ "\n",
+ "#Calculations for propogation constants are wrong in book for gam 3 and 4, hence answers dont match"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gain parameter: 0.029\n",
+ "Power gain: 59.613 dB\n",
+ "Four propogation constants:\n",
+ " -48.986+1962.764j\n",
+ "48.986+1962.764j\n",
+ "0.000+1877.917j\n",
+ "0.000-1934.469j\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 332 Example 6.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "I0=20e-3 #A\n",
+ "V0=4e3 #V\n",
+ "Z0=100 #ohm\n",
+ "N=30 \n",
+ "\n",
+ "C=((I0*Z0)/(4*V0))**(1/3) \n",
+ "#Gain\n",
+ "Ap=-9.54+(47.3*C*N) \n",
+ "print 'Gain:' ,Ap,'dB'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gain: 61.41 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 332 Example 6.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "c=3e8 #m/s\n",
+ "d=2e-3 #m\n",
+ "p=50e2 #turns per m\n",
+ "e=1.6e-19 #J\n",
+ "m=9.1e-31 \n",
+ "\n",
+ "# Axial phase velocity\n",
+ "vp=c/(pi*p*d) \n",
+ "print 'Axial phase velocity: %0.3f'%vp,'m/s'\n",
+ "\n",
+ "#Anode voltage\n",
+ "V0=(m*vp*vp)/(2*e) \n",
+ "print 'Anode voltage: %0.3f'%V0, 'V'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Axial phase velocity: 9549296.586 m/s\n",
+ "Anode voltage: 259.319 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 332 Example 6.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sin \n",
+ "#Given\n",
+ "a=(4.4*pi)/180 #radians\n",
+ "c=3e8 #m/s\n",
+ "f=8e9 #Hz\n",
+ "al=2 #Np/m\n",
+ "\n",
+ "#Phase velocity\n",
+ "vp=c*sin(a) \n",
+ "\n",
+ "#Propogation constant\n",
+ "be=(2*pi*f)/vp \n",
+ "\n",
+ "gam=al+(1J*be) \n",
+ "print 'Propogation constant: {:.3f}'.format(gam)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Propogation constant: 2.000+2183.964j\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 333 Example 6.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Vc=11e3 #V\n",
+ "Ir=0.85 #A\n",
+ "V0=31e3 #V\n",
+ "Pout=50e3 #W\n",
+ "I=7 #A\n",
+ "\n",
+ "#Electronic efficiency\n",
+ "ne=Pout/(V0*I) \n",
+ "print 'Electronic efficiency: %0.3f'%(ne*100), '%'\n",
+ "\n",
+ "#Overall efficiency\n",
+ "no=Pout/(Vc*(I-Ir)) \n",
+ "print 'Overall efficiency: %0.3f'%(no*100), '%'\n",
+ "\n",
+ "#Answer for elecytronic efficiency should be 23.04% but it is given as 36.4 in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electronic efficiency: 23.041 %\n",
+ "Overall efficiency: 73.910 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 333 Example 6.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "I0=0.95 #A\n",
+ "V0=7e3 #V\n",
+ "Z0=20 #ohm\n",
+ "N=20 \n",
+ "\n",
+ "C=((I0*Z0)/(4*V0))**(1/3) \n",
+ "#Gain\n",
+ "Ap=-9.54+(47.3*C*N) \n",
+ "print 'Gain: %0.3f'%Ap,'dB'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gain: 73.590 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 334 Example 6.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Vc=12e3 #V\n",
+ "V0=30e3 #V\n",
+ "Pout=60e3 #W\n",
+ "I=7.5 #A\n",
+ "\n",
+ "#Electronic efficiency\n",
+ "ne=Pout/(V0*I) \n",
+ "print 'Electronic efficiency: %0.3f'%(ne*100), '%'\n",
+ "\n",
+ "#Overall efficiency\n",
+ "no=Pout/(Vc*I) \n",
+ "print 'Overall efficiency: %0.3f'%(no*100),'%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electronic efficiency: 26.667 %\n",
+ "Overall efficiency: 66.667 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 334 Example 6.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Vc=20e3 #V\n",
+ "V0=32e3 #V\n",
+ "Pout=75e3 #W\n",
+ "I=7 #A\n",
+ "\n",
+ "#Electronic efficiency\n",
+ "ne=Pout/(V0*I) \n",
+ "print 'Electronic efficiency: %0.3f'%(ne*100),'%'\n",
+ "\n",
+ "#Overall efficiency\n",
+ "no=Pout/(Vc*I) \n",
+ "print 'Overall efficiency: %0.3f'%(no*100), '%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electronic efficiency: 33.482 %\n",
+ "Overall efficiency: 53.571 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 335 Example 6.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "I0=500e-3 #A\n",
+ "V0=10e3 #V\n",
+ "Z0=25 #ohm\n",
+ "l=.20 #m\n",
+ "f=5.93e9 #Hz\n",
+ "\n",
+ "#Gain parameter\n",
+ "C=((I0*Z0)/(4*V0))**(1/3) \n",
+ "print 'Gain parameter: %0.3f'%C\n",
+ "\n",
+ "N=(l*f)/(0.593e6*sqrt(V0)) \n",
+ "#Gain\n",
+ "Ap=-9.54+(47.3*C*N) \n",
+ "print 'Gain of TWT: %0.3f'%Ap,'dB'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gain parameter: 0.068\n",
+ "Gain of TWT: 54.656 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 335 Example 6.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Pout=250 #W\n",
+ "n=0.15 \n",
+ "V0=7.5e3 #V\n",
+ "f=6.15e9 #Hz\n",
+ "c=3e8 #m/s\n",
+ "\n",
+ "#(i) Input Power\n",
+ "Pi=Pout/n \n",
+ "print 'Input Power: %0.3f'%Pi,'W'\n",
+ "\n",
+ "#(ii) Beam current\n",
+ "I0=Pi/V0 \n",
+ "print 'Beam current: %0.3f'%I0,'A'\n",
+ "\n",
+ "#(iii) Beam velocity\n",
+ "vb=0.593e6*sqrt(V0) \n",
+ "print 'Beam velocity: %0.3f'%vb, 'm/s'\n",
+ "\n",
+ "#(iv) Radius of helix\n",
+ "a=(2*vb)/(2*pi*f) \n",
+ "print 'Radius of helix: %0.3f'%a,'m'\n",
+ "\n",
+ "#(v) Electron beam radius\n",
+ "r=(3*a)/4 \n",
+ "print 'Electron beam radius: %0.3f'%r, 'm'\n",
+ "\n",
+ "#(vi) Pitch of helix\n",
+ "p=(2*pi*a*vb)/c \n",
+ "print 'Pitch of helix: %0.3f'%p,'m'\n",
+ "\n",
+ "#(vii) Current density\n",
+ "J0=I0/(pi*r*r) \n",
+ "print 'Current density: %0.3f'%(J0/1000),'kA/msqr'\n",
+ "\n",
+ "#(viii) Magnetic field for beam confinement\n",
+ "B=(4*8.3e-4*sqrt(I0/(r*r*sqrt(V0)))) \n",
+ "print 'Magnetic field for beam confinement:' ,round(B*1000),'mT'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input Power: 1666.667 W\n",
+ "Beam current: 0.222 A\n",
+ "Beam velocity: 51355306.444 m/s\n",
+ "Radius of helix: 0.003 m\n",
+ "Electron beam radius: 0.002 m\n",
+ "Pitch of helix: 0.003 m\n",
+ "Current density: 17.799 kA/msqr\n",
+ "Magnetic field for beam confinement: 84.0 mT\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 336 Example 6.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "I0=30e-3 #A\n",
+ "V0=3e3 #V\n",
+ "Z0=10 #ohm\n",
+ "l=0.1624 #m\n",
+ "f=10e9 #Hz\n",
+ "C=((I0*Z0)/(4*V0))**(1/3) \n",
+ "N=(l*f)/(0.593e6*sqrt(V0)) \n",
+ "\n",
+ "#Gain\n",
+ "Ap=-9.54+(47.3*C*N) \n",
+ "print 'Gain: %0.3f'%Ap,'dB'\n",
+ "\n",
+ "ve=0.593e6*sqrt(V0) \n",
+ "be=(2*pi*f)/ve \n",
+ "\n",
+ "#Four propogation constants\n",
+ "gam1=((-sqrt(3)*be*C)/2)+(1J*be*(2+C))/2 \n",
+ "gam2=((sqrt(3)*be*C)/2)+(1J*be*(2+C))/2 \n",
+ "gam3=1J*be*(1-C) \n",
+ "gam4=-1J*be*(1-((C*C*C)/4)) \n",
+ "\n",
+ "print 'Four propogation constants:\\n {:.3f}\\n{:.3f}\\n{:.3f}\\n{:.3f}\\n'.format(gam1,gam2,gam3,gam4)\n",
+ "\n",
+ "#Calculations for propogation constants are wrong for gam 3 and 4 hence answers dont match"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gain: 59.613 dB\n",
+ "Four propogation constants:\n",
+ " -48.986+1962.764j\n",
+ "48.986+1962.764j\n",
+ "0.000+1877.917j\n",
+ "0.000-1934.469j\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 337 Example 6.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "I0=35e-3 #A\n",
+ "V0=4e3 #V\n",
+ "Z0=20 #ohm\n",
+ "f=10e9 #Hz\n",
+ "\n",
+ "#(i) Gain parameter\n",
+ "C=((I0*Z0)/(4*V0))**(1/3) \n",
+ "print 'Gain parameter:' ,C\n",
+ "\n",
+ "ve=0.593e6*sqrt(V0) \n",
+ "be=(2*pi*f)/ve \n",
+ "\n",
+ "#Four propogation constants\n",
+ "gam1=((-sqrt(3)*be*C)/2)+(1J*be*(2+C))/2 \n",
+ "gam2=((sqrt(3)*be*C)/2)+(1J*be*(2+C))/2 \n",
+ "gam3=1J*be*(1-C) \n",
+ "gam4=-1J*be*(1-((C*C*C)/4)) \n",
+ "\n",
+ "print 'Four propogation constants:\\n {:.3f}\\n{:.3f}\\n{:.3f}\\n{:.3f}\\n'.format(gam1,gam2,gam3,gam4)\n",
+ "\n",
+ "#Calculations for propogation constants are wrong hence answers dont match"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gain parameter: 0.0352364936603\n",
+ "Four propogation constants:\n",
+ " -51.123+1704.826j\n",
+ "51.123+1704.826j\n",
+ "0.000+1616.278j\n",
+ "0.000-1675.292j\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch7.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch7.ipynb
new file mode 100644
index 00000000..0a7b3b64
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch7.ipynb
@@ -0,0 +1,667 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:371baee58886405b4aa7513c033038892ef3ab34ea90022bb1b212fed658f276"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-7 : Cross Field Microwave tube M Type"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 369 Example 7.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division \n",
+ "from math import pi\n",
+ "#Given\n",
+ "f=10e9 #Hz\n",
+ "C=2.5e-12 #F\n",
+ "Gr=2e-4 #mho\n",
+ "Ge=0.025e-3 #mho\n",
+ "Ploss=18.5e3 #W\n",
+ "V0=5.5e3 #V\n",
+ "I0=4.5 #A\n",
+ "\n",
+ "w=2*pi*f \n",
+ "\n",
+ "#(i) Unloaded Q\n",
+ "Qun=(w*C)/Gr \n",
+ "print 'Unloaded quality factor: %0.3f'%Qun\n",
+ "\n",
+ "#External Q\n",
+ "Qe=(w*C)/Ge \n",
+ "print 'External quality factor: %0.3f'%Qe\n",
+ "\n",
+ "#(ii) Circuit effciency\n",
+ "n=1/(1+(Qe/Qun)) \n",
+ "print 'Circuit effciency: %0.3f'%(n*100), '%'\n",
+ "\n",
+ "#Electronic effciency\n",
+ "ne=1-(Ploss/(V0*I0)) \n",
+ "print 'Electronic effciency: %0.3f'%(ne*100), '%'\n",
+ "\n",
+ "#Answer for Qe is given as 6285.6 but it should be 6283.1 "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Unloaded quality factor: 785.398\n",
+ "External quality factor: 6283.185\n",
+ "Circuit effciency: 11.111 %\n",
+ "Electronic effciency: 25.253 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 370 Example 7.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt \n",
+ "#Given\n",
+ "V0=25e3 #V\n",
+ "ebym=1.76e11 \n",
+ "B0=0.0336 #T\n",
+ "a=5e-2 #m\n",
+ "b=10e-2 #m\n",
+ "\n",
+ "#(i) Cut off voltage\n",
+ "x=(b/((b*b)-(a*a)))**2 \n",
+ "V=(ebym*B0*B0)/(8*x) \n",
+ "print 'Cut off voltage: %0.3f'%(V/1000),'KV'\n",
+ "\n",
+ "#(ii) Cut off magnetic field\n",
+ "y=((8*V0*x)/ebym) \n",
+ "B=sqrt(y) \n",
+ "print 'Cut off magnetic field: %0.3f'%(B*1000),'mT'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off voltage: 139.709 KV\n",
+ "Cut off magnetic field: 14.213 mT\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 371 Example 7.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Pout=250e3 #W\n",
+ "V0=25e3 #V\n",
+ "I0=25 #A\n",
+ "ebym=1.76e11 \n",
+ "B0=0.035 #T\n",
+ "a=4e-2 #m\n",
+ "b=8e-2 #m\n",
+ "\n",
+ "\n",
+ "#(i) Efficiency\n",
+ "n=Pout/(V0*I0) \n",
+ "print 'Efficiency:' ,n*100,'%'\n",
+ "\n",
+ "#(ii) Cyclotron frequency\n",
+ "f=(ebym*B0)/(2*pi) \n",
+ "print 'Cyclotron frequency: %0.3f'%(f/10**9),'Ghz'\n",
+ "\n",
+ "#(iii) Cut off magnetic field\n",
+ "x=(b/((b*b)-(a*a)))**2 \n",
+ "y=((8*V0*x)/ebym) \n",
+ "B=sqrt(y) \n",
+ "print 'Cut off magnetic field: %0.3f'%(B*1000),'mT'\n",
+ "\n",
+ "#(iv) Cut off voltage\n",
+ "V=(ebym*B0*B0)/(8*x) \n",
+ "print 'Cut off voltage:' ,round(V/1000),'KV'\n",
+ "\n",
+ "#Answer for Cyclotron frequency is is given as 9.8GHz but it should be 0.98 GHz as value of B0=0.035 not 0.35 as taken in part 2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Efficiency: 40.0 %\n",
+ "Cyclotron frequency: 0.980 Ghz\n",
+ "Cut off magnetic field: 17.767 mT\n",
+ "Cut off voltage: 97.0 KV\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 372 Example 7.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Gr=3e-4 #mho\n",
+ "Ge=3e-5 #mho\n",
+ "Ploss=200e3 #W\n",
+ "V0=22e3 #V\n",
+ "I0=28 #A\n",
+ "\n",
+ "#(i) Circuit effciency\n",
+ "n=1/(1+(Gr/Ge)) \n",
+ "print 'Circuit effciency: %0.3f'%(n*100), '%'\n",
+ "\n",
+ "#(ii) Electronic effciency\n",
+ "ne=1-(Ploss/(V0*I0)) \n",
+ "print 'Electronic effciency: %0.3f'%(ne*100),'%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Circuit effciency: 9.091 %\n",
+ "Electronic effciency: 67.532 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 372 Example 7.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=9e9 #Hz\n",
+ "C=2.5e-12 #F\n",
+ "Gr=2e-4 #mho\n",
+ "Ge=2.5e-5 #mho\n",
+ "Ploss=18.5e3 #W\n",
+ "V0=5.5e3 #V\n",
+ "I0=4.5 #A\n",
+ "\n",
+ "#(i) Angular resonant frequency\n",
+ "w=2*pi*f \n",
+ "print 'Angular resonant frequency: %0.3f'%w, 'rad/s'\n",
+ "\n",
+ "#(ii) Unloaded Q\n",
+ "Qun=round((w*C)/Gr) \n",
+ "print 'Unloaded quality factor:' ,Qun\n",
+ "\n",
+ "#(iii) Loaded Q\n",
+ "Ql=round((w*C)/(Gr+Ge)) \n",
+ "print 'Loaded quality factor:' ,Ql\n",
+ "\n",
+ "#(iv) External Q\n",
+ "Qe=(w*C)/Ge \n",
+ "print 'External quality factor: %0.3f'%Qe\n",
+ "\n",
+ "#(v) Circuit effciency\n",
+ "n=1/(1+(Qe/Qun)) \n",
+ "print 'Circuit effciency: %0.3f'%(n*100),'%'\n",
+ "\n",
+ "#(vi) Electronic effciency\n",
+ "ne=1-(Ploss/(V0*I0)) \n",
+ "print 'Electronic effciency: %0.3f'%(ne*100), '%'\n",
+ "\n",
+ "#Answer for external Q is given as 56.57 but it should be 5654.8"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular resonant frequency: 56548667764.616 rad/s\n",
+ "Unloaded quality factor: 707.0\n",
+ "Loaded quality factor: 628.0\n",
+ "External quality factor: 5654.867\n",
+ "Circuit effciency: 11.113 %\n",
+ "Electronic effciency: 25.253 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 373 Example 7.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "f=4e9 #Hz\n",
+ "V0=25e3 #V\n",
+ "I0=3 #A\n",
+ "B0=0.3 #T\n",
+ "D=0.8 \n",
+ "Z0=50 #ohm\n",
+ "ebym=1.76e11 \n",
+ "\n",
+ "#(i) Electron beam phase constant\n",
+ "be=(2*pi*f)/sqrt(2*ebym*V0) \n",
+ "print 'Electron beam phase constant: %0.3f'%be,'rad/s'\n",
+ "\n",
+ "#(ii) Gain Parameter\n",
+ "C=((I0*Z0)/(4*V0))**(1/3) \n",
+ "print 'Gain Parameter: %0.3f'%C\n",
+ "\n",
+ "#(iii) Length for oscillation condition\n",
+ "N=1.25/D \n",
+ "l=(2*pi*N)/be \n",
+ "print 'Length for oscillation condition: %0.3f'%l,'m'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron beam phase constant: 267.916 rad/s\n",
+ "Gain Parameter: 0.114\n",
+ "Length for oscillation condition: 0.037 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 374 Example 7.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "N=20 \n",
+ "t=0.2e-6 #s\n",
+ "DC=0.001 #Duty cycle\n",
+ "\n",
+ "#(i) Agile excursion\n",
+ "A=N/t \n",
+ "print 'Agile excursion:' ,A/10**6,'MHz'\n",
+ "\n",
+ "#(ii) Signal frequency\n",
+ "f=DC/t \n",
+ "print 'Signal frequency:',f/1000, 'Khz'\n",
+ "\n",
+ "#(iii) Agile rate\n",
+ "R=f/(2*N) \n",
+ "print 'Agile Rate:',R, 'Hz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Agile excursion: 100.0 MHz\n",
+ "Signal frequency: 5.0 Khz\n",
+ "Agile Rate: 125.0 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 375 Example 7.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10 \n",
+ "#Given\n",
+ "V0=1.8e3 #V\n",
+ "I0=1.3 #A\n",
+ "Pin=70 #W\n",
+ "n=0.22 \n",
+ "\n",
+ "#(i) Power generated\n",
+ "Pgen=n*I0*V0 \n",
+ "print 'Power generated:' ,Pgen,'W'\n",
+ "\n",
+ "#(ii) Total RF power generated\n",
+ "Pt=Pin+Pgen \n",
+ "print 'Total RF power generated:' ,Pt,'W'\n",
+ "\n",
+ "#(iii) Power gain\n",
+ "G=Pt/Pin \n",
+ "Gdb=10*log10(G) \n",
+ "print 'Power Gain: %0.3f'%Gdb,'dB'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power generated: 514.8 W\n",
+ "Total RF power generated: 584.8 W\n",
+ "Power Gain: 9.219 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 375 Example 7.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "V0=10e3 #V\n",
+ "I0=2 #A\n",
+ "b=4e-2 #m\n",
+ "a=3e-2 #m\n",
+ "B0=0.01 #Wb/m2\n",
+ "ebym=1.759e11 \n",
+ "\n",
+ "#Cut off voltage\n",
+ "x=1-((b*b)/(a*a)) \n",
+ "V=(ebym*(B0**2)*(a**2)*(x**2))/8 \n",
+ "KV=V/1000 #Kilovolts\n",
+ "print 'Cut off voltage: %0.3f'%KV, 'KV'\n",
+ "\n",
+ "#Magnetic flux density\n",
+ "y=-sqrt((8*V0)/ebym) \n",
+ "B=y/(a*x) \n",
+ "print 'Magnetic flux density: %0.3f'%B, 'T'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off voltage: 1.197 KV\n",
+ "Magnetic flux density: 0.029 T\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 376 Example 7.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "V0=10e3 #V\n",
+ "I0=2 #A\n",
+ "b=4e-2 #m\n",
+ "a=3e-2 #m\n",
+ "B0=0.01 #Wb/m2\n",
+ "ebym=1.759e11 \n",
+ "\n",
+ "#Cut off voltage\n",
+ "x=1-((b*b)/(a*a)) \n",
+ "V=(ebym*(B0**2)*(a**2)*(x**2))/8 \n",
+ "print 'Cut off voltage: %0.3f'%(V/1000), 'KV'\n",
+ "\n",
+ "#Magnetic flux density\n",
+ "y=-sqrt((8*V0)/ebym) \n",
+ "B=y/(a*x) \n",
+ "print 'Magnetic flux density: %0.3f'%B, 'T'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off voltage: 1.197 KV\n",
+ "Magnetic flux density: 0.029 T\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 376 Example 7.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e=1.6e-19 #J\n",
+ "B0=0.01 #Wb/m2\n",
+ "d=6e-2 #m\n",
+ "V0=20e3 #V\n",
+ "ebym=1.759e11 \n",
+ "\n",
+ "#(i) Hull cut off voltage\n",
+ "Voc=(B0*B0*d*d*ebym)/2 \n",
+ "print 'Hull cut off voltage:' ,Voc/1000,'KV'\n",
+ "\n",
+ "#(ii) Hull magnetic field\n",
+ "Boc=sqrt((2*V0)/ebym)/d \n",
+ "print 'Hull magnetic field: %0.3f'%(Boc*1000),'mT'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Hull cut off voltage: 31.662 KV\n",
+ "Hull magnetic field: 7.948 mT\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 377 Example 7.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "V0=10e3 #V\n",
+ "V01=5e3 #V\n",
+ "I0=2 #A\n",
+ "b=3e-2 #m\n",
+ "a=2e-2 #m\n",
+ "B0=0.01 #Wb/m2\n",
+ "ebym=1.759e11 \n",
+ "\n",
+ "#Cut off voltage\n",
+ "x=1-((b*b)/(a*a)) \n",
+ "V=(ebym*(B0**2)*(a**2)*(x**2))/8 \n",
+ "KV=V/1000 #Kilovolts\n",
+ "print 'Cut off voltage: %0.3f'%KV,'KV'\n",
+ "\n",
+ "#Magnetic flux density\n",
+ "y=-sqrt((8*V01)/ebym) \n",
+ "B=y/(a*x) \n",
+ "print 'Magnetic flux density: %0.3f'%B, 'Wb/m2'\n",
+ "\n",
+ "#Answer in book is wrong for Magnetic flux density as a*a ,where a=2, is taken as 5, which should be 4"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off voltage: 1.374 KV\n",
+ "Magnetic flux density: 0.019 Wb/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 377 Example 7.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "N=15 \n",
+ "t=0.3e-6 #s\n",
+ "DC=0.0011 #Duty cycle\n",
+ "\n",
+ "#(i) Agile excursion\n",
+ "A=N/t \n",
+ "print 'Agile excursion:',A/10**6, 'MHz'\n",
+ "\n",
+ "#(ii) Pulse to pulse frequency seperation\n",
+ "fp=1/t \n",
+ "print 'Pulse to pulse frequency seperation: %0.3f'%(fp/10**6),'Mhz'\n",
+ "\n",
+ "#(iii) Signal frequency\n",
+ "f=DC/t \n",
+ "print 'Signal frequency: %0.3f'%(f/1000), 'Khz'\n",
+ "\n",
+ "#(iv) Agile rate\n",
+ "Tp=N/f \n",
+ "R=1/(2*Tp) \n",
+ "print 'Agile Rate: %0.3f'%R,'ps'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Agile excursion: 50.0 MHz\n",
+ "Pulse to pulse frequency seperation: 3.333 Mhz\n",
+ "Signal frequency: 3.667 Khz\n",
+ "Agile Rate: 122.222 ps\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch8.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch8.ipynb
new file mode 100644
index 00000000..e05f6096
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch8.ipynb
@@ -0,0 +1,542 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1c099612373c83d96585e30f362b0f5d48107f5099d65d556d32340ac8900c86"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-8 : Microwave Solid State Control Device"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 389 Example 8.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division \n",
+ "from math import pi, sqrt, log10\n",
+ "#Given\n",
+ "Rf=0.5 #ohm\n",
+ "Rr=1 #ohm\n",
+ "Ls=0.3e-9 #H\n",
+ "Cj=0.1e-12 #F\n",
+ "f=3.18e9 #Hz\n",
+ "Z0=50 #ohm\n",
+ "\n",
+ "Zf=Rf+(1J*round(2*pi*f*Ls)) \n",
+ "Zr=Rr+(1J*(round(2*pi*f*Ls)-(1/(2*pi*f*Cj)))) \n",
+ "\n",
+ "#Series Configuration\n",
+ "print 'Series Configuration' \n",
+ "\n",
+ "#Insertion Loss\n",
+ "x=(2*Z0)/((2*Z0)+Zf) \n",
+ "x1=sqrt(((x.real))**2+((x.imag))**2) \n",
+ "IN=-20*log10(x1) \n",
+ "print 'Insertion Loss: %0.3f'%IN,'dB'\n",
+ "\n",
+ "#Isolation Loss\n",
+ "y=(2*Z0)/((2*Z0)+Zr) \n",
+ "y1=sqrt(((y.real))**2+((y.imag))**2) \n",
+ "IS=-20*log10(y1) \n",
+ "print 'Isolation Loss: %0.3f'%IS,'dB'\n",
+ "\n",
+ "#Shunt Configuration\n",
+ "print 'Shunt Configuration' \n",
+ "\n",
+ "#Insertion Loss\n",
+ "a=(2*Zr)/((2*Zr)+Z0) \n",
+ "a1=sqrt(((a.real))**2+((a.imag))**2) \n",
+ "INs=-20*log10(a1) \n",
+ "print 'Insertion Loss: %0.3f'%INs,'dB'\n",
+ "\n",
+ "#Isolation Loss\n",
+ "b=(2*Zf)/((2*Zf)+Z0) \n",
+ "b1=sqrt(((b.real))**2+((b.imag))**2) \n",
+ "ISs=-20*log10(b1) \n",
+ "print 'Isolation Loss: %0.3f'%ISs,'dB'\n",
+ "\n",
+ "#Answer for Series configuration insertion loss is 0.058 but is given as 0.58db"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Series Configuration\n",
+ "Insertion Loss: 0.059 dB\n",
+ "Isolation Loss: 14.061 dB\n",
+ "Shunt Configuration\n",
+ "Insertion Loss: 0.012 dB\n",
+ "Isolation Loss: 12.772 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 390 Example 8.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Rf=1 #ohm\n",
+ "Rr=4 #ohm\n",
+ "Ls=0.3e-9 #H\n",
+ "Cj=0.1e-12 #F\n",
+ "f=3.18e9 #Hz\n",
+ "Z0=50 #ohm\n",
+ "\n",
+ "Zf=Rf+(1J*round(2*pi*f*Ls)) \n",
+ "Zr=Rr+(1J*(round(2*pi*f*Ls)-(1/(2*pi*f*Cj)))) \n",
+ "\n",
+ "#Series Configuration\n",
+ "print 'Series Configuration' \n",
+ "\n",
+ "#Insertion Loss\n",
+ "x=(2*Z0)/((2*Z0)+Zf) \n",
+ "x1=sqrt(((x.real))**2+((x.imag))**2) \n",
+ "IN=-20*log10(x1) \n",
+ "print 'Insertion Loss: %0.3f'%IN,'dB'\n",
+ "\n",
+ "#Isolation Loss\n",
+ "y=(2*Z0)/((2*Z0)+Zr) \n",
+ "y1=sqrt(((y.real))**2+((y.imag))**2) \n",
+ "IS=-20*log10(y1) \n",
+ "print 'Isolation Loss: %0.3f'%IS,'dB'\n",
+ "\n",
+ "#Shunt Configuration\n",
+ "print 'Shunt Configuration' \n",
+ "\n",
+ "#Insertion Loss\n",
+ "a=(2*Zr)/((2*Zr)+Z0) \n",
+ "a1=sqrt(((a.real))**2+((a.imag))**2) \n",
+ "INs=-20*log10(a1) \n",
+ "print 'Insertion Loss: %0.3f'%INs,'dB'\n",
+ "\n",
+ "#Isolation Loss\n",
+ "b=(2*Zf)/((2*Zf)+Z0) \n",
+ "b1=sqrt(((b.real))**2+((b.imag))**2) \n",
+ "ISs=-20*log10(b1) \n",
+ "print 'Isolation Loss: %0.3f'%ISs,'dB'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Series Configuration\n",
+ "Insertion Loss: 0.102 dB\n",
+ "Isolation Loss: 14.071 dB\n",
+ "Shunt Configuration\n",
+ "Insertion Loss: 0.015 dB\n",
+ "Isolation Loss: 12.843 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 392 Example 8.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Vbd=1000 #V\n",
+ "f=30e9 #Hz\n",
+ "E=3e5 #V/cm\n",
+ "Cj=0.3e-12 #F\n",
+ "er=11.8 \n",
+ "e0=8.854e-12 \n",
+ "\n",
+ "W=Vbd/E \n",
+ "Wpi=W/100 #mu\n",
+ "\n",
+ "#Total series resistance\n",
+ "R=1/(2*pi*f*Cj) \n",
+ "print 'Total series resistance: %0.3f'%R, 'ohms'\n",
+ "\n",
+ "#Junction Area\n",
+ "A=(Cj*Wpi)/(e0*er) \n",
+ "print 'Junction Area: %0.3f'%(A*10000), 'cm2'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total series resistance: 17.684 ohms\n",
+ "Junction Area: 0.001 cm2\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 428 Example 8.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "MQ=10 \n",
+ "M=0.4 \n",
+ "r=20 \n",
+ "Td=300 #K\n",
+ "T=290 #K\n",
+ "\n",
+ "x=(MQ*MQ)/r \n",
+ "#Power Gain\n",
+ "Ap=(r*x)/((1+sqrt(1+x))**2) \n",
+ "Apdb=10*log10(Ap) \n",
+ "print 'Power gain: %0.3f'%Apdb,'dB'\n",
+ "\n",
+ "#Noise figure\n",
+ "z=(Td/T)/sqrt(1+((MQ*MQ)/r)) \n",
+ "F=1+z \n",
+ "Fdb=10*log10(F) \n",
+ "print 'Nosie figure: %0.3f'%F,'dB'\n",
+ "\n",
+ "#Bandwidth\n",
+ "BW=2*M*sqrt(r) \n",
+ "print 'Bandwidth: %0.3f'%BW"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power gain: 9.245 dB\n",
+ "Nosie figure: 1.422 dB\n",
+ "Bandwidth: 3.578\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 428 Example 8.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "MQ=10 \n",
+ "r=10 \n",
+ "\n",
+ "x=(MQ*MQ)/r \n",
+ "\n",
+ "#Gain\n",
+ "Ap=(r*x)/((1+sqrt(1+x))**2) \n",
+ "Apdb=10*log10(Ap) \n",
+ "print 'Gain: %0.3f'%Apdb,'dB'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gain: 7.297 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 429 Example 8.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Rs=1 #ohm\n",
+ "ws=5e9 #Hz\n",
+ "M=0.25 \n",
+ "C0=2e-12 #F\n",
+ "\n",
+ "#(i) Effective Q\n",
+ "Q=1/(Rs*ws*C0*(1-(M*M))) \n",
+ "print 'Effective Q: %0.3f'%Q"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effective Q: 106.667\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 434 Example 8.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e=0.0001 \n",
+ "s=330 \n",
+ "\n",
+ "#Charge transfer effciency\n",
+ "n=1-e \n",
+ "\n",
+ "#Final charge pulse\n",
+ "#x=P/P0\n",
+ "x=(1-(e*s)) \n",
+ "print 'Final charge pulse:' ,x"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Final charge pulse: 0.967\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 434 Example 8.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Qmax=0.05e-12 #C\n",
+ "f=10e6 #Hz\n",
+ "V=10 #V\n",
+ "n=3 \n",
+ "\n",
+ "#Power disspated per bit\n",
+ "P=n*f*V*Qmax \n",
+ "print 'Power disspated per bit:',P*10**6, 'muW'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power disspated per bit: 15.0 muW\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 434 Example 8.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e0=8.854e-12 \n",
+ "er=3.9 \n",
+ "d=0.15e-6 #m\n",
+ "e=1.6e-19 #J\n",
+ "Nmax=2.2e16 #m-2\n",
+ "A=0.6e-8 #m\n",
+ "P=0.67e-3 #W\n",
+ "n=3 \n",
+ "\n",
+ "#(i) Junction capacitance\n",
+ "Ci=(e0*er)/d \n",
+ "\n",
+ "#Gate voltage\n",
+ "V=(Nmax*e)/Ci \n",
+ "print 'Gate voltage: %0.3f'%V,'V'\n",
+ "\n",
+ "#(ii) Charge stored\n",
+ "Qmax=Nmax*e*A \n",
+ "\n",
+ "#Clock frequency\n",
+ "f=P/(n*V*Qmax) \n",
+ "print 'Clock frequency: %0.3f'%(f/10**6),'MHz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gate voltage: 15.291 V\n",
+ "Clock frequency: 0.692 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 435 Example 8.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Qmax=0.06e-12 #C\n",
+ "f=20e6 #Hz\n",
+ "V=10 #V\n",
+ "n=3 \n",
+ "\n",
+ "#Power disspated per bit\n",
+ "P=n*f*V*Qmax \n",
+ "print 'Power disspated per bit:',P*10**6, 'muW'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power disspated per bit: 36.0 muW\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 435 Example 8.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e0=8.854e-12 \n",
+ "er=4 \n",
+ "d=0.1e-6 #m\n",
+ "si=0.85 \n",
+ "e=1.6e-19 #J\n",
+ "Na=1e20 \n",
+ "\n",
+ "Ci=(e0*er)/d \n",
+ "print 'Junction capacitance: %0.5f'%Ci, 'F/m'\n",
+ "\n",
+ "W=sqrt((2*e0*er*si)/(e*Na)) \n",
+ "print 'Depletion layer width: %0.3e'%W,'m'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Junction capacitance: 0.00035 F/m\n",
+ "Depletion layer width: 1.940e-06 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/Ch9.ipynb b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch9.ipynb
new file mode 100644
index 00000000..841b5c3a
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/Ch9.ipynb
@@ -0,0 +1,1041 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9c9d61e8b5bf885fbdf1f7f9c70abb8dab2f7888d9bcb8fa95f4e55f61bf2198"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-9 : Microwave Solid State Generators & Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 448 Example 9.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "#Given\n",
+ "fc=5e9 #Hz\n",
+ "Em=2e7 #V/m\n",
+ "vs=4e3 #ms/s\n",
+ "Xc=1 #ohm\n",
+ "\n",
+ "#Maximum allowable power\n",
+ "Pm=((Em*vs)**2)/(((2*pi*fc)**2)*Xc) \n",
+ "print 'Maximum allowable power: %0.3f'%Pm, 'W'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum allowable power: 6.485 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 451 Example 9.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "XeGe=4.0 #eV\n",
+ "XeGaAs=4.1 #eV\n",
+ "delEgGe=0.78 #eV\n",
+ "delEgGaAs=1.42 #eV\n",
+ "\n",
+ "#Conduction band differential\n",
+ "delEc=XeGe-XeGaAs \n",
+ "print 'Conduction band differential:' ,delEc,'eV'\n",
+ "\n",
+ "#Valence band differential\n",
+ "delEv=delEgGaAs-delEgGe-delEc \n",
+ "print 'Valence band differential:' ,delEv,'eV'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conduction band differential: -0.1 eV\n",
+ "Valence band differential: 0.74 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 454 Example 9.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "S11=0.89 \n",
+ "S12=0.02 \n",
+ "S21=3.1 \n",
+ "S22=0.78 \n",
+ "\n",
+ "Del=(S11*S22)-(S12*S21) \n",
+ "K=(1-(S11)**2-(S22)**2+(Del)**2 )/(2*S12*S21) \n",
+ "if(K<1):\n",
+ " print 'Amplifier is potentially unstable' \n",
+ "else:\n",
+ " print 'Amplifier is potentially stable' \n",
+ " \n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Amplifier is potentially unstable\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 454 Example 9.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "S11=0.40 \n",
+ "S12=0.01 \n",
+ "S21=2.00 \n",
+ "S22=0.35 \n",
+ "\n",
+ "ZL=20 #ohm\n",
+ "ZS=30 #ohm\n",
+ "Z0=ZL+ZS #ohm\n",
+ "\n",
+ "#Reflection coefficients of source and load\n",
+ "TL=(ZL-Z0)/(ZL+Z0) \n",
+ "TLm=-TL \n",
+ "TS=(ZS-Z0)/(ZS+Z0) \n",
+ "TSm=-TS \n",
+ "\n",
+ "#Reflection coefficients of input and output\n",
+ "Tin=S11+((S12*S21*TL)/(1-(S22*TL))) \n",
+ "Tout=S22+((S12*S21*TS)/(1-(S22*TS))) \n",
+ "\n",
+ "#Transducer Gain\n",
+ "x=(1-(TSm)**2)/((1-(S11*TSm))**2) #Value of should be 1.145\n",
+ "y=(S21*S21) \n",
+ "z=(1-(TLm)**2)/((1-(Tout*TLm))**2) \n",
+ "GT=x*y*z \n",
+ "print 'Transducer Gain: %0.3f'%GT\n",
+ "\n",
+ "#Available Power Gain\n",
+ "z1=1-(Tout)**2 \n",
+ "GA=(x*y)/z1 \n",
+ "print 'Available power Gain: %0.3f'%GA\n",
+ "\n",
+ "#Power Gain\n",
+ "z2=1-(Tin)**2 \n",
+ "GP=(x*y)/z2 \n",
+ "print 'Power Gain: %0.3f'%GP\n",
+ "\n",
+ "#All the end calculations of finding gain are not accurate in the book, hence the answers dont match"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transducer Gain: 5.207\n",
+ "Available power Gain: 5.257\n",
+ "Power Gain: 5.473\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 455 Example 9.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "#Given\n",
+ "S11=0.60 \n",
+ "S12=0.045 \n",
+ "S21=2.50 \n",
+ "S22=0.50\n",
+ "TS=0.5 \n",
+ "TL=0.4 \n",
+ "Vrms=10 #V\n",
+ "Z0=50 #ohm\n",
+ "\n",
+ "#(i)Reflection coefficients of input and output\n",
+ "Tin=S11+((S12*S21*TL)/(1-(S22*TL))) \n",
+ "Tout=S22+((S12*S21*TS)/(1-(S22*TS))) \n",
+ "print 'Reflection coefficients of input: %0.3f'%Tin\n",
+ "print 'Reflection coefficients of output:' ,Tout\n",
+ "\n",
+ "#(ii) Gains\n",
+ "#Transducer Gain\n",
+ "x=(1-(TS)**2)/((1-(S11*TS))**2) \n",
+ "y=(S21*S21) \n",
+ "z=(1-(TL)**2)/((1-(Tout*TL))**2) \n",
+ "GT=x*y*z \n",
+ "print 'Transducer Gain: %0.3f'%GT\n",
+ "\n",
+ "#Available Power Gain\n",
+ "z1=1-(Tout)**2 \n",
+ "GA=(x*y)/z1 \n",
+ "print 'Available power Gain: %0.3f'%GA\n",
+ "\n",
+ "#Power Gain\n",
+ "z2=1-(Tin)**2 \n",
+ "GP=(x*y)/z2 \n",
+ "print 'Power Gain: %0.3f'%GP\n",
+ "\n",
+ "#Calculation for Tout and Gains are wrong in the book, hence the answers dont match\n",
+ "\n",
+ "#(iii) Power available\n",
+ "Gt=9.4 \n",
+ "Pas=(sqrt(2)*Vrms)**2/(8*Z0) \n",
+ "Pal=Gt*Pas \n",
+ "print 'Power available at source:' ,Pas,'W'\n",
+ "print 'Power available at load:',Pal, 'W'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reflection coefficients of input: 0.656\n",
+ "Reflection coefficients of output: 0.575\n",
+ "Transducer Gain: 13.553\n",
+ "Available power Gain: 14.291\n",
+ "Power Gain: 16.803\n",
+ "Power available at source: 0.5 W\n",
+ "Power available at load: 4.7 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 457 Example 9.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10 \n",
+ "#Given\n",
+ "S11=0.90 \n",
+ "S12=0 \n",
+ "S21=2.40 \n",
+ "S22=0.80 \n",
+ "\n",
+ "Gmax=(S21*S21)/((1-(S11)**2)*(1-(S22)**2)) \n",
+ "Gdb=10*log10(Gmax) \n",
+ "print 'Maximum gain: %0.3f'%Gdb"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum gain: 19.254\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 468 Example 9.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e=1.6e-19 \n",
+ "Nd=1.1e23 #m-3\n",
+ "a=0.2e-6 #m\n",
+ "er=11.8 \n",
+ "e0=8.854e-12 \n",
+ "mue=800e-4 #m2/Vs\n",
+ "Z=50e-6 \n",
+ "L=8.5e-6 #m\n",
+ "W0=1 #V\n",
+ "Vd=12 #V\n",
+ "Vg=1.5 #V\n",
+ "\n",
+ "#(i) Pinch off voltage and pinch off current\n",
+ "Vp=(e*Nd*a*a)/(2*er*e0) \n",
+ "print 'Pinch off voltage: %0.3f'%Vp,'V'\n",
+ "\n",
+ "Ip=(mue*e*e*Nd*Nd*Z*a*a)/(e0*er*L) \n",
+ "print 'Pinch off current: %0.3f'%Ip,'A'\n",
+ "#Answer for Ip is 55809 A but it is given as 0.00558 A\n",
+ "\n",
+ "#(ii) Drain and maximum drain current\n",
+ "#Taking Ip=5.58mA as given in book\n",
+ "Ip1=0.00558 #A\n",
+ "x=(2/3)*(((Vd+Vg+W0)/Vp)**(3/2)) \n",
+ "y=(2/3)*(((Vg+W0)/Vp)**(3/2)) \n",
+ "Id=Ip1*((Vd/Vp)-x+y)\n",
+ "print 'Drain current: %0.3f'%-Id,'A'\n",
+ "\n",
+ "#Saturation Current\n",
+ "Is=Ip1*((1/3)-((Vg+W0)/Vp)+((2/3)*(((Vg+W0)/Vp)**(3/2))))\n",
+ "print 'Drain saturation current: %0.3e'%Is, 'A'\n",
+ "\n",
+ "#(iii) Cut off frequency\n",
+ "f=(2*mue*e*Nd*a*a)/(pi*er*e0*L*L) \n",
+ "print 'Cutt off freqency: %0.3f'%(f/10**9),'GHz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pinch off voltage: 3.369 V\n",
+ "Pinch off current: 55809.081 A\n",
+ "Drain current: 0.011 A\n",
+ "Drain saturation current: 9.728e-05 A\n",
+ "Cutt off freqency: 4.750 GHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 469 Example 9.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e=1.6e-19 \n",
+ "Nd=8e23 #m-3\n",
+ "a=0.12e-6 #m\n",
+ "er=13.2 \n",
+ "e0=8.854e-12 \n",
+ "\n",
+ "#Pinch off voltage\n",
+ "Vp=(e*Nd*a*a)/(2*er*e0) \n",
+ "print 'Pinch off voltage:' ,Vp,'V'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pinch off voltage: 7.88549602645 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 486 Example 9.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "vd=2e5 #m/s\n",
+ "L=10e-6 #m\n",
+ "Ec=3.2e5 #V/m\n",
+ "\n",
+ "#Natural frequency\n",
+ "f=vd/L \n",
+ "print 'Natural frequency:' ,f/10**9,'GHz'\n",
+ "\n",
+ "#Critical voltage\n",
+ "Vc=Ec*L \n",
+ "print 'Critical voltage:',Vc, 'V'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Natural frequency: 20.0 GHz\n",
+ "Critical voltage: 3.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 487 Example 9.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "n=0.08 \n",
+ "A=3e-8 #m2\n",
+ "n0=1e21 #m-3\n",
+ "e=1.6e-19 \n",
+ "vd=1.5e5 #m/s\n",
+ "M=3.2\n",
+ "E=350e3 #V\n",
+ "L=12e-6 #m\n",
+ "\n",
+ "#Power output\n",
+ "Pout=n*A*n0*e*vd*M*L*E \n",
+ "print 'Power output:' ,Pout*1000,'mW'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power output: 774.144 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 487 Example 9.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "G=15.85 \n",
+ "Rn=75 #ohm\n",
+ "\n",
+ "Rl=Rn-(Rn/G) \n",
+ "C=Rl+(10*1J) \n",
+ "print 'Cavity impedance: {:.3f}'.format(C), 'ohms'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cavity impedance: 70.268+10.000j ohms\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 487 Example 9.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e=1.6e-19 \n",
+ "n1=1e16 #m-3\n",
+ "mu1=8000e-4 #m2/Vs\n",
+ "nu=1e14 #m-3\n",
+ "muu=180e-4 #m2/Vs\n",
+ "\n",
+ "#/Conductivity\n",
+ "C=e*((n1*mu1)+(nu*muu)) \n",
+ "print 'Conductivity: %0.3f'%(C*1000),'m mho'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conductivity: 1.280 m mho\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 488 Example 9.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e0=8.854e-12 \n",
+ "er=13.1 \n",
+ "vd=2.5e5 #m/s\n",
+ "e=1.6e-19 \n",
+ "mu=0.015 #m2/Vs\n",
+ "\n",
+ "#Criteria\n",
+ "n0L=(e0*er*vd)/(e*mu) \n",
+ "print 'n0L should be greater than %0.3e'%n0L,'m**-3'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "n0L should be greater than 1.208e+16 m**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 488 Example 9.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "L=10e-6 #m\n",
+ "f=10e9 #Hz\n",
+ "e=1.6e-19 \n",
+ "n0=2e20 #m3\n",
+ "E=3200e2 #V/m\n",
+ "\n",
+ "#Current density\n",
+ "vd=L*f \n",
+ "J=n0*e*vd \n",
+ "print 'Current density:' ,J,'A/m sqr'\n",
+ "\n",
+ "#Negative electron mobility\n",
+ "mu=-vd/E \n",
+ "print 'Negative electron mobility:' ,mu*10000,'cm sqr/Vs'\n",
+ "\n",
+ "#Answer for Negative electron mobility is 3125 but it is given as 3100"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current density: 3200000.0 A/m sqr\n",
+ "Negative electron mobility: -3125.0 cm sqr/Vs\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 497 Example 9.17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "n=0.15 \n",
+ "Vdc=100 #V\n",
+ "Idc=200e-3 #A\n",
+ "vd=2e5 #m/s\n",
+ "L=6e-6 #m\n",
+ "\n",
+ "#(i) Maximum CW output power\n",
+ "Pdc=Vdc*Idc \n",
+ "Pout=n*Pdc \n",
+ "print 'Maximum CW power output:' ,Pout,'W'\n",
+ "\n",
+ "#(ii) Resonant frequency\n",
+ "f=vd/(2*L) \n",
+ "print 'Resonant frequency: %0.3f'%(f/10**9),'GHz'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum CW power output: 3.0 W\n",
+ "Resonant frequency: 16.667 GHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 497 Example 9.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "n=0.1 \n",
+ "Vdc=100 #V\n",
+ "Idc=100e-3 #A\n",
+ "vd=2e5 #m/s\n",
+ "L=5e-6 #m\n",
+ "V0=90 #V\n",
+ "k=3 \n",
+ "\n",
+ "#(i) Maximum CW output power\n",
+ "Pdc=Vdc*Idc \n",
+ "Pout=n*Pdc \n",
+ "print 'Maximum CW power output:' ,Pout,'W'\n",
+ "\n",
+ "#(ii) Resonant frequency\n",
+ "f=vd/(2*L) \n",
+ "print 'Resonant frequency:' ,f,'Hz'\n",
+ "\n",
+ "#(iii)Transit time\n",
+ "T=L/vd \n",
+ "print 'Transit time:' ,T,'s'\n",
+ "\n",
+ "#(iv) Avalanche multiplication factor\n",
+ "M=1/(1-((Vdc/V0)**k)) \n",
+ "print 'Avalanche multiplication factor: %0.3f'%-M"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum CW power output: 1.0 W\n",
+ "Resonant frequency: 20000000000.0 Hz\n",
+ "Transit time: 2.5e-11 s\n",
+ "Avalanche multiplication factor: 2.690\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 498 Example 9.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "n=0.1 \n",
+ "Vdc=100 #V\n",
+ "Idc=0.9 #A\n",
+ "t=0.01e-9 #s\n",
+ "f=16e9 #Hz\n",
+ "\n",
+ "#(i)Power output\n",
+ "Pdc=Vdc*Idc \n",
+ "Pout=n*Pdc \n",
+ "print 'Power output:' ,Pout,'W'\n",
+ "\n",
+ "#(ii)Duty cycle\n",
+ "D=(t/2)+(1/(2*f)) \n",
+ "print 'Duty cycle:',D, 's'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power output: 9.0 W\n",
+ "Duty cycle: 3.625e-11 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 498 Example 9.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "Cj=0.5e-12 #F\n",
+ "Lp=0.5e-9 #H\n",
+ "Irf=0.65 #A\n",
+ "Rl=2 #ohms\n",
+ "Vbd=80 #V\n",
+ "Idc=0.08 #A\n",
+ "\n",
+ "#Resonant frequency\n",
+ "f=1/(2*pi*sqrt(Cj*Lp)) \n",
+ "print 'Resonant frequency: %0.3f'%f,'Hz'\n",
+ "\n",
+ "#Efficiency\n",
+ "Pout=(Irf*Irf*Rl)/2 \n",
+ "Pin=Vbd*Idc \n",
+ "n=(Pout*100)/Pin \n",
+ "print 'Efficiency: %0.3f'%n, '%'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resonant frequency: 10065842420.897 Hz\n",
+ "Efficiency: 6.602 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 501 Example 9.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "J=25e7 #A/m \n",
+ "Na=2.5e21 #m3\n",
+ "e=1.6e-19 \n",
+ "\n",
+ "#Avlance zone velocity\n",
+ "vz=J/(Na*e) \n",
+ "print 'Avlanche zone velocity:' ,vz,'m/s'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Avlanche zone velocity: 625000.0 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 503 Example 9.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "e=1.6e-19 \n",
+ "N=4e21 #m\n",
+ "L=10e-6 #m\n",
+ "e0=8.854e-12 \n",
+ "er=11 \n",
+ "\n",
+ "#Breakdown voltage\n",
+ "Vbd=(e*N*L*L)/(e0*er) \n",
+ "print 'Breakdown voltage:' ,round(Vbd),'V'\n",
+ "\n",
+ "#Breakdown electric field\n",
+ "E=Vbd/L \n",
+ "print 'Breakdown electric field: %0.3f'%E, 'V/m'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Breakdown voltage: 657.0 V\n",
+ "Breakdown electric field: 65712466.887 V/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 515 Example 9.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "lam=8000e-10 #m\n",
+ "a=0.5e-2 #m\n",
+ "D=4e8 #m\n",
+ "\n",
+ "#Angular Spread\n",
+ "t=(1.22*lam)/a \n",
+ "print 'Angular spread:',t, 'rad'\n",
+ "\n",
+ "#Aerial spread\n",
+ "A=pi*((D*t)**2) \n",
+ "print 'Aerial spread:',A, 'm sqr'\n",
+ "\n",
+ "\n",
+ "#Answer for A is given as 193 m sqr but it is 1.915e10 m sqr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular spread: 0.0001952 rad\n",
+ "Aerial spread: 19152676887.0 m sqr\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 515 Example 9.24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "E=10 #W\n",
+ "T=1e-9 #s\n",
+ "c=3e8 #m/s\n",
+ "lam=650e-9 #m\n",
+ "\n",
+ "#Pulse Power\n",
+ "P=E/T \n",
+ "print 'Pulse Power:' ,P,'W'\n",
+ "\n",
+ "#Q value\n",
+ "Q=(c*T)/lam \n",
+ "print 'Q value: %0.3f'%Q "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pulse Power: 10000000000.0 W\n",
+ "Q value: 461538.462\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page Number: 515 Example 9.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Given\n",
+ "h=6.626e-34 \n",
+ "c=3e8 #m/s\n",
+ "e=1.6e-19 \n",
+ "Eg=1.85 #eV\n",
+ "\n",
+ "#Wavelenght emitted\n",
+ "lam=(h*c)/(Eg*e) \n",
+ "lamarm=lam*1e10 \n",
+ "print 'Wavelenght emitted:' ,round(lamarm),'A'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wavelenght emitted: 6716.0 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/12refCoeff.png b/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/12refCoeff.png
new file mode 100644
index 00000000..db6c9944
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/12refCoeff.png
Binary files differ
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/1RefCoeff.png b/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/1RefCoeff.png
new file mode 100644
index 00000000..307db5eb
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/1RefCoeff.png
Binary files differ
diff --git a/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/6axialPhasVel.png b/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/6axialPhasVel.png
new file mode 100644
index 00000000..b35ff8c9
--- /dev/null
+++ b/Microwave_Engineering_by_G._S._Raghuvanshi/screenshots/6axialPhasVel.png
Binary files differ