summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_3.ipynb1531
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_3.ipynb751
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_3.ipynb614
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_2.ipynb224
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_3.ipynb232
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_2.ipynb430
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_3.ipynb1026
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_3.ipynb715
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_3.ipynb517
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_3.ipynb586
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_3.ipynb64
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_3.ipynb374
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_3.ipynb232
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_3.ipynb631
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_3.ipynb1073
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_3.ipynb314
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_3.ipynb1645
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_3.ipynb75
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_3.ipynb870
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_3.ipynb666
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_3.ipynb491
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_3.ipynb782
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_3.ipynb271
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_3.ipynb754
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_3.ipynb922
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_3.ipynb776
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_3.ipynb606
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_3.ipynb884
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_3.ipynb119
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_3.ipynb660
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_3.ipynb195
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_2.pngbin0 -> 13968 bytes
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_2.pngbin0 -> 12893 bytes
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_2.pngbin0 -> 14428 bytes
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER11_1.ipynb561
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER12_1.ipynb444
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER15_1.ipynb76
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER16_1.ipynb306
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER17_1.ipynb2533
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER20_1.ipynb2548
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER21_1.ipynb1250
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER3_1.ipynb1877
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER4_1.ipynb448
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER5_1.ipynb119
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER7_1.ipynb612
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/HeatTransfer(3)_1.pngbin0 -> 114680 bytes
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/cycleWorkEff(4)_1.pngbin0 -> 66957 bytes
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/volumetric_Eff(7)_1.pngbin0 -> 59358 bytes
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb333
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb78
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb655
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb356
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb213
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb167
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb661
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb565
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb329
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb89
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb177
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb107
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb139
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb227
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb183
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.pngbin0 -> 70404 bytes
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.pngbin0 -> 75002 bytes
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.pngbin0 -> 58855 bytes
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1.ipynb282
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10.ipynb589
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11.ipynb687
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2.ipynb1108
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3.ipynb969
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4.ipynb1102
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5.ipynb577
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6.ipynb623
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7.ipynb738
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8.ipynb370
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9.ipynb87
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_1.pngbin0 -> 98629 bytes
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_1.pngbin0 -> 70010 bytes
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_1.pngbin0 -> 51820 bytes
-rw-r--r--Textbook_on_Optical_Fiber_Communication_and_Its_Applications_by_S._C._Gupta/README.txt10
81 files changed, 41225 insertions, 0 deletions
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_3.ipynb
new file mode 100644
index 00000000..15727ca2
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_3.ipynb
@@ -0,0 +1,1531 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2a55a17a9f52d46817cb3be818d54b6fa85b71e4638975a4cba998496df659ba"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ " Chapter 3 , Electricity and Ohm's Law"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 , Page Number 23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "W = 75.0 #Work done (in Joules)\n",
+ "Q = 50.0 #Charge produced (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "V = W/Q #Voltage between battery terminals (in Volts)\n",
+ "\n",
+ "#Result\n",
+ "print \"Terminal voltage of a battery is \",V,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal voltage of a battery is 1.5 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 , Page Number 23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 1.5 #Voltage (in Volts)\n",
+ "E =7.5 #Energy produced (in Joules)\n",
+ "\n",
+ "#Calculation\n",
+ "Q = E/V #Charge separated ( in Coulomb )\n",
+ "\n",
+ "#Result\n",
+ "print \"The Amount of charge separated by the battery is \",Q,\" C.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Amount of charge separated by the battery is 5.0 C.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3 , Page Number 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Q = 7.5 #Charge (in Coulomb)\n",
+ "t = 0.5 #Time (in minute)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t = 0.5 * 60 #Time (in seconds)\n",
+ "I= Q/t #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The current in the element is \",I,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current in the element is 0.25 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 , Page Number 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 5 #Current (in Ampere) \n",
+ "Q = 4 * 10**-3 #Charge (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "t = Q/I #time (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "print \"Time in which the 4 mC of charge flows through this element is \",t * 10**3,\" ms.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time in which the 4 mC of charge flows through this element is 0.8 ms.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5 , Page Number 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 0.3 #Current (in Ampere)\n",
+ "W = 9.45 #Heat (in Joules)\n",
+ "t = 5 #Time (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Q = I * t\n",
+ "V = W/Q #Voltage (in Volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage across filament is \",V,\" volts.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage across filament is 6.3 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 , Page Number 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 2.83 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "w = 0.5 #width (in meter)\n",
+ "t = 2 * 10**-3 #thickness (in meter)\n",
+ "l = 1 #length (in meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = w * t #Area of cross-section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The resistance between left end and right end is \",R * 10**6,\" micro-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistance between left end and right end is 28.3 micro-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7 , Page Number 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case 1:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "w = 0.01 #width (in meter)\n",
+ "h = 0.01 #height (in meter)\n",
+ "l = 0.50 #length (in meter)\n",
+ "p = 3.5 * 10**-5 #Resistivity (in ohm-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = w * h #Area of cross section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm)\n",
+ "\n",
+ "#Result 1:\n",
+ "\n",
+ "print \"Resistance in case 1 is : \",R,\" ohm.\"\n",
+ "\n",
+ "#Case 2:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "w = 0.50 #width (in meter)\n",
+ "h = 0.01 #height (in meter)\n",
+ "l = 0.01 #length (in meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = w * h #Area of cross section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance in case 2 is: \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance in case 1 is : 0.175 ohm.\n",
+ "Resistance in case 2 is: 7e-05 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.8 , Page Number 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "l = 120 #length of wire (in meter)\n",
+ "d = 0.25 * 10**-2 #Diameter of cross section (in meter)\n",
+ "p = 1.7 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "r = d/2 #Radius of cross section (in meter)\n",
+ "A = math.pi *r*r #Area of cross section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of the wire is \",round(R,3),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of the wire is 0.416 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9 , Page Number 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 2.8 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "d = 0.15 * 10**-2 #Diameter of wire (in meter)\n",
+ "R = 10 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = math.pi *d*d/4 #Area of cross section (in metersquare)\n",
+ "l = R*A/p #Length of wire (in meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Length of the wire is \",round(l),\" meter.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of the wire is 631.0 meter.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10 , Page Number 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 1.7 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "l = 2 * 150 #Length (in meter)\n",
+ "R = 0.722 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = p*l/R #Area of cross section (in metersquare)\n",
+ "d = (A * 4 / math.pi)**0.5 #diameter of wire (in meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \" Diameter of the wire is : \",round(d * 10**3),\" mm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Diameter of the wire is : 3.0 mm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.11 , Page Number 30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "lc = 200 #Length of copper wire (in meter)\n",
+ "Rc = 1.5 #Resistance of Copper wire(in ohm)\n",
+ "pc = 1.7 * 10**-8 #Resistivity of (in ohm-meter)\n",
+ "ls = 10 #Length of silver wire (in meter)\n",
+ "ps = 1.6 * 10**-8 #Resistivity of Silver (in ohm-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = pc * lc / Rc #Area of cross section (in metersquare)\n",
+ "Rs = ps * ls / A #Resistance of silver wire(in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The resistance of silver wire is \",round(Rs,2),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistance of silver wire is 0.07 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.12 , Page Number 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T1 = 800 #Temperature (in celsius degeree)\n",
+ "T2 = 2250 #Temperature (in celsius degeree)\n",
+ "R20 = 3.49 #Resistance at 20 degree celsius (in ohm)\n",
+ "alpha20 = 4.5 * 10**-3 #Temperature coefficient at 20 degree celsius (in per degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R800 = R20 * (1 + alpha20*(T1 - 20)) #Resistance at 800 degree celsius (in ohm)\n",
+ "R2250 = R20 * (1 + alpha20*(T2-20)) #Resistance at 2250 degree celsius (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance at 800 degree celsius is \",round(R800,1), \" ohm.\\nResistance at 2250 degree celsius is \",round(R2250,1),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance at 800 degree celsius is 15.7 ohm.\n",
+ "Resistance at 2250 degree celsius is 38.5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.13 , Page Number 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T1 = 20 #Temperature (in degree celsius)\n",
+ "R1 = 10000 #Resistance at 20 degree celsius (in ohm)\n",
+ "T2 = -25 #Temperature (in degree celsius) \n",
+ "alpha = 0.0039 #Temperature coefficient at 20 degree celsius (in per degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R80 = R1*(1 + alpha*(80 - T1)) #Resistance at 80 degree celsius (in ohm)\n",
+ "RT2 = R1*(1 + alpha*(-25 - T1)) #Resistance at -25 degree celsius (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance at 80 degree celsius is \",round(R80 * 10**-3,1),\" kilo-ohm.\\nResistance at -25 degree celsius is \",round(RT2 * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance at 80 degree celsius is 12.3 kilo-ohm.\n",
+ "Resistance at -25 degree celsius is 8.2 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.14 , Page Number 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 14 * 10**-8 #Resistivity of gold (in ohm-meter)\n",
+ "alpha = 5.8 * 10**-4 #Temperature coefficient (in per degree celsius)\n",
+ "l = 3 #Length (in meter)\n",
+ "d = 13 * 10**-6 #diameter of wire\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = math.pi * d * d / 4 #Area of cross-section (in metersquare)\n",
+ "R = p * l /A #Resistance of wire at 20 degree celsius(in ohm)\n",
+ "R1 = R*(1 + alpha*(200-20))\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of wire at 200 degree celsius is \",round(R1,1),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of wire at 200 degree celsius is 3494.6 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.15 , Page Number 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 10*10**-3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "G = 1/R #Conductance (in siemens)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The conductance of gold conductor is \",G,\" siemens.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conductance of gold conductor is 100.0 siemens.\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.16 , Page Number 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 10.0*10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "G = 1/R #Conductance (in siemens)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The conductance of gold conductor is \",G,\" siemens.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conductance of gold conductor is 0.0001 siemens.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.17 , Page Number 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "G = 50*10**-6 #Conductance (in siemens)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = 1/G #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Resistance is \",R * 10**-3,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Resistance is 20.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.18 , Page Number 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 18 #Voltage (in volts)\n",
+ "I = 60*10**-6 #current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ "G = 1/R #Conductance (in siemens) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The conductance is \",round(G * 10**6,2),\" micro-siemens.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conductance is 3.33 micro-siemens.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.19 , Page Number 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 600.00 #Resistance (in ohm)\n",
+ "V = 230.00 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = V/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current in the power line is \",round(I,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in the power line is 0.383 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.20 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 8 #Resistance (in ohm)\n",
+ "I = 2.5 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V = I*R #Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum safe voltage is \",V,\" volts.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum safe voltage is 20.0 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.21 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "I = 16 * 10**-3 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V = I*R #Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage that must be applied to the relay coil to energize it is \",V,\" volts.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage that must be applied to the relay coil to energize it is 24.0 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.22 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 20 * 10**-3 #Current per segment (in Ampere)\n",
+ "V = 5 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance that must be inserted into the circuit of each segment is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance that must be inserted into the circuit of each segment is 250.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.23 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 7 * 2 #Voltage : 7 div * (2 V/div) (in volts)\n",
+ "I = 5 * 5 * 10**-3 #Current : 5 div * (5 * 10**-3) (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of resistance is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of resistance is 560.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.24 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "W = 64000 #Heat produced (in Joules) \n",
+ "t = 40 #time (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = W/t #Rate at which electrical energy is converted into heat energy (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The rate at which electrical energy is converted into heat energy is : \",P,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The rate at which electrical energy is converted into heat energy is : 1600 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.25 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 5 #Current (in Ampere)\n",
+ "V = 230 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = V*I #Power consumed (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The power consumed by the toaster is: \",P,\" watt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power consumed by the toaster is: 1150 watt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.26 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "P = 36.0 #Power consumed (in watt)\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = P/V #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through filament is \",round(I,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through filament is 0.157 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.27 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "P = 150 *12/1000.0 #Power consumed by 12 bulbs (in kilowatt) \n",
+ "t = 10.0 #Time (in hours)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "W = P * t #Energy used (in kWh)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The energy used is \",W,\" kWh.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The energy used is 18.0 kWh.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.28 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Ps = 500.0 #Power of stereo system (in watt)\n",
+ "Pa = 2400.0 #Power of air conditioner (in watt)\n",
+ "t = 3 #time (in hours) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = (Ps + Pa)/1000 #Total power consumed (in kilowatt)\n",
+ "W = P * t #Energy used (in kilowatthour)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The energy used is \",W,\" kWh.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The energy used is 8.7 kWh.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.29 , Page Number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "P = 180.0 #Power (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = P/V #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The input current is \",round(I,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input current is 0.783 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.30 , Page Number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 24.0 #Voltage (in volts)\n",
+ "I = 2.0 #Current (in Ampere)\n",
+ "Pb = 0.5 #Power rating of each light bulb (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = V * I #Maximum power (in watt)\n",
+ "P80 = P * 0.8 #80% of power rating (in watt) \n",
+ "n = (P80//Pb) #Number of bulbs required \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The number of bulbs required is \",n,\".\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The number of bulbs required is 76.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.31 , Page Number 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 750.0 #Resistance (in ohm)\n",
+ "I = 32.0 #Current (in milliAmpere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = I**2 * 10**-6 * R #Power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power consumed by relay coil is \",P*1000,\" mW.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power consumed by relay coil is 768.0 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.32 , Page Number 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 36.0 #Resistance (in ohm)\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = V**2/R #Power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power rating is \",round(P/1000,3),\" kW.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power rating is 1.469 kW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.33 , Page Number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "P = 36 #Power (in watt)\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V**2/P #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of the heating element is \",round(R),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of the heating element is 1469.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.34 , Page Number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case a :\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 8.0 #Resistance (in ohm)\n",
+ "P1 = 60.0 #Power (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = (P1/R)**0.5 #Current (in Ampere)\n",
+ "\n",
+ "#Case b :\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 8.0 #Resistance (in ohm)\n",
+ "P2 = 120.0 #Power (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I2 = (P2/R)**0.5 #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum new current is \",round(I1,2),\" A.\\nMaximum new current is \",round(I2,2),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum new current is 2.74 A.\n",
+ "Maximum new current is 3.87 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.35 , Page Number 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 30.0 #Resistance (in kiloohm)\n",
+ "I #Value of previous current (in Ampere)\n",
+ "I1 = 1.5*I #New value of current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = I**2 * R #Power dissipated due to previous current (in kilowatt)\n",
+ "P1 = I1**2 * R #Power dissipated due to new current (in kilowatt)\n",
+ "P2 = (P1 - P)/P * 100 #Percentage increase in power dissipation\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Percentage Increase in power dissipation is \",P2,\" %.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage Increase in power dissipation is 125.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.36 , Page Number 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 6.0 #voltage (in volts)\n",
+ "C = 2.0 #Capacity of battery (in Ampere-hour)\n",
+ "P = 1.2 #Power rating (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V**2 / P #Resistance (in ohm)\n",
+ "I = V/R #Current (in Ampere)\n",
+ "t = C/I #time (in hour)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Battery will last for \",t,\" hours.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Battery will last for 10.0 hours.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_3.ipynb
new file mode 100644
index 00000000..acfafc0a
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_3.ipynb
@@ -0,0 +1,751 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9a0a38a1ad49042ffadb423caa0f240dc4106abfcf6ac9eb25cdb67cab101f0b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4 , DC Resistive Circuits "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1 , Page Number 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 220 #Resistance (in ohm)\n",
+ "R2 = 470 #Resistance (in ohm)\n",
+ "R3 = 560 #Resistance (in ohm)\n",
+ "R4 = 910 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 + R2 + R3 + R4 #Net Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total resistance of circuit is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total resistance of circuit is 2160 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2 , Page Number 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 4 #Resistance (in kilo-ohm)\n",
+ "R2 = 6 #Resistance (in kilo-ohm)\n",
+ "R3 = 2 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 + R2 + R3 #Equivalent Resistance(in kilo-ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Equivalent Resistance is \",R,\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent Resistance is 12 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3 , Page Number 54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 250 #Resistance (in ohm)\n",
+ "R3 = 375 #Resistance (in ohm)\n",
+ "I = 50 * 10**-3 #Current (in Ampere)\n",
+ "V = 40 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Equivalent Resistance (in ohm)\n",
+ "R2 = R - (R1 + R3) #Resistance R2 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Total Resistance is \",R,\" ohm.\\nThe value of R2 is \",R2,\" ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Total Resistance is 800.0 ohm.\n",
+ "The value of R2 is 175.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4 , Page Number 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 250 * 10**-3 #Current (in Ampere)\n",
+ "R = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vs = I * R #Source voltage (in volts)\n",
+ "I1 = 0.75 * I #New current (in Ampere)\n",
+ "R1 = Vs / I1 #New Resistance (in ohm)\n",
+ "R2 = R1 - R #Resistance to be added (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print R2,\" ohm Resistance must be added in order to accomplish the reduction in current.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "500.0 ohm Resistance must be added in order to accomplish the reduction in current.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5 , Page Number 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.2 #Resistance (in kilo-ohm)\n",
+ "R2 = 1 #Resistance (in kilo-ohm)\n",
+ "R3 = 3.3 #Resistance (in kilo-ohm)\n",
+ "V2 = 6 #Voltage drop across R2 (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = V2 / R2 #Current in the circuit (in milli-Ampere) \n",
+ "V1 = R1 * I #Voltage drop across R1 (in volts)\n",
+ "V3 = R3 * I #Voltage drop across R3 (in volts)\n",
+ "\n",
+ "#Result\n",
+ "print \"The voltage drop across R1 is \",V1,\"V and the voltage drop across R3 is \",V3,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage drop across R1 is 13.2 V and the voltage drop across R3 is 19.8 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6 , Page Number 57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 30.0 #Source voltage (in volts)\n",
+ "R1 = 20.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R3 = 70.0 #Resistance (in kilo-ohm)\n",
+ "VD = 0.0 #Voltage at D (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 + R2 + R3 #Equivalent Resistance (in kilo-ohm)\n",
+ "V1 = (R1 / R) * V #Voltage drop across R1 (in volts)\n",
+ "V2 = (R2 / R) * V #Voltage drop across R2 (in volts)\n",
+ "V3 = (R3 / R) * V #Voltage drop across R3 (in volts)\n",
+ "VC = V3 + VD #Voltage at node C (in volts) \n",
+ "VB = V2 + VC #Voltage at node B (in volts)\n",
+ "VA = V1 + VB #Voltage at node A (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Voltage drop across R1 is \",V1,\" V.\\nThe Voltage drop across R2 is \",V2,\" V.\\nThe Voltage drop across R3 is \",V3,\" V.\"\n",
+ "print \"Voltage at node A is \",VA,\" V.\\nVoltage at node B is \",VB,\" V.\\nVoltage at node is \",VC,\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Voltage drop across R1 is 6.0 V.\n",
+ "The Voltage drop across R2 is 3.0 V.\n",
+ "The Voltage drop across R3 is 21.0 V.\n",
+ "Voltage at node A is 30.0 V.\n",
+ "Voltage at node B is 24.0 V.\n",
+ "Voltage at node is 21.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7 , Page Number 58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100 #Resistance R2 (in ohm)\n",
+ "I = 0.3 #Current (in Ampere)\n",
+ "VT = 120 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = VT / I #Total Resistance (in ohm)\n",
+ "R1 = RT - R2 #Resistance R1 (in ohm)\n",
+ "P1 = I**2 * R1 #Power dissipated by R1 (in watt)\n",
+ "P2 = I**2 * R2 #Power dissipated by R2 (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The power dissipated by R1 is \",P1,\" W.\\nThe power dissipated by R2 is \",P2,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power dissipated by R1 is 27.0 W.\n",
+ "The power dissipated by R2 is 9.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8 , Page Number 60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 6 #Voltage (in volts)\n",
+ "R1 = 1 #Resistance (in ohm)\n",
+ "R2 = 2 #Resistance (in ohm)\n",
+ "R3 = 3 #Resistance (in ohm)\n",
+ "\n",
+ "#Case (a):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 + R3 #Equivalent Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "P = I**2 * RT #Power dissipated (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power dissipated in the entire circuit is\",P,\" W.\"\n",
+ "\n",
+ "#Case (b):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Equivalent Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "P = I**2 * RT #Power dissipated (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power dissipated in the circuit when R2 is shortened is\",P,\" W.\"\n",
+ "\n",
+ "#Case (c):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 #Resistance (in ohm)\n",
+ "I = V / R #Current (in Ampere)\n",
+ "P = I**2 * R #Power dissipated (in watt)\n",
+ "\n",
+ "print \"Power dissipated in the circuit when R3 and R2 is shortened is\",P,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power dissipated in the entire circuit is 6 W.\n",
+ "Power dissipated in the circuit when R2 is shortened is 12 W.\n",
+ "Power dissipated in the circuit when R3 and R2 is shortened is 36 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 , Page Number 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 10.0 #Voltage (in volts)\n",
+ "R1 = 10**6 #Resistance (in ohm)\n",
+ "R2 = 10 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Case (a):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through the circuit is \",I,\" A.\"\n",
+ "\n",
+ "#Case (b):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 #Total Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through circuit when R2 is shortened is \",I,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through the circuit is 9.90099009901e-06 A.\n",
+ "Current through circuit when R2 is shortened is 1e-05 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.10 , Page Number 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IT = 750 #Current (in milli-Ampere)\n",
+ "I1 = 200 #Current (in milli-Ampere)\n",
+ "I3 = 150 #Current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I2 = IT - (I1 + I3) #Current through R2 (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current drawn by R2 branch is \",I2,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current drawn by R2 branch is 400 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.11 , Page Number 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 12.0 #Voltage (in volts)\n",
+ "R1 = 4.0 #Resistance (in ohm)\n",
+ "R2 = 6.0 #Resistance (in ohm)\n",
+ "R3 = 12.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = 1/(1/R1 + 1/R2 + 1/R3) #Equivalent resistance (in ohm) \n",
+ "I1 = V/R1\n",
+ "I2 = V/R2\n",
+ "I3 = V/R3\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Equivalent Resistance is \",Req,\" ohm.\\nThe Current through R1 , R2 , R3 are \",I1,\" A, \",I2,\" A, \",I3,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Equivalent Resistance is 2.0 ohm.\n",
+ "The Current through R1 , R2 , R3 are 3.0 A, 2.0 A, 1.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.12 , Page Number 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = R2 = 10 #Resistances (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = R1*R2 / (R1 + R2) #Equivalent Resistance (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The equivalent resistance is \",Req,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivalent resistance is 5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.13 , Page Number 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 4.0 #Resistance (in ohm)\n",
+ "R2 = 12.0 #Resistance (in ohm)\n",
+ "V = 6.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = R1*R2/(R1 + R2) #Equivalent Resistance (in ohm)\n",
+ "IT = V / Req #Total Current (in Ampere)\n",
+ "I1 = R2 / (R1 + R2) * IT #Current through R1 \n",
+ "I2 = R1 / (R1 + R2) * IT #Current through R2\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through R1 is \",I1,\" A and current through R2 is \",I2,\" A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through R1 is 1.5 A and current through R2 is 0.5 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.14 , Page Number 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PR1 = 1.0/8 #1/8 watt resistor (in watt)\n",
+ "PR2 = 1.0/4 #1/4 watt resistor (in watt)\n",
+ "PR3 = 1.0/2 #1/2 watt resistor (in watt)\n",
+ "RT = 2400.0 #total resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = PR1 + PR2 + PR3 #Total power dissipated (in watt)\n",
+ "I = (PT/RT)**0.5 #Current (in Ampere)\n",
+ "Vs = I * RT #Applied voltage (in volts)\n",
+ "R1 = PR1 / I**2 #R1 resistor (in ohm) \n",
+ "R2 = PR2 / I**2 #R2 resistor (in ohm)\n",
+ "R3 = PR3 / I**2 #R3 resistor (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current in the circuit is \",round(I,3),\" A.\\nApplied Voltage is \",round(Vs,3),\" V.\\nValue of R1 is \",round(R1,3),\" ohm.\\nValue of R2 is \",round(R2,3),\" ohm.\\nValue of R3 is \",round(R3,3),\" ohm.\"\n",
+ "\n",
+ "#Slight variations due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in the circuit is 0.019 A.\n",
+ "Applied Voltage is 45.826 V.\n",
+ "Value of R1 is 342.857 ohm.\n",
+ "Value of R2 is 685.714 ohm.\n",
+ "Value of R3 is 1371.429 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.15 , Page Number 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 6.0 #Applied voltage (in volts)\n",
+ "R0 = 0.2 #Resistance (in ohm) \n",
+ "R1 = 2.0 #Resistance (in ohm)\n",
+ "R2 = 3.0 #Resistance (in ohm)\n",
+ "R3 = 6.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = 1 / (1/R1 + 1/R2 + 1/R3) #Equivalent Resistance (in ohm) \n",
+ "R = R0 + Req #Total Resistance (in ohm)\n",
+ "I = V/R #Current (in Ampere) \n",
+ "V0 = I * R0 #Voltage drop across R0 (in volts)\n",
+ "Veq = V - V0 #Voltage drop across Req (in volts)\n",
+ "I1 = Veq / R1 #Current through R1 (in Ampere)\n",
+ "I2 = Veq / R2 #Current through R2 (in Ampere) \n",
+ "I3 = Veq / R3 #Current through R3 (in Ampere)\n",
+ "P = V * I #Power supplied by the voltage source (in volts)\n",
+ "I0 = V/R0 #Current in case of 'Short' across DE (in Ampere)\n",
+ "P0 = V * I0 #Power dissipated in case of 'Short' (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total Resistance is \",R,\" ohm.\"\n",
+ "print \"Branch Currents :\\nThrough R1 = \",I1,\" A.\\nThrough R2 = \",round(I2,3),\" A.\\nThrough R3 = \",round(I3,3),\" A.\"\n",
+ "print \"Current supplied by voltage source is \",I,\" A.\"\n",
+ "print \"Power supplied by the voltage source is \",P,\" W.\"\n",
+ "print \"Current supplied in case of 'Short' across DE is \",I0,\" A.\"\n",
+ "print \"Power supplied in case of 'Short' acorss DE is \",P0,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total Resistance is 1.2 ohm.\n",
+ "Branch Currents :\n",
+ "Through R1 = 2.5 A.\n",
+ "Through R2 = 1.667 A.\n",
+ "Through R3 = 0.833 A.\n",
+ "Current supplied by voltage source is 5.0 A.\n",
+ "Power supplied by the voltage source is 30.0 W.\n",
+ "Current supplied in case of 'Short' across DE is 30.0 A.\n",
+ "Power supplied in case of 'Short' acorss DE is 180.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_3.ipynb
new file mode 100644
index 00000000..f39edb9d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_3.ipynb
@@ -0,0 +1,614 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:a817a168befae35ccb17b36fd01ad5caaed21c361e584abe602cb8559a070af9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5 , Kirchhoff's Laws and Network Theorems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1 , Page Number 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IT = 20 #Total current (in milli-Ampere)\n",
+ "I2 = 4 #Current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = IT - I2 #Current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of the current I1 is \",I1,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of the current I1 is 16 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2 , Page Number 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 1 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Applying Kirchoff's voltage law:\n",
+ "#(1 *3) + (1 * R) + (1 * 4) - 12 =0\n",
+ "\n",
+ "R = 5 #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of R is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R is 5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3 , Page Number 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vs = 100 #Source Voltage (in volts)\n",
+ "I = 5 #Current entering the circuit (in Ampere)\n",
+ "IL = 5 #Current leaving the circuit (in Ampere)\n",
+ "R15 = 15 #Resistor of 15 ohm (in ohm)\n",
+ "V15 = 30 #Voltage across 15 ohm resistor (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = V15 / R15 #Current through 15 ohm resistor (in Ampere)\n",
+ "IA = I + I1 #Current entering junction A (in Ampere)\n",
+ "#Applying Kirchoff's current law\n",
+ "I2 = I + I1 #Current through 5 ohm resistor (in Ampere)\n",
+ "IB = I2 #Current entering juction B (in Ampere)\n",
+ "IR = IA - IL #Current through R (in Ampere)\n",
+ "#Applying Kirchoff's voltage law\n",
+ "#(7 * 5) + (2 *R) - 100 + 30 =0\n",
+ "R = 35.0/2\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R is 17.5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4 , Page Number 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 25 #Source voltage (in volts)\n",
+ "RB = 99 #Resistance (in kilo-ohm)\n",
+ "RC = 2 #Resistance (in kilo-ohm)\n",
+ "RE = 1 #Resistance (in kilo-ohm)\n",
+ "VCE = 5 #Voltage across C and E (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Applying Kirchoff's Voltage law:\n",
+ "#IB*RB + VBE + IE*RE -V = 0\n",
+ "#IB*RB + VBE + (IB + IC)*RE - VCC = 0\n",
+ "#100*IB + IC = 24\n",
+ "#IB + 3*IC = 20\n",
+ "IC = 1976.0/299\n",
+ "IB = 20 - (3 * 6.61)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of IB is \",round(IB,3),\" mA.\\nValue of IC is \",round(IC,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of IB is 0.17 mA.\n",
+ "Value of IC is 6.609 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5 , Page Number 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS1 = 5 #Voltage source 1 (in volts)\n",
+ "VS2 = 3 #Voltage source 2 (in volts)\n",
+ "V6 = 0 #Voltage drop across 6 ohm resistor when AB is open (in volts)\n",
+ "R1 = 6 #Resistor (in ohm)\n",
+ "R2 = 4 #Resistor (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = 5.0/4 #Current through 4 ohm resistor (in Ampere)\n",
+ "V = I * R2 #Voltage drop across 4 ohm Resistor (in volts)\n",
+ "VOC = VS2 + V6 + V #Open circuit voltage (in volts)\n",
+ "Rth = R1\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Thevenin's equivalent Voltage is \",VOC,\" V.\\nThevenin's equivalent resistance is \",Rth,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thevenin's equivalent Voltage is 8.0 V.\n",
+ "Thevenin's equivalent resistance is 6 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6 , Page Number 78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 25.0 #Source voltage (in volts)\n",
+ "R1 = 100.0 #Resistance (in ohm)\n",
+ "R2 = 75.0 #Resistance (in ohm)\n",
+ "R3 = 50.0 #Resistance (in ohm)\n",
+ "R4 = 25.0 #Resistance (in ohm)\n",
+ "RL = 250.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = V / (R1 + R2 + R3) #Series curren (in Ampere)\n",
+ "VR2 = I * R2 #Voltage drop across R2\n",
+ "VOC = VR2 #Open circuit voltage (in volts)\n",
+ "Vth = VOC #Thevenin's equivalent voltage (in volts)\n",
+ "Rth = R4 + R2*(R1 + R3)/(R1 + R2 + R3) #Thevenin's equivalent resistance (in ohm)\n",
+ "IL = Vth/(Rth + RL)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Thevenin's equivalent voltage is \",round(Vth,3),\" V. and resistance in \",Rth,\" ohm.\"\n",
+ "print \"Current through load resistance is \",round(IL,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thevenin's equivalent voltage is 8.333 V. and resistance in 75.0 ohm.\n",
+ "Current through load resistance is 0.026 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7 , Page Number 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 1.0 #Resistance (in kilo-ohm)\n",
+ "R3 = 2.0 #Resistance (in kilo-ohm)\n",
+ "I = 0.1 #Current source (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Using Thevenin's theorem : \n",
+ "\n",
+ "I2 = I * R1 / (R1 + (R2 +R3)) #Current through brach ECD (in Ampere)\n",
+ "VR3 = I2 * R3* 10 **3 #Voltage drop across R3 (in volts)\n",
+ "Vth = VR3 #Thevenin's Voltage\n",
+ "Rth = R3 * (R1 + R2)/(R1 + R2 + R3)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Thevenin's voltage is \",Vth,\" V.\\nThevenin's Resistance is \",Rth,\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thevenin's voltage is 80.0 V.\n",
+ "Thevenin's Resistance is 1.2 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8 , Page Number 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 0.6 #Resistance (in ohm)\n",
+ "R2 = 0.6 #Resistance (in ohm)\n",
+ "R3 = 0.8 #Resistance (in ohm)\n",
+ "R4 = 0.8 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Rth = R3 + R4*(R1 + R2)/(R4 + (R1 +R2)) #Thevenin's resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of Rth is \",Rth,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rth is 1.28 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9 , Page Number 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 12.0 #Voltage (in volts)\n",
+ "R1 = 3.0 #Resistance (in ohm)\n",
+ "R2 = 9.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Using Norton's Theorem\n",
+ "\n",
+ "Isc = V / R1 #Short circuit current (in Ampere)\n",
+ "IN = Isc #Norton's Current (in Ampere)\n",
+ "RN = R1 * R2 / (R1 + R2) #Norton's resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Norton's Current is \",IN,\" A.\\nNorton's Resistance is \",RN,\" ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Norton's Current is 4.0 A.\n",
+ "Norton's Resistance is 2.25 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.10 , Page Number 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 15.0 #Voltage 15 volt battery (in volts)\n",
+ "R1 = 6.0 #Resistance (in ohm)\n",
+ "R2 = 3.0 #Resistance (in ohm)\n",
+ "R3 = 3.0 #Resistance (in ohm)\n",
+ "V0 = 30.0 #Voltage 30 volt battery (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R4 = R2 * R3 / (R2 + R3) #R4 = R2 || R3 (in ohm)\n",
+ "V1 = R4 / (R1 + R4) * V #Voltage drop across R4 (in volts)\n",
+ "R5 = R1 * R3 / (R1 + R3) #R5 = R1 || R3 (in ohm)\n",
+ "V2 = R5 / (R2 + R5) * V0 #Voltage drop across R5 (in volts)\n",
+ "I = V/R3\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"In case 1: Voltage drop across R3 is \",V1,\" V.\\nIn case 2: Voltage drop across R3 is \",V2,\" V.\\nThe current through R3 is \",I,\" A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In case 1: Voltage drop across R3 is 3.0 V.\n",
+ "In case 2: Voltage drop across R3 is 12.0 V.\n",
+ "The current through R3 is 5.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.11 , Page Number 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vth = 100 #Thevenin Voltage (in micro-volts)\n",
+ "Rth = 50 #Thevenin Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = Rth #Maximum Load Resistance (in ohm)\n",
+ "PL = (Vth/(Rth + RL))**2 *RL #Maximum load power (in pico-watt)\n",
+ "\n",
+ "#Result\n",
+ "print \"Maximum load resistance is \",RL,\" ohm.\\nMaximum load power is \",PL,\" pW.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum load resistance is 50 ohm.\n",
+ "Maximum load power is 50 pW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.12 , Page Number 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VTH = 20.0 * 10**-3 #Thevenin's Voltage (in volts)\n",
+ "RTH = 300.0 #Thevenin's Resistance (in ohm) \n",
+ "RL = 300.0 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PL = (VTH/(RTH + RL))**2 * RL #Power across load resistance (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of power transmitted to the receiver is \",round(PL*10**6,2),\" micro-watt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of power transmitted to the receiver is 0.33 micro-watt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.13 , Page Number 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 5.0 #resistance (in ohm)\n",
+ "R2 = 2.0 #resistance (in ohm)\n",
+ "R3 = 3.0 #resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = R2 * R3 / (R2 + R3) #Equivalent resistance (in ohm)\n",
+ "RL = R1 + Req\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load resistance is \",RL,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load resistance is 6.2 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_2.ipynb
new file mode 100644
index 00000000..6813a88d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_2.ipynb
@@ -0,0 +1,224 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:69b48b36a61396f28ecb80f184056a30de94e22bf70a39e3b66b811b10039140"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6 , A.C. Fundamentals"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1 , Page Number 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "t = 1.0 #time (in milliseconds)\n",
+ "n = 10.0 #number of cycles\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = t/n #Time period (in milliseconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period by one cycle is \",T,\" ms.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time period by one cycle is 0.1 ms.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2 , Page Number 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "t = 0.01 #Time period of positive half cycle (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t1 = 0.01 #Time period of negative half cycle (in seconds)\n",
+ "T = t + t1 #Time period of one complete cycle (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \" Time period of rectified input is \",T,\" s.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Time period of rectified input is 0.02 s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3 , Page Number 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 5.0 #number of cycles\n",
+ "t = 10.0 #time period (in micro-seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = n / t #frequency (in Mega-hertz)\n",
+ "T = 1/f #Time period (in micro-seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency and Time period of the sine wave is \",f,\" MHz and \",T,\" micro-seconds.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency and Time period of the sine wave is 0.5 MHz and 2.0 micro-seconds.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4 , Page Number 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 69.0 #frequency (in Mega-hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in micro-seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period is \",round(T * 10**3,2), \" ns.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time period is 14.49 ns.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5 , Page Number 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vmax = 20.0 #Voltage (in milli-volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vrms = 0.707 * Vmax #Rms Voltage (in milli-volts)\n",
+ "Vdc = 0.637 * Vmax #Average value of signal (in milli-volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"RMS value is \",Vrms,\" mV.\\nAverage value is \",Vdc,\" mV.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS value is 14.14 mV.\n",
+ "Average value is 12.74 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_3.ipynb
new file mode 100644
index 00000000..7ce6b4d7
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_3.ipynb
@@ -0,0 +1,232 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8b9ceddb3b2adb5742dd1317566761cdfe116bbf966972fcb1710e301f43f106"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7 , Passive Circuit Elements"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4 , Page Number 121"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "N = 150.0 #Number of turns\n",
+ "mur = 3540.0 #Relative permeability (in H/m)\n",
+ "mu0 = 4*math.pi * 10 **-7 #Absoulte permeability (in H/m)\n",
+ "l = 0.05 #coil length (in meter)\n",
+ "A = 5 * 10**-4 #Area of cross - section (in metersquare)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = (mur * mu0 * A * N**2)/l #Coil inductance (in Henry)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The coil inductance is \",round(L,2),\" Henry.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The coil inductance is 1.0 Henry.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5 , Page Number 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L1 = 40.0 #Inductance (in micro-Henry)\n",
+ "L2 = 80.0 #Inductance (in micro-Henry)\n",
+ "M = 11.3 #Mutual Inductance (in micro-Henry)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "k = M/(L1 * L2)**0.5 #Coefficient of Coupling \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Coefficient of coupling is \",round(k,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of coupling is 0.2 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6 , Page Number 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Q = 90.0 #Q-factor\n",
+ "L = 15.0 * 10**-6 #Inductance (in Henry)\n",
+ "f = 10.0 * 10**6 #Frequency (in Hertz) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ro = 2*math.pi*f*L/Q #d.c. resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"d.c. resistance of coil is \",round(Ro,1),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "d.c. resistance of coil is 10.5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7 , Page Number 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "k = 5.0 #dielectric constant\n",
+ "A = 0.04 #Plate area (in meter-square)\n",
+ "d = 0.02 #Thickness of dielectric(in meter) \n",
+ "eps0 = 8.85 * 10**-12 #Absolute permittivity (in kg*m**3*s**-3*A**-2)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = eps0 * k * A / d #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance of parallel plate capacitor is \",C * 10**12,\"pF.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance of parallel plate capacitor is 88.5 pF.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.8 , Page Number 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "k = 1200.0 #dielectric constant\n",
+ "A = 0.2 #Plate area (in meter-square)\n",
+ "eps0 = 8.85 * 10**-12 #Absolute permittivity (in kg*m**3*s**-3*A**-2)\n",
+ "C = 0.428 #Capacitance (in micro-farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "d = eps0 * k * A / C #thickness of dielectric (in meter)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Thickness of dielectric is \",round(d * 10**9,2),\" mm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thickness of dielectric is 4.96 mm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_2.ipynb
new file mode 100644
index 00000000..5fa6ffa7
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_2.ipynb
@@ -0,0 +1,430 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:df20b687327eb5de3142132bf5d03052042219b0928fedb0b3e836d35edbbea8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9 , Voltage and Current Sources"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1 , Page Number 158"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 1.5 #Source Voltage (in volts)\n",
+ "RS = 0.2 #Resistance (in ohm)\n",
+ "RL = 1 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "VAB = I * RL #Voltage drop across AB (in volts)\n",
+ "VR = V - VAB #Voltage drop due to internal resistance (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across internal resistance is \",VR,\" volts.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage drop across internal resistance is 0.25 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2 , Page Number 159"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 1.5 #Source Voltage (in volts)\n",
+ "RS = 0.4 #Resistance (in ohm)\n",
+ "RL = 2.0 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS/ RT #Current (in Ampere)\n",
+ "VT = I * RL #Terminal Voltage (in volts)\n",
+ "PL = I**2 * RL #Power dissipated by load resistance (in watt)\n",
+ "PS = I**2 * RT #Power Supplied by the voltage source (in watt)\n",
+ "eff = PL / PS #Efficiency of the circuit\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal Voltage is \",VT,\" V.\\nPower dissipated by 2 ohm resistor is \",round(PL,2),\" W.\\nEfficiency of the circuit is \",round(eff,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal Voltage is 1.25 V.\n",
+ "Power dissipated by 2 ohm resistor is 0.78 W.\n",
+ "Efficiency of the circuit is 0.83 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3 , Page Number 160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case a.1:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6.0 #Source Voltage (in volts)\n",
+ "RS = 2.0 #Resistance (in ohm)\n",
+ "#When RL is 2 ohm\n",
+ "RL = 2.0 #Load Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the Circuit (in Ampere)\n",
+ "VT1 = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 2 ohm : \",VT1,\" V.\"\n",
+ "\n",
+ "#Case a.2:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#When RL is 20 ohm\n",
+ "RL = 20.0 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the Circuit (in Ampere)\n",
+ "VT2 = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 20 ohm : \",round(VT,2),\" V.\"\n",
+ "print \"Variation in terminal voltage is \",(VT2-VT1)/VT2,\" V.\"\n",
+ "\n",
+ "#Case b.1:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RS = 100.0 #Resistance (in ohm)\n",
+ "#When RL is 10 kilo-ohm\n",
+ "RL = 10.0 * 10**3 #Load Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the circuit (in Ampere)\n",
+ "VT = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 100 kilo-ohm is: \",round(VT,2),\" V.\"\n",
+ "\n",
+ "#Case b.2:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#When RL is 100 kilo-ohm\n",
+ "RL = 100.0 * 10**3 #Load Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the circuit (in Ampere)\n",
+ "VT1 = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 100 kilo-ohm is :\",round(VT1,3),\" V.\"\n",
+ "print \"Variation in terminal voltage is \",round((VT1-VT)/VT1,3),\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal voltage when RL is 2 ohm : 3.0 V.\n",
+ "Terminal voltage when RL is 20 ohm : 1.25 V.\n",
+ "Variation in terminal voltage is 0.45 V.\n",
+ "Terminal voltage when RL is 100 kilo-ohm is: 5.94 V.\n",
+ "Terminal voltage when RL is 100 kilo-ohm is : 5.994 V.\n",
+ "Variation in terminal voltage is 0.009 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4 , Page Number 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12.0 #Source Voltage (in volts)\n",
+ "VT = 10.0 #Terminal Voltage (in volts)\n",
+ "RL = 10.0 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RS = RL*(VS / VT - 1) #Internal Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The internal resistance of the source is \",RS,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The internal resistance of the source is 2.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5 , Page Number 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IS = 30.0 #Current (in milli-Ampere)\n",
+ "RS = 15.0 #Source resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = RS / 20.0 #Load Resistance (in kilo-ohm) \n",
+ "IL = IS * RS/(RL +RS) #Load Current (in Ampere)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Largest value of load resistance to provide constant current is \",RL*10**3,\" ohm.\"\n",
+ "print \"Variation of current from the short-cicuit current is \",round((IS-IL)/IS,4),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Largest value of load resistance to provide constant current is 750.0 ohm.\n",
+ "Variation of current from the short-cicuit current is 0.0476 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6 , Page Number 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12.0 #Source Voltage (in volts)\n",
+ "RS = 3.0 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IS = VS / RS #Source current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current source value is \",IS,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current source value is 4.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.7 , Page Number 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IS = 5.0 #Source current (in milli-Ampere)\n",
+ "RS = 2.0 #Source resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = IS * RS #Voltage source (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Equivalent voltage source is \",VS,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent voltage source is 10.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8 , Page Number 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IS =1.5 #Source current (in milli-Ampere)\n",
+ "RS = 2 #Source resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = 10*40/(10+40) #Load Reistance (in kilo-ohm)\n",
+ "IL = IS * RS/(RL +RS) #Load current (in milli-Ampere)\n",
+ "IL2 = IL * 10/(10 +40) #Current through part 2 (in milli-Ampere)\n",
+ "VS = IS * RS #Souce voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"current through 40 kilo-ohm resistor is \",IL2,\" mA.\"\n",
+ "print \"Equivalent volage source is \",VS,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current through 40 kilo-ohm resistor is 0.06 mA.\n",
+ "Equivalent volage source is 3.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_3.ipynb
new file mode 100644
index 00000000..3867129e
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_3.ipynb
@@ -0,0 +1,1026 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:14854f0f2c20034037bfa5a3449dea2addd83d4eed6b29f5eda0eb459f0c6332"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 , Semiconductors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1 , Page Number 183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 1000.0 #Resistance (in ohm)\n",
+ "sig = 5.8 * 10**7 #Conductivity in (Siemen per meter)\n",
+ "d = 10**-3 #diameter (in meter)\n",
+ "E = 10 * 10**-3 #Eletric field (in Volt per meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "l = R *sig * math.pi * d**2 /4 #length (in meter)\n",
+ "J = sig * E #Current density (in Ampere per metersquare)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Length of wire is \",round(l/1000,2),\" km.\\nCurrent desity is \",J,\" A/(m*m).\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of wire is 45.55 km.\n",
+ "Current desity is 580000.0 A/(m*m).\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2 , Page Number 184"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "d = 2* 10**-3 #diameter (in meter)\n",
+ "sig = 5.8 * 10**7 #conductivity (in siemen per meter)\n",
+ "mu = 0.0032 #mobilty (in metersquare per volt-second)\n",
+ "E = 20 * 10**-3 #Electric field (in Volt per meter)\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = sig / (q * mu) #charge density (in cubic-meter) \n",
+ "J = sig * E #Charge density (in Ampere per square-meter)\n",
+ "A = math.pi * d**2 / 4 #Cross section of wire (in square-meter)\n",
+ "I = J * A #Current (in Ampere)\n",
+ "v = mu * E #Drift velocity (in meter per second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Charge density of free electrons is \",round(n,3),\" m**-3.\\nThe current density is \",J,\" A/m**3.\\nCurrent flowing in the wire is \",round(I,3),\" A.\\nElectron drift velocity is \",v,\" m/s.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Charge density of free electrons is 1.1328125e+29 m**-3.\n",
+ "The current density is 1160000.0 A/m**3.\n",
+ "Current flowing in the wire is 3.644 A.\n",
+ "Electron drift velocity is 6.4e-05 m/s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3 , Page Number 185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 5.8 * 10**28 #number of free electrons (in per cubic-meter)\n",
+ "p = 1.54 * 10**-8 #resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #charge (in Coulomb)\n",
+ "m = 9.1 * 10**-31 #mass of electron (in kg)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #conductivity (in siemen per meter)\n",
+ "mu = sig /(q * n) #mobility (in meter-square/volt-second)\n",
+ "t = mu * m / q #time (in second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Mobility of electrons is \",round(mu,6),\" m**2/V-s.\\nRelaxation time is \",round(t*10**12,6),\" ps.\"\n",
+ "\n",
+ "#Calculation error in book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mobility of electrons is 0.006997 m**2/V-s.\n",
+ "Relaxation time is 0.039797 ps.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4 , Page Number 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 0.38 #mobility of electrons in germanium (in meter-square/volt-second)\n",
+ "up = 0.18 #mobility of holes in germanium (in meter-square/volt-second)\n",
+ "ni = n = p = 2.5 * 10**19 #mobile ions for germanium (in per cubic-meter)\n",
+ "un1 = 0.13 #mobility of electrons in germanium (in meter-square/volt-second)\n",
+ "up1 = 0.05 #mobility of holes in germanium (in meter-square/volt-second)\n",
+ "ni1 = n1 = p1 = 1.5 * 10**16 #mobile ions for germanium (in per cubic-meter)\n",
+ "q = 1.6 * 10**-19 #charge of electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#for germanium:\n",
+ "\n",
+ "sig = q * ni * (un + up) #Conductivity of germanium (in siemen per metre)\n",
+ "sig1 = q * ni1 * (un1 + up1) #Conductivity of silicon (in siemen per metre)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic conductivity of germanium is \",sig,\" S/m and of silicon is \",sig1,\" S/m.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic conductivity of germanium is 2.24 S/m and of silicon is 0.000432 S/m.\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.5 , Page Number 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ni = 1.41 * 10**16 #intrinsic concentration (in per cubic-metre) \n",
+ "un = 0.145 #mobility of electrons in germanium (in metre-square/volt-second)\n",
+ "up = 0.05 #mobility of holes in germanium (in metre-square/volt-second)\n",
+ "q = 1.6 * 10**-19 #charge of electron (in Coulomb)\n",
+ " \n",
+ "#Calculation\n",
+ "\n",
+ "sig = q * ni * (un + up) #Conductivity of germanium (in siemen per metre)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic conductivity of silicon is \",sig,\" S/m.\"\n",
+ "print \"Contribution by electron is \",q*ni*un,\" S/m.\"\n",
+ "print \"Contribution by electron is \",q*ni*up,\" S/m.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic conductivity of silicon is 0.00043992 S/m.\n",
+ "Contribution by electron is 0.00032712 S/m.\n",
+ "Contribution by electron is 0.0001128 S/m.\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.6 , Page Number 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "l = 0.2 * 10**-3 #length (in meter)\n",
+ "A = 0.04 * 10**-6 #Area of cross section (in square-meter)\n",
+ "V = 1 #Voltage (in volts)\n",
+ "I = 8 * 10**-3 #current (in Ampere)\n",
+ "un = 0.13 #mobility of electron (in m**2 per volt-second)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ "p = R * A/l #Resistivity (in ohm-meter)\n",
+ "sig = 1/p #Conductivity (in siemen per meter)\n",
+ "n = sig / (q * un) #concentration (in per cubic-meter) \n",
+ "J = I/A #current density (in Ampere per square-meter)\n",
+ "v = J/(n*q)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Concentration of free electrons is \",round(n,3),\" m**-3.\\nDrift velocity is \",v,\" m/s.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Concentration of free electrons is 1.92307692308e+21 m**-3.\n",
+ "Drift velocity is 650.0 m/s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.7 , Page Number 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 0.47 #Resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "un = 0.39 #mobility of electron in germanium (in m**2 per volt-second)\n",
+ "up = 0.19 #mobility of hole in germanium (in m**2 per volt-second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in siemen per meter)\n",
+ "ni = sig / (q *(un +up)) #intrinsic concentration (in per cubic-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic concentration is \",ni,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic concentration is 2.29273661042e+19 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.8 , Page Number 190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ND = 10**21 #Donor concentration (in per cubic-meter)\n",
+ "NA = 5 * 10**20 #Acceptor concentration (in per cubic-meter)\n",
+ "un = 0.18 #mobility of electron in silicon (in m**2 per volt-second)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ND -NA #net donor density (in per cubic-meter)\n",
+ "sig = n * q * un #Conductivity (in Siemen per meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Conductivity of silicon is \",sig,\" (ohm-meter)**-1.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conductivity of silicon is 14.4 (ohm-meter)**-1.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.9 , Page Number 190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 100.0 #resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #Charge on a electron (in Coulomb)\n",
+ "un = 0.36 #donor concentration (in per cubic-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #conductivity (in siemen per meter)\n",
+ "n = sig /(q * un) #intrinsic concentration (in per cubic-meter)\n",
+ "ND = n #Donor concentration (in per cubic-meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Donor concentration is \",ND,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Donor concentration is 1.73611111111e+17 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10 , Page Number 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ND = 2 * 10**14 #Donor atom concentration (in atoms per cubic-centimeter)\n",
+ "NA = 3 * 10**14 #Acceptor atom concentration (in atoms per cubic-centimeter)\n",
+ "ni = 2.3 * 10**19 #intrinsic concentration (in atoms per cubic-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ni**2 / NA #concentration of electrons (in electrons per cubic-centimeter)\n",
+ "p = ni**2 / ND #concentration of holes (in holes per cubic-centimeter)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Electron concentration is \",n,\" electrons/cm**3.\\nHole concentration is \",p,\" holes/cm**3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron concentration is 1.76333333333e+24 electrons/cm**3.\n",
+ "Hole concentration is 2.645e+24 holes/cm**3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.11 , Page Number 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ND = 5 * 10**8 #Donor atom concentration (in atoms per cubic-centimeter)\n",
+ "NA = 6 * 10**16 #Acceptor atom concentration (in atoms per cubic-centimeter)\n",
+ "ni = 1.5 * 10**10 #intrinsic concentration (in atoms per cubic-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ni**2/NA #number of electrons (in per cubic-centimeter)\n",
+ "p = ni**2/ND #number of holes (in per cubic-centimeter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Density of electrons is \",n,\" cm**-3.\\nDensity of holes is \",p,\" cm**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Density of electrons is 3750.0 cm**-3.\n",
+ "Density of holes is 4.5e+11 cm**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.12 , Page Number 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "d = 0.001 #diameter (in meter)\n",
+ "ND = 10**20 #Number of phosphorus ions (in per cubic-meter)\n",
+ "R = 1000 #Resistance (in ohm)\n",
+ "un = 0.1 #mobility (in meter-square per volt-second)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ND #Number of free electron (in per cubic-meter)\n",
+ "sig = q*n*un #conductivity (in Siemen per meter)\n",
+ "A = math.pi * d**2 / 4 #Area of cross section (in meter-square)\n",
+ "l = R * sig * A #length (in meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Length of the silicon would be \",round(l*1000,3),\" mm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of the silicon would be 1.257 mm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.13 , Page Number 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb) \n",
+ "sig = 100.0 #Conductivity of Ge (in per ohm-centimeter)\n",
+ "sig1 = 0.1 #Conductivity of Si (in per ohm-centimeter)\n",
+ "ni = 1.5 * 10**10 #intrinsic conductivity for Si (in per cubic-centimeter)\n",
+ "un = 3800.0 #mobility of electrons for Ge (in square-centimetermeter per volt-second)\n",
+ "up = 1800.0 #mobility of holes for Ge (in square-centimeter per volt-second)\n",
+ "un1 = 1300.0 #mobility of electrons for Si (in square-centimetermeter per volt-second)\n",
+ "up1 = 500.0 #mobility of holes for Si (in square-centimeter per volt-second)\n",
+ "ni1 = 2.5 * 10**13 #intrinsic concentration for Ge (in per cubic-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "p = sig / (q * up) #Concentration of p-type germanium (in cubic-centimeter)\n",
+ "n = ni1**2 / p #Concentration of electrons in germanium (in cubic-centimeter)\n",
+ "n1 = sig1 / (q * un1) #Concentration of N-type silicon (in cubic-centimeter)\n",
+ "p1 = ni**2 / n1 #Concentration of holes in silicon (in cubic-centimere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"For p-type germanium, hole concentration is \",p,\"/cm**3.\\nFor p-type germanium, electron concentration is \",n,\"/cm**3.\"\n",
+ "print \"For n-type silicon, hole concentration is \",p1,\"/cm**3.\\nFor n-type silicon, electron concentration is \",n1,\"/cm**3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For p-type germanium, hole concentration is 3.47222222222e+17 /cm**3.\n",
+ "For p-type germanium, electron concentration is 1800000000.0 /cm**3.\n",
+ "For n-type silicon, hole concentration is 468000.0 /cm**3.\n",
+ "For n-type silicon, electron concentration is 4.80769230769e+14 /cm**3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.14 , Page Number 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 3800 #mobility of electrons (in centimeter-square per volt-second)\n",
+ "up = 1800 #mobility of holes (in centimeter-square per volt-second)\n",
+ "ni = 2.5 * 10**13 #intrinsic concentration (in per cubic-centimeter)\n",
+ "Nge = 4.41 * 10**22 #concentration of germanium (in per cubic-centimeter)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ND = Nge/10**8 #Number of donor atoms (in per cubic-centimeter)\n",
+ "p = p = ni**2/ND #Number of holes (in per cubic-centimeter)\n",
+ "sig = q * ND * un #Conductivity of n-type germanium (in per ohm-centimeter)\n",
+ "p = 1/sig #resistivity (in ohm-centimeter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"resistivity of the germanium sample is \",round(p,3),\" ohm-cm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "resistivity of the germanium sample is 3.73 ohm-cm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.15 , Page Number 194"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 1350 #mobility of electrons (in centimeter-square per volt-second)\n",
+ "up = 480 #mobility of holes (in centimeter-square per volt-second)\n",
+ "ni = 1.52 * 10**10 #intrinsic concentration (in per cubic-centimeter)\n",
+ "Nsi = 4.96 * 10**22 #concentration of silicon (in per cubic-centimeter)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sigi = q * ni * (un + up) #conductivity of intrinsic silicon (in per ohm-centimeter)\n",
+ "p = 1/sig #resitivity (in ohm-centimeter)\n",
+ "ND = Nsi/(50 * 10**6) #Number of donor atoms (per cubic-centimeter)\n",
+ "n = ND #NUmber of free electrons (in per cubic-centimeter)\n",
+ "p = ni**2/n #number of holes (in per cubic-centimeter)\n",
+ "sig = q * n * un #conductivity of doped silicon (in per ohm-centimeter)\n",
+ "p = 1/sig #resistivity (in ohm-centimeter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistivity of doped silicon is \",round(p,2),\" ohm-cm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistivity of doped silicon is 4.67 ohm-cm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.16 , Page Number 196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variables\n",
+ "\n",
+ "up = 0.048 #hole mobility (in meter-square per volt-second)\n",
+ "un = 0.135 #electron mobility (in meter-square per volt-second)\n",
+ "q = 1.602 * 10**-19 #charge on electron (in Coulomb)\n",
+ "Nsi1 = 5 * 10**28 #concentration of intrinsic silicon (in atoms per cubic-meter)\n",
+ "ni = 1.5 * 10**16 #number of electron-hole pairs (per cubic-meter)\n",
+ "alpha = 0.05 #temperature coefficient (in per degree Celsius)\n",
+ "dT = 14 #change in temperature (in degree celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig1 = q * ni * (un + up) #conductivity of intrinsic silicon (in per ohm-meter)\n",
+ "NA = Nsi1/10**7 #Number of indium atoms (in per cubic-meter)\n",
+ "p = NA #Number of holes (in per cubic meter)\n",
+ "n = ni**2/p #Number of free electrons (in per cubic-meter)\n",
+ "sig2 = q * p * up #Conductivity of doped silicon (in per ohm-meter)\n",
+ "sig34 = sig1*(1 + alpha * dT) #Conductivity at 34 degree Celsius (in per ohm-meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Conductivity of intrinsic silicon is \",round(sig1,5),\" per ohm-meter.\\nConductivity of doped Silicon is \",round(sig2,2),\" per ohm-meter.\\nConductivity of silicon at 34 degree Celsius is \",round(sig34,5),\" per ohm-meter.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conductivity of intrinsic silicon is 0.00044 per ohm-meter.\n",
+ "Conductivity of doped Silicon is 38.45 per ohm-meter.\n",
+ "Conductivity of silicon at 34 degree Celsius is 0.00075 per ohm-meter.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.17 , Page Number 199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 3600.0 * 10**-4 #mobility of electrons (in meter-square per volt-second)\n",
+ "up = 1700.0 * 10**-4 #mobility of holes (in meter-square per volt-second)\n",
+ "k = 1.38 * 10**23 #Boltzmann constant\n",
+ "T = 300.0 #Temperature (in kelvin)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Voltage (in volts)\n",
+ "Dp = up * VT #Coefficient of holes (in meter-square per second)\n",
+ "Dn = un * VT #Coefficient of electrons (in meter-square per second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Coefficient of holes is \",round(Dp,6),\" m**2/s.\\nCoefficient of electrons is \",round(Dn,4),\" m**2/s.\"\n",
+ "#un and up in book should be in (cm**2/V-sec)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of holes is 0.004397 m**2/s.\n",
+ "Coefficient of electrons is 0.0093 m**2/s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.18 , Page Number 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RH = 160 #Hall coeffficient (in cubic-centimeter per Coulomb)\n",
+ "p = 0.16 #Resistivity (in ohm-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-centimeter)\n",
+ "un = sig * RH #Electron mobility (in cmentimeter-square per volt-second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Electron mobility is \",un,\" cm**2/V-s.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron mobility is 1000.0 cm**2/V-s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.19 , Page Number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 50 #Current (in Ampere)\n",
+ "B = 1.2 #Magnetic field (in Weber per meter-square)\n",
+ "t = 0.5 * 10**-3 #thickness (in meter)\n",
+ "VH = 100 #Hall coltage (in volts)\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = B * I / (VH * q * t) #number of conduction electrons (in per cubic-meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Number of conduction electrons is \",n,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of conduction electrons is 7.5e+21 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.20 , Page Number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 20 * 10**-2 #Resistivity (in ohm-meter)\n",
+ "u = 100 * 10**-4 #mobility (in meter-square per volt-second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-meter)\n",
+ "n = sig / (q * u) #number of electron carriers (in per cubic-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Number of electron carriers is \",round(n,1),\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of electron carriers is 3.125e+21 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.21 , Page Number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RH = 3.66 *10**-4 #Hall coefficient (in cubic-meter per Coulomb)\n",
+ "p = 8.93 * 10 **-3 #Resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-meter)\n",
+ "u = sig * RH #mobility (in meter-square per volt-second)\n",
+ "n = 1 / (RH * q) #Density of charge carriers (in per cubic-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Mobility of charge carriers is \",round(u,3),\" m**2/V-s.\\nDensity of charge carriers is \",n,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mobility of charge carriers is 0.041 m**2/V-s.\n",
+ "Density of charge carriers is 1.70765027322e+22 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.22 , Page Number 204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 9 * 10**-3 #Resistivity (in ohm-meter)\n",
+ "up = 0.03 #Mobility (in meter-square per volt-second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-meter)\n",
+ "RH = up / sig #Hall coefficient (in cubic-meter per Coulomb) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of Hall-coefficient is \",RH,\" m**3/C.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Hall-coefficient is 0.00027 m**3/C.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_3.ipynb
new file mode 100644
index 00000000..7c463992
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_3.ipynb
@@ -0,0 +1,715 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 , PN Junction Diode"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.1 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current throrough diode is 10.72 micro-Ampere.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I0 = 2 * 10**-7 #Current (in Ampere)\n",
+ "VF = 0.1 #Forward voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = I0 * (math.exp(40*VF)-1) #Current through diode (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current throrough diode is \",round(I*10**6,2),\" micro-Ampere.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.2 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diode current is 5.2 A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VF = 0.22 #Forward voltage (in volts)\n",
+ "T = 298.0 #Temperature (in kelvin)\n",
+ "I0 = 10**-3 #Current (in Ampere)\n",
+ "n = 1\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Volt equivalent of temperature (in volts)\n",
+ "I = I0*(exp(VF/(n*VT))-1) #Diode Current (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Diode current is \",round(I,1),\" A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.3 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of n is 1.18 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I1 = 0.5 * 10**-3 #Diode current1 (in Ampere)\n",
+ "V1 = 340 * 10**-3 #Voltage1 (in volts)\n",
+ "I2 = 15 * 10**-3 #Diode current2 (in Ampere)\n",
+ "V2 = 440 * 10**-3 #Voltage2 (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = 4/math.log(30) #By solving both the given equations\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of n is \",round(n,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.4 , Page Number 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current at 400 k is 10.2 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I300 = 10 * 10**-6 #Current at 300 kelvin (in Ampere)\n",
+ "T1 = 300 #Temperature (in kelvin)\n",
+ "T2 = 400 #Temperature (in kelvin)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I400 = I300 * 2**((T2-T1)/10) #Current at 400 kelvin (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current at 400 k is \",round(I400*10**3,1),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.5 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage drop across a silicon diode is 0.624 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rb = 2 #bulk resistance (in ohm)\n",
+ "IF = 12 * 10**-3 #FOrward current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VF = 0.6 + IF * rb #Voltage drop (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across a silicon diode is \",VF,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.6 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Dynamic resistance in forward direction is 3.36 ohm.\n",
+ "Dynamic resistance in backward direction is 0.389 Mega-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T = 398.0 #Temperature (in kelvin)\n",
+ "I0 = 30 * 10**-6 #Reverse saturation current (in Ampere)\n",
+ "V = 0.2 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Volt equivalent of temperature (in volts)\n",
+ "I = I0 * (math.exp(V/VT)-1) #Diode current (in Ampere)\n",
+ "rac = VT/I0 * math.exp(-V/VT) #dynamic resistance in forward direction (in ohm)\n",
+ "rac1 = VT/I0 * math.exp(V/VT) #dynamic resistance in reverse direction (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Dynamic resistance in forward direction is \",round(rac,2),\" ohm.\\nDynamic resistance in backward direction is \",round(rac1/10**6,3),\" Mega-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.8 , Page Number 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum forward current is 0.5 A.\n",
+ "Breakdwon current that burns out the diode is 3.33 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PDmax = 0.5 #power dissipation (in watt)\n",
+ "VF = 1 #Forward voltage (in volts)\n",
+ "VBR = 150 #Breakdown voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IFmax = PDmax/VF #Maximum forward current (in Ampere)\n",
+ "IR = PDmax/VBR #Breakdwon current that burns out the diode (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum forward current is \",IFmax,\" A.\\nBreakdwon current that burns out the diode is \",round(IR*10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.9 , Page Number 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage drop across the diode is 5 V.\n",
+ "Voltage drop across the resistance is 0 V.\n",
+ "Current through the circuit is 0 A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 330 #Resistance (in ohm)\n",
+ "VS = 5 #Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VD = VS #Voltage drop across diode (in volts)\n",
+ "VR = 0 #Voltage drop across the resistance (in volts)\n",
+ "I = 0 #Current through circuit\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across the diode is \",VD,\" V.\\nVoltage drop across the resistance is \",VR,\" V.\\nCurrent through the circuit is \",I,\" A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.10 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of VD is 0 V.\n",
+ "Value of VR is 12.0 V.\n",
+ "Current through the circuit is 25.53 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12.0 #Source coltage (in volts)\n",
+ "R = 470.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VD = 0 #Voltage drop across diode (in volts)\n",
+ "VR = VS #Value of VR (in volts)\n",
+ "I = VS/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of VD is \",VD,\" V.\\nValue of VR is \",VR,\" V.\\nCurrent through the circuit is \",round(I*10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.11 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current through the circuit is 6.625 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6 #Source voltage (in volts)\n",
+ "R1 = 330 #Resistance (in ohm)\n",
+ "R2 = 470 #Resistance (in ohm)\n",
+ "VD = 0.7 #Diode voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = (VS - 0.7)/RT #Current through the diode\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through the circuit is \",I * 10**3,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.12 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage across the resistor is 4.3 V.\n",
+ "The circuit current is 8.43 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 5 #Source voltage (in volts)\n",
+ "R = 510 #Resistance (in ohm)\n",
+ "VF = 0.7 #Forward voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR = VS - VF #Net voltage (in volts)\n",
+ "I = VR / R #Current through the diode\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage across the resistor is \",VR,\" V.\\nThe circuit current is \",round(I * 10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.13 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total current through the circuit is 3.067 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6 #Source voltage (in volts)\n",
+ "VD1 = VD2 = 0.7 #Diode Voltage drop (in volts)\n",
+ "R = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = (VS - VD1 - VD2)/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total current through the circuit is \",round(I * 10**3,3),\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.14 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total current through the circuit is 3.212 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12 #Source voltage (in volts)\n",
+ "R1 = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 1.8 * 10**3 #Resistance (in ohm)\n",
+ "VD1 = VD2 = 0.7 #Diode Voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = (VS - VD1 - VD2)/RT #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total current through the circuit is \",round(I * 10**3,3),\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.15 , Page Number 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output Voltage in case 1 is 0 V.\n",
+ "Output Voltage in case 2 is 4.3 V.\n",
+ "Output Voltage in case 3 is 4.3 V.\n",
+ "Output Voltage in case 4 is 4.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 3.3 * 10**3 #Resitance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "V11 = V21 = 0 #Voltages (in volts)\n",
+ "V01 = 0 #Output Voltage (in volts)\n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "V21 = 0 #Voltage (in volts)\n",
+ "V22 = 5 #Voltage (in volts)\n",
+ "V02 = V22 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Case (c)\n",
+ "\n",
+ "V31 = 5 #Voltage (in volts)\n",
+ "V32 = 0 #Voltages (in volts)\n",
+ "V03 = V31 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Case (d)\n",
+ "\n",
+ "V41 = V42 = 5 #Voltages (in volts)\n",
+ "V04 = V41 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output Voltage in case 1 is \",V01,\" V.\\nOutput Voltage in case 2 is \",V02,\" V.\\nOutput Voltage in case 3 is \",V03,\" V.\\nOutput Voltage in case 4 is \",V04,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.16 , Page Number 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current in dc circuit is 1.0 mA.\n",
+ "a.c voltage drop across 51 ohm resistance is 0.485 mV.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60d6e90>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nf/gD/Nu/xWtTGrjwQucdt3Fj+eN33gkf/Wi8NsWBFxdPRa64wr0Uq1bteez3v3eeLX37xm9X0px9\ntnNHnj59z2N/+Yub1TYto6zjZPRod+/l+l5mzXKeYnnrV6iGvn1dje322/c8tmaNe8fy2ALgxcVT\nkf32cyWqX/xi9/07dsD//i9cW3aFnvzTvj187nPwX/+157Gf/AS+/OW21SRWzHXXwXe+s+ccbDfc\nAF/9qpsBoi1y9dVw443u3Snmpz91zYm9eydjV5R4cfE0yte+Br/5jRssWeDmm92gsLYwtUklvvQl\nN7XHpEkN+x56CFavbptNhQUuusg1mT7wQMO+l192Y2C+8IXk7Eqa44+HQYN2L6gtWeKaV6+5JjGz\nIiWnS/V4wmLQIPjmN+G881yn5PTp8L3vNW+6jzzSpYsriV5+uROVjRvhyivh/vvdpIxtlXbtXGHk\nggtcE9m++8LFF7u06tIlaeuSQ4Jf/9rNNzZggPOuu/hiV9MbODBp66LBi4unSb78ZVedHzvWVd8f\nfhiGD0/aquS54AI3svrcc91kg7/7Xb7mhmopJ5zg+uQ+8xnnkv3d7zrnkLbO0KGuf+XKK92y2V/5\nimsqzCt+bjGPx+PxNImfW8zj8Xg8iePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF\n4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj\n8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oROpuEgaJ2mOpPmSrq1wTq2kqZJmSKor2n+1pOnB\n/quL9h8h6XlJ0yRNkLRPSXgDJb0lKcdrvHk8Hk+6iUxcJNUANwHjgJHApZJGlJzTA/glcK6ZjQIu\nCvaPAj4NvBc4AjhH0sHBZb8FrjGz0cCDwNdLov4J8NdIbioD1NXVJW1CpOT5/vJ8b+Dvr60RZc3l\nGGCBmdWb2XbgHuC8knMuA+43s+UAZrY22H8o8KKZvWNmO4FngA8Fx4aZ2aRg++/AhYXAJJ0PLAJm\nRXFDWSDvD3ie7y/P9wb+/toaUYpLP2BZ0e/lwb5ihgE9JT0tabKkjwX7ZwAnSeopqTPwAaB/cGym\npIJIXQwMAJDUFbgGGB/6nXg8Ho+nWbSPMGyr4pwOwFHA6UBn4HlJL5jZHEk/BJ4A3gamAruCaz4J\n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\nRK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x25d0df0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rB = 1.0 #bulk resistance (in ohm)\n",
+ "V = 10 * 10**-3 #Signal Amplitude (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "R = 20.0 #Resitance (in kilo-ohm)\n",
+ "Vg = 20.0 #Source voltage (in volts)\n",
+ "I = (Vg - 0.7)/R #Current (in milli-Ampere) \n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "rj = 50.0 #junction resistance (in ohm)\n",
+ "re = rB + rj #a.c. resistance (n ohm)\n",
+ "rnet = re * (R*10**3)/(re + (R*10**3)) #Net resistance (in ohm)\n",
+ "V1 = V * re/(re + 1000) #Voltage drop across 51 ohm resitance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current in dc circuit is \",round(I),\" mA.\\na.c voltage drop across 51 ohm resistance is \",round(V1*10**3,3),\" mV.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-4*math.pi,4*math.pi,500)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,0.7 + 0.48*10**-3*y)\n",
+ "title(\"Total Voltage 'V' across the diode\")\n",
+ "xlabel(\"t(in seconds)->\")\n",
+ "ylabel(\"Voltage(in volts)->\")"
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_3.ipynb
new file mode 100644
index 00000000..656038ce
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_3.ipynb
@@ -0,0 +1,517 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:009fe668b9057f65f54dfdc4cba32c9ea1a6223a163ceb7443a11c41aea3d366"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13 , Special Purpose Diodes and Opto-Electornic Devices"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1 , Page Number 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PZM = 500 #Power rating of zener diode (in milli-watt)\n",
+ "VZ = 6.8 #Zener voltage rating (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IZM = PZM / VZ #Maximum value of zener current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"THe value of IZM for the device is \",round(IZM,1),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "THe value of IZM for the device is 73.5 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 , Page Number 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PZM = 500 #Power rating of zener diode (in milli-watt)\n",
+ "df = 3.33 #derating factor (in milli-watt)\n",
+ "T1 = 75 #Temperature (in degree Celsius)\n",
+ "T2 = 50 #Temperature (in degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Tdf = df * (T1 - T2) #Total derating factor (in milli-watt)\n",
+ "PZ = PZM - Tdf #Maximimum power dissipating for the device (in milli-watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum power dissipation for the device is \",PZ,\" mW.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum power dissipation for the device is 416.75 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 , Page Number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IZ1 = 20 #Reverse current (in milli-Ampere)\n",
+ "IZ2 = 30 #Reverse current (in milli-Ampere)\n",
+ "VZ1 = 5.6 #Zener voltage (in volts)\n",
+ "VZ2 = 5.65 #Zener voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dIZ = IZ2 - IZ1 #Change in reverse current (in milli-Ampere)\n",
+ "dVZ = VZ2 - VZ1 #Change in zener voltage (in volts)\n",
+ "rZ = dVZ / (dIZ * 10**-3) #Resistance of device (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of the zener diode is \",rZ,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of the zener diode is 5.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4 , Page Number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 4.7 #Zener voltage (in volts)\n",
+ "rZ = 15 #Resistance (in ohm)\n",
+ "IZ = 20 * 10**-3 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VZ1 = VZ + IZ * rZ #Terminal voltage of a zener diode (in volts)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage of the zener diode is \",VZ1,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal voltage of the zener diode is 5.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5 , Page Number 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1min = C2min = Cmin = 5 #Minimum capacitance (in pico-farad)\n",
+ "C1max = C2max = Cmax = 50 #Maximum capacitance (in pico-farad)\n",
+ "L = 10 #Inductance (in milli-Henry)\n",
+ " \n",
+ "#Calculation\n",
+ "\n",
+ "CTmin = C1min * C2min / (C1min + C2min) #Total minimum capacitance (in pico-farad)\n",
+ "CTmin = CTmin * 10**-12 #Total minimum capacitance (in farad)\n",
+ "L = 10 * 10**-3 #Inductance (in Henry)\n",
+ "f0max = 1/(2*math.pi*(L*CTmin)**0.5) #Maximun resonant frequency (in Hertz)\n",
+ "CTmax = C1max * C2max / (C1max + C2max) #Total maximum capacitance (in pico-farad)\n",
+ "CTmax = CTmax * 10**-12 #Total minimum capacitance (in farad)\n",
+ "f0min = 1/(2*math.pi*(L*CTmax)**0.5) #Minimum resonant frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Tuning range for the circuit is between \",round(f0min * 10**-3),\" kHz and \",round(f0max * 10**-6,0),\" MHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tuning range for the circuit is between 318.0 kHz and 1.0 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 , Page Number 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T = 0.04 * 10**-6 #Time period (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1/T #Frequency (in Hertz)\n",
+ "f = f * 10**-6 #Frequency (in Mega-Hertz)\n",
+ "f5 = 5 * f #%th - harmonic (in Mega-Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of 5th harmonic is \",f5,\" MHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of 5th harmonic is 125.0 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7 , Page Number 270"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vout = 8.0 #Output voltage (in volts)\n",
+ "VFmin = 1.8 #LED min voltage (in volts)\n",
+ "VFmax = 2.0 #LED max voltage (in volts)\n",
+ "IFmax = 16 * 10**-3 #Maximum current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RS = (Vout - VFmin) / IFmax #Current limiting Resistor (in ohm)\n",
+ "RS1 = (Vout - VFmax) / IFmax #Current limiting Resistor 1 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"In either case , the smallest standard-value resistor that has a value greater than \",RS, \" ohm or \",RS1,\" ohm is the 390 ohm resistor.\\nTherefore Rs should be 390 ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In either case , the smallest standard-value resistor that has a value greater than 387.5 ohm or 375.0 ohm is the 390 ohm resistor.\n",
+ "Therefore Rs should be 390 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.8 , Page Number 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VDmin = 1.5 #minimum voltage drop (in volts)\n",
+ "VDmax = 2.3 #maximum voltage drop (in volts)\n",
+ "VS = 10 #Source voltage (in volts)\n",
+ "R1 = 470 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Imax = (VS - VDmin) / R1 #Maximum current (in Ampere)\n",
+ "Imin = (VS - VDmax) / R1 #Minimum current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of LED current is \",round(Imin * 10**3,1),\" mA.\\nMaximum value of LED current is \",round(Imax * 10**3,1),\" mA.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of LED current is 16.4 mA.\n",
+ "Maximum value of LED current is 18.1 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9 , Page Number 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VDmin = 1.8 #minimum voltage drop (in volts)\n",
+ "VDmax = 3.0 #maximum voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case 1\n",
+ "\n",
+ "VS = 24.0 #Source voltage (in volts)\n",
+ "RS = 820.0 #Resistance (in ohm)\n",
+ "Imax = (VS - VDmin) / RS #Maximum current (in Ampere)\n",
+ "Imin = (VS - VDmax) / RS #Minimum current (in Ampere)\n",
+ "dI = Imax - Imin #Change in current (in Ampere)\n",
+ "\n",
+ "#Case 2\n",
+ "\n",
+ "VS1 = 5.0 #Source voltage (in volts)\n",
+ "RS1 = 120.0 #Resistance (in ohm)\n",
+ "Imax1 = (VS1 - VDmin) / RS1 #Maximum current (in Ampere)\n",
+ "Imin1 = (VS1 - VDmax) / RS1 #Minimum current (in Ampere)\n",
+ "dI1= Imax1 - Imin1 #Change in current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since change in current in case 1 i.e\",round(dI*10**3,2),\"mA is less than change in current in case 2 i,e,\",round(dI1* 10**3,2),\" mA.\" \n",
+ "print \"Therefore brightness in the first case will remain constant.\"\n",
+ "\n",
+ "#printing mistake in book for value of VDmin. It should be 1.8 volts instead of 1.1 volts."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Since change in current in case 1 i.e 1.46 mA is less than change in current in case 2 i,e, 10.0 mA.\n",
+ "Therefore brightness in the first case will remain constant.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.10 , Page Number 281"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 100.0 * 10**3 #Resistance when illuminated (in ohm)\n",
+ "r = 1.0 * 10**3 #cell resistance (in ohm)\n",
+ "I = 10.0 * 10**-3 #Current (in Ampere)\n",
+ "VS = 30 #Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = VS/I - r #R is the series resitance (in ohm)\n",
+ "Id = VS / (R + R1) #Dark current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Ther series resistance required is \",R/1000,\" kilo-ohm.\\nThe dark current is \",round(Id * 10**3,1),\" A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ther series resistance required is 2.0 kilo-ohm.\n",
+ "The dark current is 0.3 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.11 , Page Number 284"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 12.0 #Battery voltage (in volts)\n",
+ "I = 0.5 #Current (in Ampere)\n",
+ "T = 24 #Time period (in hours)\n",
+ "V1 = 0.5 #Voltage by each cell (in volts)\n",
+ "I1 = 50 * 10**-3 #Current in each cell (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = 13.5 #Solar bank voltage (in volts)\n",
+ "n = VS / V1 #Number of series connected solar cells \n",
+ "Q = T/2 * I #Charge given out in one day (in Ampere-Hour)\n",
+ "I2 = Q / (T/2) #Charging current (in Ampere)\n",
+ "N = I2/I1 #Number of groups of solar cell required \n",
+ "nT = n * N #Total number of solar cells required \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total cells required is \",nT,\".\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total cells required is 270.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_3.ipynb
new file mode 100644
index 00000000..5b0c9312
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_3.ipynb
@@ -0,0 +1,586 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2230f558abad311ac9e2b809ce74f917fbf18727096bb922bf424293f0d38ca4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 14 , Bipolar Junction Transistor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1 , Page Number 308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "IC = 9.8 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current is \",IB,\" mA.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current is 0.2 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2 , Page Number 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 6.28 #Emitter current (in milli-Ampere)\n",
+ "IC = 6.20 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha = IC / IE #Common base current gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Common-Base current gain is \",round(alpha,3),\".\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Common-Base current gain is 0.987 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.3 , Page Number 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "alpha = 0.967 #common base current gain\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current is \",IB,\" mA.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current is 0.33 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.4 , Page Number 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "alpha = 0.987 #common base current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IC is \",IC,\" mA.\\nIB is \",IB,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "IC is 9.87 mA.\n",
+ "IB is 0.13 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.5 , Page Number 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "alpha1 = 0.975 #common base current gain\n",
+ "beta1 = 200.0 #common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = alpha1 / (1-alpha1) #common emitter current gain \n",
+ "alpha = beta1 / (beta1 + 1) #common base current gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of beta when alpha = 0.975 is \",beta,\".\\nValue of alpha when beta = 200 is \",round(alpha,3),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of beta when alpha = 0.975 is 39.0 .\n",
+ "Value of alpha when beta = 200 is 0.995 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.6 , Page Number 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 100.0 #common emitter current gain\n",
+ "IC = 40.0 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IC / beta #Base current (in milli-Ampere)\n",
+ "IE = IB + IC #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of emitter current is \",IE,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of emitter current is 40.4 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.7 , Page Number 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 150.0 #common emitter current gain\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha = beta / (beta + 1) #common base current gain \n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC,2),\" mA.\\nBase current is \",round(IB,2),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current is 9.93 mA.\n",
+ "Base current is 0.07 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.8 , Page Number 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 170.0 #common emitter current gain\n",
+ "IC = 80.0 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IC / beta #Base current (in milli-Ampere)\n",
+ "IE = IB + IC #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current is \",round(IB,2),\" mA.\\nEmitter current is \",round(IE,2),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current is 0.47 mA.\n",
+ "Emitter current is 80.47 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.9 , Page Number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IB = 0.125 #Base current (in milli-Ampere)\n",
+ "beta = 200.0 #common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = IB * beta #Collector current (in milli-Ampere)\n",
+ "IE = IC + IB #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of collector current is \",IC,\" mA.\\nValue of emitter current is \",IE,\" mA.\"\n",
+ "\n",
+ "#Correction in book . The Value of IB is 0.125 mA."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of collector current is 25.0 mA.\n",
+ "Value of emitter current is 25.125 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.10 , Page Number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 12.0 #Emitter current (in milli-Ampere)\n",
+ "beta = 140.0 #common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IE / (1 + beta) #Base current (in milli-Ampere)\n",
+ "IC = IE - IB #Collector current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC,3),\" mA.\\nBase current is \",round(IB,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current is 11.915 mA.\n",
+ "Base current is 0.085 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.11 , Page Number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IB = 105 * 10**-3 #Base current (in milli-Ampere)\n",
+ "IC = 2.05 #Collector current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = IC / IB #Common base current gain\n",
+ "alpha = beta / (1 + beta) #Common emitter current gain\n",
+ "IE = IB + IC #Emitter current (in milli-Ampere)\n",
+ "IC1 = IC + 0.65 #New collector current (in milli-Ampere)\n",
+ "IB1 = IB + 27 * 10**-3 #New base current (in milli-Ampere) \n",
+ "beta1 = IC1 / IB1 #New value of beta\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Beta of the transistor is \",round(beta,1),\".\\nalpha of the transistor is \",round(alpha,2),\".\\nEmitter current is \",IE,\" mA.\\nNew value of beta is \",round(beta1,2),\".\"\n",
+ "\n",
+ "#Correction to be done in book in value of IB . IB is in micro - Ampere in both initial and in the changed condition. In calculation proper conversion has been done."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Beta of the transistor is 19.5 .\n",
+ "alpha of the transistor is 0.95 .\n",
+ "Emitter current is 2.155 mA.\n",
+ "New value of beta is 20.45 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.12 , Page Number 317"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "alpha = 0.98 #common base current gain\n",
+ "ICO = 5 * 10**-3 #Leakage current (in milli-Ampere)\n",
+ "IB = 100 * 10**-3 #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (alpha * IB + ICO)/ (1 - alpha) #Collector current (in milli-Ampere)\n",
+ "IE = IC + IB #Emitter current (in milli-Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of collector current is \",IC,\" mA.\\nValue of emitter current is \",IE,\" mA.\"\n",
+ "\n",
+ "#Correction about conversion of micro-Ampere and milli-Ampere to be done in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of collector current is 5.15 mA.\n",
+ "Value of emitter current is 5.25 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.13 , Page Number 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ICBO = 10 * 10**-3 #Leakage current (in milli-Ampere)\n",
+ "beta = hFE = 50 #common emitter current gain\n",
+ "T2 = 50.0 #Temperature (in degree Celsius) \n",
+ "T1 = 27.0 #Temperature (in degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "IB = 0.25 #Base current (in milli-Ampere)\n",
+ "IC = beta * IB + (1 + beta)* ICBO #Value of new collector current (in milli-Ampere)\n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "ICBO1 = ICBO * 2**((T2 - T1)/10) #ICBO at 50 degree celsius (in milli-Ampere)\n",
+ "IC1 = beta * IB + (1 + beta)* ICBO1 #Value of new collector current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current when IB = 0.25 mA is \",IC,\" mA.\\nCollector current at 50 degree Celsius is \",round(IC1,2),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current when IB = 0.25 mA is 13.01 mA.\n",
+ "Collector current at 50 degree Celsius is 15.01 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_3.ipynb
new file mode 100644
index 00000000..a76f6609
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_3.ipynb
@@ -0,0 +1,64 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:934b9f1a90e136e295951deeff35be6457078af8181c0ad14c05c8c2d9b3abed"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 15 , BJT Characteristics "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.1 , Page Number 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PDmax = 500 #Maximum Power dissipation at 25 degree Celsius (in milli-watt)\n",
+ "DF = 2.28 #derating factor (in milli-watt per degree Celsius)\n",
+ "T = 70 #Temperaure (in degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PDmax70 = PDmax - DF * (T - 25) #Maximum Power dissipation at 70 degree Celsius (in milli-watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum power dissipation at 70 degree Celsius is \",round(PDmax70),\" mW.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power dissipation at 70 degree Celsius is 397.0 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_3.ipynb
new file mode 100644
index 00000000..7e5edce2
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_3.ipynb
@@ -0,0 +1,374 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 16 , Field-Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.1 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Drain current when VGS = 0 V is 15.0 mA.\n",
+ "Drain Current when VGS = -1 V is 9.6 mA.\n",
+ "Drain Current when VGS = -4 V is 0.6 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "IDSS = 15.0 #Drain-Source current (in milli-Ampere)\n",
+ "VGSoff = -5.0 #Gate-Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When VGS = 0 volts\n",
+ "VGS1 = 0 #VGS (in volts)\n",
+ "ID1 = IDSS * (1 - (VGS1 /VGSoff)**2) #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -1 volt\n",
+ "VGS2 = -1 #VGS (in volts)\n",
+ "ID2 = IDSS * (1 - VGS2 /VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -4 volt\n",
+ "VGS3 = -4 #VGS (in volts) \n",
+ "ID3 = IDSS * (1 - VGS3 /VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Drain current when VGS = 0 V is \",ID1,\" mA.\\nDrain Current when VGS = -1 V is \",ID2,\" mA.\\nDrain Current when VGS = -4 V is \",ID3,\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.2 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Drain current when VGS = 0 V is 6.75 mA.\n",
+ "Drain Current when VGS = -1 V is 3.0 mA.\n",
+ "Drain Current when VGS = -4 V is 0.75 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x6113d50>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEZCAYAAAB7HPUdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYFNXVx/HvAUQBWVzAJYKguEHcDWJQGcEFUdyI+xKX\nGI0xEreo8TVOEk1MDMEIaqJGREVFERHBoCiOUUFABAVRCSibIAoim7Kf949bLc3QM9PDdHd1T/8+\nz1MPtXadrmlO37731i1zd0REpDjUiTsAERHJHSV9EZEioqQvIlJElPRFRIqIkr6ISBFR0hcRKSJK\n+lKUzGyDme0RdxwiuaakL5sxs1lm1iXuOPKdmZWa2eNxxyFSHUr6kooDVtFGM6uXw1gkBhaJOw7J\nPCV92URUcm0FvGhmy83sBjNrHVWHXGpms4FXo32fNbMFZvaNmb1hZu2SXudRM7vPzIab2TIzeye5\nOsXM+pjZQjNbamYfmFn7aH0DM+sd/dr4xszeNLNtom2nmNmHZrbEzF43s32TXm+WmV1vZu9Hxz1t\nZlsnbb/RzOab2Twzu7Tcey4zs8uSli82szeTltub2SgzW2xmX5jZLWZ2AnALcHZ0nSZF+15iZtOi\n9zzTzH6e9Dol0fmvi977fDO7OGl7Ze+9o5mNid77ZDPrXMnfsKWZDTGzL81skZn1jdZv8ssk6e9a\nJ+k63GFmbwMrgRvNbEK5177WzF6I5rc2s7+Z2ezoujyQiFfymLtr0rTJBHwGdElabg1sAB4FGgBb\nR+svBhoBWwF9gElJxzwKLAIOA+oCTwBPRdtOAN4FmkTL+wA7R/P3AaOBXQiFko5AfWBvYAXQNXq9\nG4H/AfWSYn4H2BnYDpgGXBFt6wZ8AbQDGgJPRu9nj2j768ClSbFfDLwZzTcGFgDXRnFsC3SItt0O\nPFbu2nUH2kTzRxOS58HRcgmwFiiN3sOJ0famVbz3H0TXslu037HR8o4p/nZ1gfeB3om/FfDjpHgf\nT/F3rRMtlwGzgP2i8zcBlgFtk46ZAJwVzfcBhgLNousyDPhT3J9fTVX8/447AE35N1Fx0m9dyTHN\non0aR8v9gQeTtp8IfBTNdwE+AQ5PJJxofR3gW2D/FK9/G/B00rIB84Cjk2I+L2n7X4AHovlHkpMR\nsBfpJ/1zgYkVvOfS5CRawT7PA9dE8yXR+0t+zwuBDlW895vY/MtlJHBRin2PAL5MPkdF8aZI+q8D\npeWOeRy4Lem6LQO2ia7/isQ1TDr3p3F/fjVVPql6R6pjbmLGzOqY2V1mNsPMlhKSLsCOSfsvTJr/\njlAaxN1HA/0IJduFZvYvM2scHbsNMDPFuXcB5iQWPGSZuYRScMIX5c7XKOnYuUnb5pC+lsCn6e5s\nZidGVVmLzWwJoeS/Q9Iui919Q9Lyt4TrUtl73x04M6raWRK9bifCr5pU8c4ud47qmFtu+UnCFx/A\necDz7r4KaE741TQxKab/sOnfX/KQkr6kUtHQq8nrzwdOAbq6e1OgTbQ+rcY/d+/r7ocRqlz2JlTX\nfAWsAtqmOGQ+IfmFk4RGxpbA52mcbgGhnSKhVbntK9n4BQGbJtM5QEVdOzdJrFEbwnPAX4EW7r4d\n8BLpXZNFVPze5xBK6NslTY3d/a8p9p0LtDKzuim2rSAk6oRUXxrl//avAs3N7EDgHMKXQCLe74B2\nSTE1c/cmFb5DyQtK+pLKQmDPKvbZFlgNfG1mjYA/ldteWe+fw8zscDPbilDSXQWsj0rvjwB/N7Nd\nzKyumR1hZvWBZ4CTzKxLdNz10XFjKokxEcMzwMVmtp+ZNSTUbSebDJwRNaS2BS5L2jYC2MXMekUN\nl43NrEO0bSHQOvoCglD/Xp+QEDeY2YnA8ZXE972oZF7Re38C6GFmx0frt4kahX+Q4qXGEb7k7jKz\nhtG+P056n0dHDb1NCQ3RFV2zRFxrgWeBvxHaSkYlxfsQcI+ZNQcwsx+YWVrvV+KjpC+p/Bn4v+hn\n+3XRuvIlwMeA2YSS9lRgbLl9PMUxieUmwIPA14SGw0XA3dG2G4AphAbDxVEsddx9OnAB0Jfwi+Ak\noIe7r6vgPXx/fncfCdxDaCSdDrxWLrY+wBpCEu9PSLKJY5cDxwE9CMl0OqFuHkIyBFhsZu9G+15D\n+JL5mlAt8kIF1yCVit77POBU4LeE+vo5hC+9zf7/Rsm4B+EXwxxCyf+saNurwCDgg+gcL6aIJ1V8\nTxIa0J8tV210EzADeCeq4htF+NUmecxC4SoLL2z2COE/5pfuvn+07m7gZMJ/sJnAJe6+NCsBiIjI\nZrJZ0u9P6CqX7BWgvbsfSCgxpfp5KSIiWZK1pO/ubwJLyq0blfTzcBywW7bOLyIim4uzTv9SQs8G\nERHJkViSvpndCqxx9yer3FlERDIm5wNnRWONdCf0Bqhon+y0LouI1HLuXul9ITkt6ZtZN8JNOKdG\nd/VVKO5blWvTdPvtt8ceQ22ZdC11PfNuGjcOb94cn5nqZu7NZS3pm9lThBtn9jGzuRZGNuxLuKln\nlJlNMrP7s3V+EZFa7+uv4eyz4V//gj3SeyZQ1qp33P3cFKsfydb5RESKijtccgmcdhqcfnrah+lh\nGEWgpKQk7hBqDV3LzNL1rIHevWHhQnj22ar3TZK1O3Jrwsw8H+MSEckLb70FP/kJjB8PrTaOH2hm\neD415IqISA19+SWcey70779Jwk+XSvoiIoVi/Xro1g06dIA779xss0r6IiK1yR/+AGvXwu9/v8Uv\noYZcEZFCMHIk/Pvf8O67UG/LU7eSvohIvpszBy6+OPTU2TnVA8/Sp+odEZF8tno1nHkm3HADHHVU\njV9ODbkiIvns6qth/nx47jmwyh+3nE5Drqp3RETy1cCB8PLLoR6/ioSfLpX0RUTy0ZQp0KULvPYa\nHHBAWoeoy6aISCFauhR69oQ+fdJO+OlSSV9EJJ+4wxlnwK67wn33VetQ1emLiBSau+6CBQvg6aez\n8vJK+iIi+WLUKOjbNwyktvXWWTmFkr6ISD6YPRsuvDCU8HfbLWunUUOuiEjcVq0KDbc33ghZfsaA\nGnJFROLkDpddBitXhlJ+DfrjqyFXRCTf/fOfMGECjB2bsRuwKqOSvohIXN5+OzzfdswYaNu2xi+n\nm7NERPLV/Plw1lnhCVgZSPjpUtIXEcm1NWvCyJlXXAEnnZTTU6t6R0Qk1668Er74AoYMgTqZK3ur\nIVdEJN88+CC88QaMG5fRhJ8ulfRFRHJlzBg47TR46y3Ye++Mv7wackVE8sX8+aEev3//rCT8dCnp\ni4hk26pVoWvmVVflvOG2PFXviIhkkztccgl8+y0MGpTVG7Bird4xs0fMbKGZTUlat72ZjTKz6Wb2\nipk1y9b5RUTywr33wuTJoVonB3fcViWb1Tv9gW7l1t0MjHL3vYHXomURkdrptdfgz3+GoUOhUaO4\nowGymPTd/U1gSbnVpwADovkBwGnZOr+ISKxmzoTzzguDqLVuHXc038t1Q+5O7r4wml8I7JTj84uI\nZN+yZXDKKVBamvWhkqsrtt47UUutWmtFpHZZvx7OPx+OPhp+8Yu4o9lMru/IXWhmO7v7F2a2C/Bl\nRTuWlpZ+P19SUkJJnn1bioikdNttsHw5/OMfWT9VWVkZZWVl1Tomq102zaw18KK77x8t/xVY7O5/\nMbObgWbuvlljrrpsikhBevJJuPXW8Izb5s1zfvp0umxmLemb2VNAZ2BHQv3974AXgGeAVsAs4Cx3\n/ybFsUr6IlJYxo+Hk08OPXb23z+WEGJN+jWhpC8iBWXePOjYEe6/PzTgxkRj74iIZNvKlXDqqfCr\nX8Wa8NOlkr6IyJbasAHOPhsaNIABA2K/41bj6YuIZNPtt4fRM0ePjj3hp0tJX0RkSwwcCE88ER6G\nsvXWcUeTNlXviIhU19ixof5+9OjYeuqkooZcEZFMmzULevaERx/Nq4SfLiV9EZF0LVsGPXrATTfF\n/jCULaXqHRGRdKxbFxJ+mzZw33152XCr6h0RkUz59a9DF817783LhJ8u9d4REalK377w+uswZgzU\nK+y0WdjRi4hk24svwl13wdtvQ9OmcUdTY0r6IiIVee89uPRSGDEir55+VROq0xcRSWXu3NAX/5//\nhA4d4o4mY5T0RUTKW7YsDJPcq1fok1+LqMumiEiytWtDwt9jjzBUcgH11FGXTRGR6nCHq66CunVD\nj50CSvjpUkOuiEjCXXfBxInwxhsF3zWzIrXzXYmIVNeTT4ZG27FjoXHjuKPJGiV9EZHXXw933I4e\nDbvuGnc0WaU6fREpblOnhqdfDRoEP/xh3NFkXaUlfTPbCjgeOBpoDTgwG/gv8LK7r8t2gCIiWTN/\nfhgts08fOOaYuKPJiQq7bJrZbUBPYCwwHphP+GWwC9AB6AgMdvc7Mh6UumyKSLYtXQpHHx1K+b/9\nbdzRZEQ6XTYrS/qnAC9WlH3NrA5wsrsPq3Gkm7+2kr6IZM+aNdC9O+yzD/TrV2u6ZtYo6Vfyog0I\nyf7ZmgRXxTmU9EUkOzZsgIsugpUrYfDg0Ce/lsjYzVlmVs/MTjKzJ4BZwDkZiE9EJPduuQU++yx0\n0axFCT9dFTbkmpkBnYFzge7AOOAooI27f5ub8EREMuiee2DYMHjrLWjQIO5oYlFZ7525wDTgEeA6\nd19pZp8p4YtIQXr6aejdO4yLv8MOcUcTm8qqdwYDbYGzgR5m1ig3IYmIZNirr8I118BLL0GrVnFH\nE6tKG3KjHjolhCqeE4FmwGXACHdfkbWg1JArIpny3nvQrVtotD366LijyaqM9t4xs/rACYQvgBPc\nfYt/H5nZLcAFwAZgCnCJu69O2q6kLyI1N2NGSPT9+sEZZ8QdTdZlpctm9MIN3P27LQyqNTAa2M/d\nV5vZIOAldx+QtI+SvojUzIIFcOSRcPPNcPnlcUeTExnpsmlmPcxskpktMbPlZrYcWFiDuJYBa4GG\nZlYPaAh8XoPXExHZ1DffwIknwiWXFE3CT1eVJX0zmwmcDkx19w0ZOanZz4HewHeEMXwuLLddJX0R\n2TLffQcnnAAHHgj33ltr7rZNRzol/XSGVp4HfJjBhL8n8GvCAG5LgWfN7Hx3H5i8X2lp6ffzJSUl\nlJSUZOL0IlKbrV0bxtLZbTf4xz9qfcIvKyujrKysWsekU9LvCPwBeB1YE612d//7FsSImZ0NHOfu\nP4uWLwQ6uvsvk/ZRSV9EqmfDBrj4Yli0CIYOhfr1444o5zI1DMMfgRXANsC20VSTx8p8DHQ0swbR\nXb/HEm4CExHZMu5www0wc2bomlmECT9d6VTv7OLux2XqhO7+vpk9BrxL6LL5HvBgpl5fRIrQnXeG\nG7DeeAMaNow7mryWTvXOX4HX3P3l3ISk6h0RqYZ+/cKYOm+9BTvvHHc0scpIP30zW0HoVrmG0NUS\nQp1+k4xEmfqcSvoiUrUnngijZr75JrRuHXc0scvazVnZpqQvIlUaNgyuuCI8zHy//eKOJi/UqCE3\n6lpZ1Qmq3EdEJONefRV+9jN48UUl/Gqq7HGJg4BGwDBCo+sCwAjPyD0MOAVY7u4Zf6CKSvoiUqEx\nY+C00+C55+Coo+KOJq/UuHrHzNoSnpLVCdg9Wj0beAt4yt0/zVCs5c+rpC8im5s0KYyY+dhj4a5b\n2YTq9EWk9pg2Dbp2Db11evaMO5q8VONhGMxsR+A8YF/AgY8IJfzFGYtSRKQqM2bA8cfD3Xcr4ddQ\nZQ25+xHGuj8U+ASYAXQApprZvrkJT0SK3uzZcOyx8LvfwQUXxB1NwausIfc5YJC7P1NufU/gPHfP\n2tetqndEBID588NDUH71K+jVK+5o8l6N6vTNbLq7713dbZmgpC8iLFwIJSVw0UXhBiypUk0HXFu5\nhdtERGpm0aJQpXP22Ur4GVZZQ25zM7uO0Dd/s21ZikdEit2SJaHR9uST4fbb446m1qks6T9M6iGU\nDXgoO+GISFFbujT0v+/cGf70p1r/EJQ4qJ++iOSHZctCwj/ssKJ7zGGm1Kifvpn1reQ4d/drtjgy\nEZFky5eHB5kffLASfpZVVr0zkXBDVnlWwXoRkepbsQJOOgnatw932yrhZ5Wqd0QkPomE37YtPPQQ\n1EnnCa5SkUw9I1dEJPNWrgwJf889lfBzSFdZRHIvkfD32AMeflgJP4eqvNJmdmSKdZ2yE46I1Hor\nVkD37uHxhkr4OZfO1U7Vi6dfpgMRkSKQ6KXTti088gjUrRt3REWnsi6bRwA/ZvM7cxujaiERqa5E\nwm/XDv75T5XwY1JZl836hARfl03vzF0G/CSbQYlILbN0aUj4BxwA99+vhB+jKrtsmllrd5+Vm3C+\nP6e6bIrUFkuWhDttO3aEf/xD/fCzqMZPzopsbWYPAa2T9nd371LD+ESktlu8GI47Do45Bv72NyX8\nPJBOSf8D4AHgPWB9tNrdfWLWglJJX6TwffllGB75pJM0eFqOZKqkv9bdH8hQTCJSDD7/fON4+Lff\nroSfR9Ip6ZcCXwFDgNWJ9e7+ddaCUklfpHDNng1du8Lll8NNN8UdTVGp0eMSk15kFikGWHP3NjUI\nrBlhvP720Wtf6u7vJG1X0hcpRDNmhBL+ddfBNRqIN9cykvSzwcwGAG+4+yNmVg9o5O5Lk7Yr6YsU\nmqlToVu3UJ1z+eVxR1OUMlXSbwRcB7Ry98vNbC9gH3cfvoVBNQUmufseleyjpC9SSN59Nzze8O9/\nh/POizuaopWpUTb7A2sId+cCzAfurEFcbYCvzKy/mb1nZg+ZWcMavJ6IxOmtt8JYOv/6lxJ+AUin\n986e7n6WmZ0D4O4rrWYt8fWAQ4Cr3X2Cmd0D3Az8Lnmn0tLS7+dLSkooKSmpyTlFJBtGjoSLLoKB\nA0N/fMmpsrIyysrKqnVMOtU7Y4CuwBh3P9jM9gSecvcOWxKkme0MjE00BEejeN7s7icn7aPqHZF8\n9+yzcPXVMHQoHHFE3NEImaveKQVGAruZ2ZPAaGCL+2G5+xfAXDPbO1p1LPDhlr6eiMTg3/+GX/8a\nRo1Swi8wlZb0zawOcCbwGtAxWj3O3b+q0UnNDiR02awPzAQuUe8dkQJx991w330h4e+1V9zRSJJM\n9d6Z6O6HZjSyKijpi+Qhd7j5Zhg+HF5+GXbbLe6IpJxMJf27gEXAIGBlYr3uyBUpIuvWwZVXhr74\nI0bADjvEHZGkkM07cr2yfvY1paQvkkdWrYJzzw3PtR0yBLbdNu6IpAI1TvqJOn13H5Tp4CqjpC+S\nJ775Bk49FXbdFQYMgPr1445IKlHj3jvuvgH4TUajEpHCsGABdO4MBx4Y+uEr4dcK6XTZHGVmN5hZ\nSzPbPjFlPTIRic/06dCpE5x1VnjalR5vWGvEMspmVVS9IxKjceNClc6dd8Jll8UdjVRD3o6yWRUl\nfZGYDB8Ol1wCjz4annglBSUjT84ys5+SuqT/WA1iE5F88/DDcNttIfEffnjc0UiWpDPg2o/YmPQb\nAF0Iz8tV0hepDdyhtBSeeALeeAP23rvKQ6RwVZn03f3q5OXoqVc57cIpIlmydi38/Ofw4Ycwdiy0\naBF3RJJl6ZT0y/uWMCa+iBSyZcvgJz8JXTFffx0aNYo7IsmBdOr0X0xarAO0A57JWkQikn1z54aG\n2k6doG9fqLcl5T8pROl02SxJWlwHzHb3uVkNSr13RLJn8mTo0QN69YLrr4eaPRRJ8khGeu8Ac4AF\n7v5d9KINzKy1u8/KQIwikksjRoQumffdB2eeGXc0EoN0brN7FliftLwBGJydcEQka/r2hZ/9DIYN\nU8IvYumU9Ou6+5rEgruvNrOtshiTiGTS+vVw7bXw6qswZgy0UT+MYpZOSX+RmZ2aWIjmF2UvJBHJ\nmGXLwpAK06Yp4QuQXkNuW2AgsGu0ah5wobvPyFpQasgVqblZs0KD7Y9/DP36wVb6gV7bZXTsHTNr\nDODuyzMQW1XnUtIXqYmxY6FnT/jNb0IvHfXQKQqZ6r0D5CbZi0gGPP44XHedBk2TlHRHhkhtsX49\n3HorPPMMlJVB+/ZxRyR5SElfpDZYtgwuuCD8O3487Lhj3BFJnkor6ZtZJ6B10v6uoZVF8sSMGaGH\nzpFHwuDBeqyhVCqdsXeeAPYAJrPpTVpK+iJxe+UVuPDCMDTyL34RdzRSANIp6R8KtFN3GpE84g59\n+sBf/xrq8Dt3jjsiKRDpJP2pwC7A/CzHIiLp+O47uPzyMAb+O+9A69ZxRyQFJJ2k3xyYZmbjgdXR\nOnf3U7IXloikNGcOnH467LsvvP02NGwYd0RSYNJJ+qXZDkJE0jB6NJx/PtxwQ+iHrxuuZAukfUdu\nxk9sVhd4F5jn7j3KbVMTgkiCO/TuHaaBA6FLl7gjkjxVoztyzextd+9kZivY+GD0BHf3JjWMrxcw\nDWhcw9cRqb2WL4fLLgvj6IwbB61axR2RFLgKR9l0907Rv9u6e+NyU40SvpntBnQHHgb0G1UklY8+\ngg4doGlT+O9/lfAlI9IZWhkAM2thZq0SUw3P2we4kfBAFhEpb9AgOPpouPFGeOgh2GabuCOSWiKd\nm7NOAXoThlb+Etgd+AjYooE9zOxk4Et3n1Tu+bubKC0t/X6+pKSEkpIKdxWpPdasCYl++PBw49XB\nB8cdkeSxsrIyysrKqnVMOuPpfwB0AUa5+8FmdgxhPP1LtyRIM/sTcCHhIevbAE2A59z9oqR91JAr\nxWfOHDjrLGjRAgYMgO22izsiKTDpNOSmU72z1t0XAXXMrK67vw4ctqVBuftv3b2lu7cBzgFGJyd8\nkaL00kuh/r5nT3jhBSV8yZp0+ukviR6g8iYw0My+BFZkMAYV6aV4rV0Lt90WumIOHhwGTRPJonSq\ndxoBqwi/Cs4nVMcMdPfFWQtK1TtSDObOhXPOgSZN4LHHoHnzuCOSAlfj6h0zqwcMd/f17r7W3R91\n93uzmfBFisLw4fCjH8Epp8CIEUr4kjOVVu+4+zoz22Bmzdz9m1wFJVJrrV4NN98MQ4aoOkdikU6d\n/kpgipmNiuYh3JF7TfbCEqmF/ve/UJ3TqhVMmgTbbx93RFKE0kn6Q6IpmSrcRdLlHursb7ghPOzk\nqqs0WJrEJq0B18ysBaF0/1X2Q1JDrtQiS5eGJ1q9/z489RQccEDcEUktVqOGXAtKzWwR8Akw3cwW\nmdntmQ5UpFYaMybcUdu0KUyYoIQveaGy3jvXAp2AH7n7du6+HdAB6GRm1+UkOpFCtHYt/O53cMYZ\n8Pe/wwMP6GEnkjcqrN4xs8nAceWrdMysOWFIhoOyFpSqd6RQzZgBF1wAzZpB//6wyy5xRyRFpKb9\n9OulqsOP1qXTACxSPNzhwQehY0c477wwrIISvuShypL32i3cJlJcvvgCfvYzWLAgjHvfrl3cEYlU\nqLKS/gFmtjzVBOyfqwBF8trgwXDQQWEaO1YJX/JehSV9d6+by0BECsrXX8PVV8PEiTB0aKjWESkA\naT85S0QiI0aE7pctWoQ7a5XwpYCoQVYkXUuWwK9/DW++CU88AXqamxQglfRF0jF8OOy/PzRuDB98\noIQvBUslfZHKLFoEvXrBO+/A44/DMcfEHZFIjaikL5KKOzzzTCjd77RTKN0r4UstoJK+SHnz5sEv\nfxmGQh4yBI44Iu6IRDJGJX2RhA0bwjg5Bx8cpkmTlPCl1lFJXwRg6lS44oqQ+MvKoH37uCMSyQqV\n9KW4ffcd3HprqK+/8EJ4+20lfKnVVNKX4jVyZLir9tBDQ0OtBkiTIqCkL8Xn88/DTVbvvQf33Qfd\nusUdkUjOqHpHisfatdC7Nxx4IOy3X6jHV8KXIqOSvhSHsrLQDbNly/AYw733jjsikVgo6UvtNncu\n/OY3IdHfcw+cdhpYpQ8WEqnVVL0jtdOqVXDnnWGc+732gmnT4PTTlfCl6KmkL7WLOzz/PNxwQ0j4\n774LbdrEHZVI3sh50jezlsBjQAvAgQfd/d5cxyG10OTJoVfO4sXhebXHHht3RCJ5J47qnbXAte7e\nHugI/NLM9oshDqktFiwIz6g94QQ455wwfIISvkhKOU/67v6Fu0+O5lcAHwG75joOqQW+/Rb++Ef4\n4Q9hu+3gk0/gyiuhnmotRSoSa0OumbUGDgbGxRmHFJj16+GRR0K3y6lTQ7393XdDs2ZxRyaS92Ir\nEpnZtsBgoFdU4hepnDu89BLcdBNsvz0MHqzn04pUUyxJ38y2Ap4DnnD3oan2KS0t/X6+pKSEEj2e\nrriNGQM33wxffQV/+Qv06KHul1L0ysrKKCsrq9Yx5u7ZiaaiE5oZMABY7O7XVrCP5zouyVNTp4ZR\nMCdNgt//PoyEqTp7kZTMDHevtDQUR51+J+AC4BgzmxRNGgBFNvW//8F550HXrtC5M0yfDpdcooQv\nUkM5L+mnQyX9IjZrFtxxBwwdGvrc9+oFjRvHHZVIQcjXkr7I5ubMCU+uOvRQ2HnnUNL/v/9TwhfJ\nMCV9idfs2fCLX4Rn0m6/fehrf8cdod+9iGSckr7EY+bMcBftIYeEBP/xx/DnP8OOO8YdmUitpqQv\nuTV1KlxwARx+OOy6a6jG+dOfoHnzuCMTKQpK+pIb77wThjY+9tgwbMKnn8If/hCqdEQkZ9T/TbLH\nHf7zn3Az1ezZcP31MHAgNGwYd2QiRUtJXzJv9Wp46qnwPFqzMGzCWWfBVlvFHZlI0VPSl8xZvBj+\n9S/o1y9U4fTuDccdp+ESRPKI6vSl5qZNC33s27YNd86OHAmvvALHH6+EL5JnVNKXLbN+PQwfHkr1\nU6aEvvYffww77RR3ZCJSCSV9qZ5Fi8JY9g88EBL81VfDmWfC1lvHHZmIpEFJX6rmHoY2fuCBULo/\n7TQYNAg6dIg7MhGpJg24JhVbsgQefzw8ZHz16lCFc/HF6lsvkqfSGXBNJX3Z1IYNUFYWqnCGD4fu\n3UO9fefOapQVqQVU0pfgs8/gscfg0UehSRO47DI4/3zYYYe4IxORNKmkL5VbuhSeew4GDAjdLs8+\nOzx39pBDVKoXqaVU0i82a9aEoREGDoSXX4ZjjoGf/hROOgnq1487OhGpgXRK+kr6xWDdulBP//TT\n8Pzz0K4tSXgOAAAMPUlEQVRdGOnyzDPVKCtSiyjpF7N16+CNN+DZZ0Oib9UKzjknjIHTsmXc0YlI\nFqhOv9isWgWvvhqS/Isvwu67h9L8mDGw555xRycieUAl/UK3eDG89BIMGwajRsEBB4Rx608/HVq3\njjs6EckhVe/URu7w4YcwYkSYJk+Grl2hRw84+WRo0SLuCEUkJkr6tcWSJTB6dOhtM3Ik1K0betuc\neCJ06QINGsQdoYjkASX9QrV6NYwdC6+9FqapU6FTJzjhhDDtu6/60YvIZpT0C8WaNTBhQuhWWVYG\n48bBfvuFapuuXUPC32abuKMUkTynpJ+vliwJDwp/660wTZwI++wTbpQqKYEjj4RmzeKOUkQKjJJ+\nPli7NlTPjB8fSvBjx8K8eXDYYSG5H3UUdOwYxrsREakBJf1cW706jGHz3nsbpylTQn/5Dh3CdMQR\n4fmx9XSLhIhkVt4mfTPrBtwD1AUedve/lNue30l/wwaYNSt0nfzww5DY338fZs4MN0EdckiYDj44\n/Nu4cdwRi0gRyMukb2Z1gU+AY4HPgQnAue7+UdI++ZH0v/4aZswI0/Tp8Mkn4Tmw06eHMWvatw/T\nD38IBx4YxrTJwwbXsrIySkpK4g6jVtC1zCxdz8zK12EYOgAz3H0WgJk9DZwKfFTZQRm3fj0sXAif\nfw5z526cPvts47R+Pey1V5jatg1946+7LjS6FlAdvP5jZY6uZWbpeuZeHEn/B8DcpOV5wOE1esV1\n62DFijA+/DffhGnJkjBEweLF4WHeX365cVqwIPy7ww6w665hMLKWLcN0+OFh+II2bcJ29YcXkVok\njqSfXr1N9+6h7nzDhtADJjGtWgXffbdxWrEirN9229DNsWnTMG23XUjaiWnffcMQBS1ahES/006w\n1VZZfqsiIvkljjr9jkCpu3eLlm8BNiQ35ppZHlToi4gUnnxsyK1HaMjtCswHxlOuIVdERLIj59U7\n7r7OzK4GXiZ02fy3Er6ISG7k5c1ZIiKSHXXiDiDBzO42s4/M7H0zG2JmTZO23WJm/zOzj83s+Djj\nLBRmdqaZfWhm683skKT1rc3sOzObFE33xxlnoajoekbb9PmsATMrNbN5SZ/JbnHHVGjMrFv0+fuf\nmd1U2b55k/SBV4D27n4gMB24BcDM2gFnA+2AbsD9ZpZPceerKcDpwH9TbJvh7gdH01U5jqtQpbye\n+nxmhAN/T/pMjow7oEIS3fDaj/D5aweca2b7VbR/3nw43X2Uu2+IFscBu0XzpwJPufva6IauGYQb\nvKQS7v6xu0+PO47aopLrqc9nZuiGmC33/Q2v7r4WSNzwmlLeJP1yLgVeiuZ3JdzAlTCPcIOXbLk2\n0c/oMjM7Mu5gCpw+n5nxq6hq999mpnHFqyfVDa8VfgZz2nvHzEYBO6fY9Ft3fzHa51Zgjbs/WclL\nqfWZ9K5nCvOBlu6+JKqbHmpm7d19edYCLRBbeD1T0eeznEqu7a3AA8AfouU/Ar2By3IUWm1Qrc9b\nTpO+ux9X2XYzuxjoTujDn/A50DJpebdoXdGr6npWcMwaYE00/56ZzQT2At7LcHgFZ0uuJ/p8piXd\na2tmDwPV+YKVzT+DLdn01+cm8qZ6J2qxvxE41d1XJW0aBpxjZvXNrA0hQY2PI8YC9n19qZntGDX8\nYGZ7EK7np3EFVqCS65/1+awhM9slafF0QqO5pO9dYK+oZ159QseCYRXtnE9P8ugL1AdGWRjkbKy7\nX+Xu08zsGWAasA64Kj/GXc5vZnY6cC+wIzDCzCa5+4lAZ+D3ZrYW2ABc4e7fxBhqQajoeurzmRF/\nMbODCNUUnwFXxBxPQanuDa+6OUtEpIjkTfWOiIhkn5K+iEgRUdIXESkiSvoiIkVESV9EpIgo6YuI\nFBEl/SJmZjuZ2ZNmNtPM3jWzMWZ2WhXH7G5m527BuU6tbOS/So671Mw+iMZlmWJmp1T3NeIWjXF0\nSDT/2yyfq6GZLTKzxuXWDzWzM6P5bmY2LhrKfJKZPW1mLaNtHc3snWj9NDO7vYLz7G9mj0Sfh7kp\ntk82sw5mdo2ZXZiN9ypbyN01FeFEuKt0LPDzpHWtgKurOK4EeHELzvco0LOax+xGGLWycbTcEGid\ngfdeL8fX+nXgkGh+eQ7ONxC4KGm5KfAVsA3wQ8LQ5fskbe8BHBXNfwLsn/QZ2a+CczwG/Ciafxs4\nOmnbvoRRHwEaA+Nzeb01VT6ppF+8ugCr3f3BxAp3n+Pu/eD7h63818wmRtMR0W53AUdFJcFeZlbH\nwgNwxkel8Z+XP5GZ/ZiQWO6OjtvDzA6KSpSJh+akGlmxBbAcWBnF962H4Yup6PioVH1oNL+jmX0W\nzV9sZsPM7DXCXd+NzKx/0q+IM6L9jo9+8Uw0s2fMrFG597KvmY1LWm5tZh9E813N7L3oNf8d3RKf\ntKvdBTSIrsHj0cqh0a+sqWZ2edLOl5nZJ1GJ/CEz6xutb25mg6PrPT66tuU9BZyTtHw6MNLD8CY3\nAXe6+yeJje7+oru/GS02B76I1runuLPTzLYGOrr7hArOd060Dg8D+S02s/Yp4pQ4xP2toymeCbiG\n8OCKirY3ALaO5vcCJkTznUkq6QM/B26N5rcGJpCiNA70B85IWv6AjaXL3wN9UhxTBxgJzAYeAU6u\n6ng2LVXvCHwWzV9MGH62WbT8l+T3DzSL9n8DaBCtuwm4LUVckxLvMdrnt4RS9BygbbR+ANArRUzL\ny73WdknXewqwHWG45s+imOoRHtxyb7Tfk0CnaL4VMC1FfPUJiTvx2iOB7tH8RKKSfAV/99uAr4Eh\n0d926xT7dCz3GdiJMHprnWh5GtAuafvvgV/E/ZnXFCaV9IvXJuNvmFm/qB42MVhYfeDhqBT7DJCo\njy//sIvjgYvMbBLwDrA90LaCc1p0rqZAU99YuhwAHL1ZgO4b3L0b8BNClUQfM7s93eNTGOUbxxnq\nCtyXdK5vCMmsHTAmej8XERJrec8QBrUCOAsYBOxD+IKZUc2YepnZZEJV227A3oSHYrzh7t+4+zrg\nWTZe92OBflF8LwCNzaxh8gt6GEl1GHCmme0IHEQYl2UTZrZD9Df/xMyuj479I3AY4Ul25xG+MMrb\nHViQdL6FwFTgWAtj6Kxz92lJ+88HWqdxLSQH8mnANcmtD4GeiQV3v9rMdiCM2AdwLbDA3S+0MCrn\nqhSvkXC1u49KXmFmdwAnhZf2xDNlKxroKfFlUIcwxLMDL7h7aRTbBGCChTHZ+wN9Uh0fWcfGDgrb\nlNtvZSXHJYxy9/MqiDNhEPCsmQ0J4flMMzswjdfedAezEsKXT0d3X2Vmr0cxl79OlrTOgMOjxF6Z\npwildgOGuvv6aP2HwKHAFHdfDBwUJfxtEwe6+6fAP83sIeArM9vO3ZckvbaneH+JKp6FhF8jFcUv\nMVNJv0i5+2hgGzO7Mml1Izb+52xCVLdLKPHWjeaXExrnEl4GrjKzegBmtreZNXT3//PwvNNDko5r\nEp17KbDENj6160KgLCrZHxQdV2pmu9imDyE/GJjl7stSHR/NzyKUVCH8QqjIKOCXiYWoTeAdoJOZ\n7Rmta2Rme5U/MEqK6wlJ9elo9SdA68Sx5WJKtjZxraLrsSRK+PsSfmk4oYqss5k1i/btmXT8K4Sq\nuUTcB1Xw/soIvxp+SVS/HvkrcGt0voTv/+5mdlLS+r0JX6LlR2GdzeYPRBlC+JI/m43XJGEXwt9F\n8kHc9Uua4psI/3GfIoynPw4YDZwZbWsLvA9MJjTeLovW1wNei9b3IpTi7iTUsU+JtjVJca4fE0qZ\nE4E9gAMJVRrvExJG0xTHtIpe7yNCPfrLQJtoW8rjCdUs7xN+MfwR+DRa/1OievFouRGhR9GU6L2c\nFq0/hjAe/vvRdHIF1+56QuJvlbSuS3TeD4CHga2i9cl1+ncR6rwfJ1ShvRQtPx9d/6Oj/S4nVGm9\nE8V5R7R+B0JSfT+6nvdX8vftA8xLsb579B4/Bt4i9PZJtEU8RfgCm0T48jkuxfHbANNTrH8eGJNi\n/X+A9nF/3jWFSUMri+QhM2vk7iujkv4QwhjpL8QdV4KZPQo84O7jqtivCfCau/8oJ4FJlVS9I5Kf\nSqPG2imEXyt5k/AjfwOurHKv0GvqH9kNRapDJX0RkSKikr6ISBFR0hcRKSJK+iIiRURJX0SkiCjp\ni4gUESV9EZEi8v8XGfP7v8BOYgAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x26d0af0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGSoff = -20.0 #Gate-Source voltage (in volts)\n",
+ "IDSS = 12.0 #Drain-Source current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When VGS = -5 V \n",
+ "VGS1 = -5 #VGS (in volts)\n",
+ "ID1 = IDSS * (1 - VGS1/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -10 V\n",
+ "VGS2 = -10 #VGS (in volts)\n",
+ "ID2 = IDSS * (1 - VGS2/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -15 V\n",
+ "VGS3 = -15 #VGS (in volts)\n",
+ "ID3 = IDSS * (1 - VGS3/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Drain current when VGS = 0 V is \",ID1,\" mA.\\nDrain Current when VGS = -1 V is \",ID2,\" mA.\\nDrain Current when VGS = -4 V is \",ID3,\" mA.\" \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-20,0,100)\n",
+ "y = x\n",
+ "plot(x,12*(1+y/20)**2,'r')\n",
+ "title(\"transconductance curve\")\n",
+ "xlabel(\"Gate-to-Source voltage VGS (V)\")\n",
+ "ylabel(\"Drain current ID(mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.3 , Page Number 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum curve and minimum curves are plotted as shown in the following plots.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6249bd0>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n4/znR7ZdAyx19++b2dXh+jUxjlVSevfuTf/+/QHo378/p59+OgDHHXccdXV1ALz//vtMmjSJl156\nCTNj165dQPAWbt68eQwYMIBLL72U4cOH73N8M2vIlI877jgOOeSQRuerq6vj+OOPbza+OO1POOGE\nhv03bdpEr169GDx4MND4HURzOnTowPjx4xuWR48ezaOPPsr48eP51a9+xezZs1m2bBnPP/88I0aM\nAGDnzp0Ny3mn2r0UoVY7fXevbO/B3f0pM2va/gvAKeHyPUANZdjp77fffg3LFRUVdOrUqWF59+7d\nAFx//fWcdtppLFq0iFdffZXq6uqGNi+++CJdu3blr3/9a7PniB6z6flS57BICWL79u1tbt+ajh07\nUl9f37D+0UcfNSzvv//+jc5//vnnM2fOHA4++GCGDh1K586dATjjjDO47777Yp0vJ1S7lyIWZxqG\nzmZ2fTiCBzM7yszGZHDOnu6+OVzeDPTM4Fgl7YMPPuDTYfZ49913N2z/29/+xhVXXMFTTz3Fu+++\ny4MPPgiQKo21Sc+ePXnhhReor69n0aJFjTrhtjjmmGN44403WLVqFQBbt25lz549VFZWUltbi7vz\n2muvsWLFimaPccopp7BmzRruvPNOzj//fABOOukkli9fzssvvwzAtm3b+OMf/9iuGLNCtXspcnHK\nO3cTzK2fek/9OrAQeCzTk7sHdd10z82cObNhubq6ulGWWwqadq7R9dTyVVddxeTJk7nppps466yz\nGrZfeeWVTJ06lSOPPJK77rqLUaNGMXLkSMws7XHSnS/l5ptvZsyYMfTo0YMhQ4Y0+pC0pfZN1zt1\n6sSCBQuYNm0a27dv58ADD+R3v/sdVVVV9O7dm379+nHsscc2lH/SHaOiooIxY8Zwzz33MH9+UBHs\n0aMH8+bNY+LEiezYsQOAWbNmcdRRR6W9nsQou5cCVFNTQ01NTZvaxBmyudrdB5vZWnc/Mdy2zt1P\naLHh3vaVwGJ3HxCuvwBUu/ubZtYLWObufZu08fZkrSKJiNbu585V7V4KVraGbO4wswMiB+0D7Mgg\nrkeByeHyZODhDI4lkhzNiCklKE55ZybwG+AwM7sPqCIY0dMqM/sFwYe2nzSz14AbgJuB+83sYqAO\nmND8EUTyRCNzpES1WN4xswrgXOBx4ORw87Pu/naiQam8I/mi2r0UsTjlndg1/axG1gp1+pIXqt1L\n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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x61c3fd0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGSoffmin = -2.0 #Gate-Source voltage (in volts)\n",
+ "VGSoffmax = -6.0 #Gate-Source voltage (in volts)\n",
+ "IDSSmin = 8.0 #Drain-Source current (in milli-Ampere)\n",
+ "IDSSmax = 20 #Drain-Source current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#ID = IDSS * (1 - VGS/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Plotting different values of VGS in the graph\n",
+ "\n",
+ "#Result\n",
+ "print \"The maximum curve and minimum curves are plotted as shown in the following plots.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x1 = numpy.linspace(-2,0,2)\n",
+ "y1 = x1\n",
+ "plot(x1,8 * (1 + y1/2)**2)\n",
+ "x2 = numpy.linspace(-6,0,2)\n",
+ "y2 = x2\n",
+ "plot(x2,20 * (1 + y2/6)**2,'r')\n",
+ "title(\"VGs vs ID\")\n",
+ "xlabel(\"Gate-to-Source voltage (VGS)\")\n",
+ "ylabel(\"Drain current ID (mA)\")\n",
+ "annotate(\"maximum curve\",xy=(-5,10))\n",
+ "annotate(\"minimum curve\",xy=(-2.5,5))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.4 , Page Number 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of transconductance is 3.0 mA/V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGS1 = -3.1 #Gate-Source voltage (in volts)\n",
+ "VGS2 = -3.0 #Gate-Source voltage (in volts)\n",
+ "ID1 = 1.0 #Drain current (in milli-Ampere) \n",
+ "ID2 = 1.3 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dVGS = VGS2 - VGS1 #Change in Gate-Source voltage (in volts)\n",
+ "dID = ID2 - ID1 #Change in Drain current (in milli-Ampere)\n",
+ "gm = dID / dVGS #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of transconductance is \",gm,\" mA/V.\"\n",
+ "\n",
+ "#Calculation error in book in the value of gm."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.5 , Page Number 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of transconductance at VGS = -4 V is 2500.0 micro-S.\n",
+ "The value of drain current at VGs = -4 V is 5.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "IDSS = 20.0 #Drain-Source current (in milli-Ampere)\n",
+ "VP = -8.0 #Peak-point Voltage (in volts)\n",
+ "VGS = -4.0 #Gate-Source voltage (in volts)\n",
+ "gmo = 5000 * 10**-3 #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ID = IDSS * (1 - VGS/VP)**2 #Drain current (in milli-Ampere)\n",
+ "gm = gmo * (1 - VGS/VP) #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of transconductance at VGS = -4 V is \",gm * 10**3,\" micro-S.\\nThe value of drain current at VGs = -4 V is \",ID,\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.6 , Page Number 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since the value of VGS is negative for the enhancement-type MOSFET ,this indicated that device is P-channel.\n",
+ "The value of ID when VGS = -6 V is 1.08 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IDon = 10.0 #Drain current (in milli-Ampere)\n",
+ "VGS = -12.0 #Gate-Source voltage (in volts)\n",
+ "VGSth = -3.0 #Threshold Gate-Source voltage (in volts)\n",
+ "VGS1 = -6.0 #Gate-Source voltage in another case (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "K = IDon/(VGS - VGSth)**2 #Transconductance (milli-Ampere per volt)\n",
+ "ID = round(K,2) * (VGS1 - VGSth)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since the value of VGS is negative for the enhancement-type MOSFET ,this indicated that device is P-channel.\"\n",
+ "print \"The value of ID when VGS = -6 V is \",ID,\" mA.\""
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_3.ipynb
new file mode 100644
index 00000000..af280168
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_3.ipynb
@@ -0,0 +1,232 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3cb8b8fdc520e3f251797ccdf611bc794aa673624b9c79bd4319b62d207fbf87"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 17 , Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.1 , Page Number 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 40 #Current (in milli-Ampere)\n",
+ "t = 15 * 10**-3 #time (in seconds)\n",
+ "CFS = 93 #Circuit fusing rate (in Ampere-square second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "SCR = I**2 * t #Surge in the device (in Ampere-square second) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since value of SCR i.e. \",SCR,\" A**2s is less than CFS i.e. \",CFS,\" A**2s.\"\n",
+ "print \"Therefore the device will not be destroyed.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Since value of SCR i.e. 24.0 A**2s is less than CFS i.e. 93 A**2s.\n",
+ "Therefore the device will not be destroyed.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.2 , Page Number 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "SCR = I2t = 75.0 #SCR (in Ampere-square second)\n",
+ "IS = 100.0 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "tmax = I2t / IS**2 #Maximum allowable time (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum allowable time is \",tmax * 10**3,\" ms.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum allowable time is 7.5 ms.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.3 , Page Number 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VD = 0.7 #Voltage (in volts)\n",
+ "n = 0.75 #Intrinsic stand-off ratio\n",
+ "VBB = 12 #Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VP = n * VBB + VD #Peak-point voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Peak - point voltage of the circuit is \",VP,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak - point voltage of the circuit is 9.7 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.4 , Page Number 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rB1 = 4.0 #Resistance (in kilo-ohm)\n",
+ "rB2 = 2.5 #Resistance (in kilo-ohm)\n",
+ "VBB = 15.0 #Base voltage (in volts)\n",
+ "VD = 0.7 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = rB1 / (rB1 + rB2) #Intrinsic stand-off ratio\n",
+ "VP = n * VBB + VD #Peak-point voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic stand off ratio is \",round(n,4),\".\\nPeak-point voltage is \",round(VP), \"V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic stand off ratio is 0.6154 .\n",
+ "Peak-point voltage is 10.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.5 , Page Number 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 0.60 #Intrinsic stand-off ratio\n",
+ "rBB = 7.0 #Base- Bulk resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rB1 = n * rBB #Resistance (in ohm)\n",
+ "rB2 = rBB - rB1 #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Static values of rB1 is \",rB1,\" kilo-ohm and of rB2 is \",rB2,\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Static values of rB1 is 4.2 kilo-ohm and of rB2 is 2.8 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_3.ipynb
new file mode 100644
index 00000000..b30b4176
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_3.ipynb
@@ -0,0 +1,631 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:398dcff950c67b00555f24b637405121303e07cac0f80c5eade231735344738f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 19 , Rectifiers and Filters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.1 , Page Number 430"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230.0 #Primary voltage (in volts)\n",
+ "N2byN1 = 1.0/10 #Turns ratio\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in ratio)\n",
+ "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n",
+ "Vdc = 0.318 * Vm #dc output voltage (in volts)\n",
+ "PIV = Vm #Peak inverse voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"dc output voltage is \",round(Vdc,1),\" V.\\nPIV of the diode is \",round(PIV,1),\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dc output voltage is 10.3 V.\n",
+ "PIV of the diode is 32.5 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.2 , Page Number 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RL = 20 #Load resistance (in kilo-ohm)\n",
+ "V2 = 24 #Secondary voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n",
+ "Im = Vm / RL #Maximumj value of load current (in milli-Ampere)\n",
+ "Idc = 0.318 * Im #dc current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of dc load current is \",round(Idc,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of dc load current is 0.54 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.3 , Page Number 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230 #Primary voltage (in volts)\n",
+ "N2byN1 = 1.0/2.0 #Turns ratio\n",
+ "RL = 200 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n",
+ "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n",
+ "Im = Vm / RL #Maximum value of load current (in Ampere)\n",
+ "Pm = Im**2 * RL #Maximum value of load power (in watt)\n",
+ "Vdc = 0.318 * Vm #Average value of load power (in watt)\n",
+ "Idc = Vdc / RL #Average value of load current (in Ampere)\n",
+ "Pdc = Idc**2 * RL #Average value of load power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of load power is \",round(Pm,1),\" W.\"\n",
+ "print \"Average value of load power is \",round(Pdc,1),\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of load power is 132.3 W.\n",
+ "Average value of load power is 13.4 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.4 , Page Number 432"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vdc = 30.0 #Average value of voltage (in volts)\n",
+ "RL = 600.0 #Load resistance (in ohm)\n",
+ "Rf = 25.0 #forward resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Idc = Vdc / RL #Average value of load current (in Ampere)\n",
+ "Im = round(math.pi * Idc,3) #Maximum value of load current (in Ampere) \n",
+ "Vinmax = Im * (Rf + RL) #Maximum a.c. voltage required at the input (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum a.c. voltage required at the input is \",Vinmax,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum a.c. voltage required at the input is 98.125 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.5 , Page Number 436"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V2 = 30.0 #secondary voltage (in volts)\n",
+ "RL = 5.1 #Load resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = V2 / 2 #Voltage between center - tap and either end of secondary winding (in volts)\n",
+ "Vm = 2**0.5 * VS #maximum value of voltage (in volts)\n",
+ "Vdc = 0.636 * Vm #dc output voltage (in volts)\n",
+ "Idc = Vdc / RL #dc load current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nThe dc output current is \",round(Idc,3),\" mA.\" \n",
+ "\n",
+ "#Slight variation in value of Idc due to less precision used in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dc output voltage is 13.5 V.\n",
+ "The dc output current is 2.645 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.6 , Page Number 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230.0 #primary voltage (in volts)\n",
+ "N2byN1 = 1.0/4.0 #Turns ratio\n",
+ "RL = 200 #Load resistance (in ohm)\n",
+ "fin = 50 #Frequency (in hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n",
+ "Vm = 2**0.5 * V2 #Maximum value of voltage (in volts)\n",
+ "Vdc = 0.636 * Vm #Average value of voltage (in volts)\n",
+ "PIV = Vm #peak inverse voltage (in volts)\n",
+ "fout = 2 * fin #Output frequency (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nPeak inverse Voltage of a diode is \",round(PIV,1),\" V.\\nOutput frequency is \",fout,\" HZ.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dc output voltage is 51.7 V.\n",
+ "Peak inverse Voltage of a diode is 81.3 V.\n",
+ "Output frequency is 100 HZ.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.7 , Page Number 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230.0 #primary voltage (in volts)\n",
+ "N2byN1 = 1.0/5.0 #Turns ratio\n",
+ "RL = 100 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n",
+ "VS = V2 / 2 #Voltage between center - tap and either end of secondary winding (in volts)\n",
+ "Vm = 2**0.5 * VS #Maximum value of voltage (in volts)\n",
+ "Vdc = 2/math.pi * Vm #Averaage value of Voltage (in volts)\n",
+ "PIV = 2 * Vm #Peak inverse voltage (in volts)\n",
+ "n = 0.812 #Efficiency of full wave rectifier\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nPeak inverse voltage is \",round(PIV),\" V.\\nRectification efficiency is \",n,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dc output voltage is 20.7 V.\n",
+ "Peak inverse voltage is 65.0 V.\n",
+ "Rectification efficiency is 0.812 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.8 , Page Number 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 200 #Voltage between center - tap and either end of secondary winding (in volts)\n",
+ "Imax = 700 #Maximum value of current (in milli-Ampere)\n",
+ "Iavg = 250 #Average value of current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Imax1 = 0.8 * Imax #Maximum value of current for normal operation (in milli-Ampere)\n",
+ "Vm = 2**0.5 * VS #Maximum value of voltage (in volts)\n",
+ "RL = Vm / Imax1 #Load resistance (in kilo-ohm)\n",
+ "Vdc = 2 * Vm / math.pi #Average value of voltage (in volts)\n",
+ "Idc = Vdc / RL #Average value of current (in milli-Ampere)\n",
+ "PIV = 2 * Vm #peak Inverse voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of load resistor is \",round(RL,3), \"kilo-ohm.\\nThe dc load voltage and current is \",round(Vdc),\" V and \",Idc,\" mA.\\nPeak inverse voltage is \",round(PIV,2),\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of load resistor is 0.505 kilo-ohm.\n",
+ "The dc load voltage and current is 180.0 V and 356.507072526 mA.\n",
+ "Peak inverse voltage is 565.69 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.9 , Page Number 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vs = 150.0 #Voltage (in volts)\n",
+ "Idc = 2.0 #Average value of current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vdc = 2.34 * Vs #Average calue of voltage (in volts)\n",
+ "Ipi = 1/0.955 * Idc #Peak current per diode (in Ampere)\n",
+ "Iavg = 2.0/3.0 #Average current per diode (in AMpere)\n",
+ "Pdc = Vdc * Idc #Average power delievered to the load (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of Vdc is \",Vdc,\" V.\\nPeak current through each diode is \",round(Ipi,1),\" A.\\nAverage current through each diode is\",round(Iavg,2),\" A.\\nAverage power delievered to the load is \",Pdc,\" W.\"\n",
+ "\n",
+ "#Calculation error in calculating the value of Pdc in book. It's value is 702 but printed value is 701 watt. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vdc is 351.0 V.\n",
+ "Peak current through each diode is 2.1 A.\n",
+ "Average current through each diode is 0.67 A.\n",
+ "Average power delievered to the load is 702.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.10 , Page Number 454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case (a):\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 50.0 #Frequency (in Hertz)\n",
+ "g = 0.05 #Ripple factor\n",
+ "RL = 100.0 #Resistance (in ohm)\n",
+ "w = 2 * math.pi * f #Angular frequency (in radians per second) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = RL / (3 * 2**0.5 * w * g) #Inductance (in Henry) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of inductance is \",round(L,1),\" H.\"\n",
+ "\n",
+ "#Case (b):\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 400.0 #Frequency (in Hertz)\n",
+ "g = 0.05 #Ripple factor\n",
+ "RL = 100.0 #Resistance (in ohm)\n",
+ "w = 2 * math.pi * f #Angular frequency (in radians per second) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = RL / (3 * 2**0.5 * w * g) #Inductance (in Henry) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"New Value of inductance is \",round(L,3),\" H.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of inductance is 1.5 H.\n",
+ "New Value of inductance is 0.188 H.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.11 , Page Number 455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vdc = 30.0 #Average value of voltage (in volts)\n",
+ "RL = 1.0 #Resistance (in kilo-ohm)\n",
+ "gamma = 0.01 #Ripple factor\n",
+ "f = 50 #Frequency (in Hertz)\n",
+ "#Calculation\n",
+ "\n",
+ "C = 2890.0 / (gamma * RL) #Capacitance (in nano Farad)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of capacitance is \",C * 10**-3,\" micro-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of capacitance is 289.0 micro-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.12 , Page Number 456 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vdc = 12.0 #Average value of voltage (in volts)\n",
+ "Idc = 100.0 #Average value of current (in milli-Ampere) \n",
+ "gamma = 0.01 #Ripple factor\n",
+ "L = 1.0 #Inductance (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1.195 / (gamma * L) #Capacitance\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance is \",C,\" micro-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance is 119.5 micro-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.13 , Page Number 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Idc = 0.2 #Average value of current (in Ampere)\n",
+ "Vdc = 30.0 #Average value of voltage (in volts)\n",
+ "C1 = C2 = 100.0 #Capacitance (in milli-Farad)\n",
+ "L = 5.0 #Inductance (in Henry)\n",
+ "f = 50.0 #Frequency (in Hertz) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = Vdc / Idc #Load resistance (in ohm)\n",
+ "gamma = 5700.0 / (C1 * C2 * RL * L) #Ripple factor\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Ripple factor for 50 Hz supply is \",gamma,\".\"\n",
+ "\n",
+ "#Correction to be done in the formula for ripple factor used in the question. \n",
+ "#gamma = 5700 / (c1 * C2 * RL * L) --> right formula."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ripple factor for 50 Hz supply is 0.00076 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_3.ipynb
new file mode 100644
index 00000000..1f38d9f5
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_3.ipynb
@@ -0,0 +1,1073 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3f6f8c6aa40baa220c4ea0b8e7685dc9b0e8f03f18d988b32da3acf61ee85875"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 20 , Regulated Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.1 , Page Number 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "dVL = 100.0 * 10**-6 #Change in output voltage (in volts)\n",
+ "dVin = 5.0 #Change in input voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "LR = dVL / dVin #Line regulation (in volt per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of line regulation is \",LR * 10**6,\" micro-volt/volt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of line regulation is 20.0 micro-volt/volt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.2 , Page Number 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "LR = 1.4 #Line regulation (in micro-volt per volt) \n",
+ "dVS = 10 #Change in source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dVL = LR * dVS #Change in output voltage (in micro-volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The change in output voltage is \",dVL,\" micro-volt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in output voltage is 14.0 micro-volt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.3 , Page Number 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "dIL = 40.0 #Change in current (in milli-Ampere)\n",
+ "VNL = 8.0 #Voltage under no load (in volts)\n",
+ "VFL = 7.995 #Voltage under full load (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "LR = (VNL - VFL)/ dIL #Line regulation (in milli-volt per milli-Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Line regulation is \",LR * 10**3,\"mV/mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Line regulation is 0.125 mV/mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.4 , Page Number 467"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "LR = 10.0 #Load regulation (in micro-volt per milli-Ampere)\n",
+ "VNL = 5.0 #No load Voltage (in volts)\n",
+ "dIL = 20.0 #Change in current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VFL = VNL - LR * dIL * 10**-6 #Full load Voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Full load Voltage is \",VFL,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Full load Voltage is 4.9998 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.5 , Page Number 467"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V0 = 10 #Regulated dc supply (in volts)\n",
+ "LR = 0.00002 #Line regulation \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dV = LR * V0 #Change in output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Change in output voltage is \",dV * 10**3,\" mV.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in output voltage is 0.2 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.6 , Page Number 468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 30.0 #Source voltage (in volts)\n",
+ "RS = 240.0 #Series resistance (in ohm)\n",
+ "Vz = 12.0 #Zener voltage (in volts)\n",
+ "RL = 500.0 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VL = Vz #Voltage drop across load (in volts)\n",
+ "IS = (VS - Vz) / RS #Current through RS (in Ampere)\n",
+ "VRS = IS * RS #Voltage drop across series resistance (in volts)\n",
+ "IL = VL / RL #Load current (in Ampere)\n",
+ "IZ = IS - IL #Zener current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load voltage is \",VL,\" V.\\nVoltage drop across series resistance is \",VRS,\" V.\\nCurrent through Zener diode is \",IZ,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load voltage is 12.0 V.\n",
+ "Voltage drop across series resistance is 18.0 V.\n",
+ "Current through Zener diode is 0.051 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.7 , Page Number 470"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 5.1 #Voltage across zener diode (in volts)\n",
+ "rZ = 10 #Zener diode resistance (in ohm)\n",
+ "IZmin = 1 * 10**-3 #Minimum zener diode current (in Ampere)\n",
+ "IZmax = 15 * 10**-3 #Maximum zener diode current (in Ampere)\n",
+ "RS = 600 #Serier resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VOmin = VZ + IZmin * rZ #Minimum value of output voltage (in volts)\n",
+ "VSmin = IZmin * RS + VOmin #Minimum value of input voltage (in volts)\n",
+ "VOmax = VZ + IZmax * rZ #Maximum value of output voltage (in volts)\n",
+ "VSmax = IZmax * RS + VOmax #Maximum value of input voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of input voltage is \",VSmin,\" V.\\nMaximum value of input voltage is \",VSmax,\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of input voltage is 5.71 V.\n",
+ "Maximum value of input voltage is 14.25 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.8 , Page Number 470"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 24.0 #Source voltage (in volts)\n",
+ "RS = 500.0 #Series resistance (in ohm)\n",
+ "VZ = 12.0 #Zener Voltage (in volts)\n",
+ "IZmin = 3.0 #Minimum Zener current (in milli-Ampere)\n",
+ "IZmax = 90.0 #Maximum Zener current (in milli-Ampere)\n",
+ "rZ = 0.0 #Zener resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IS = (VS - VZ) / RS #Current through RS (in Ampere)\n",
+ "ILmax = IS - IZmin * 10**-3 #Maximum value of load Current (in Ampere) \n",
+ "RLmin = VZ / ILmax #Minimum value of Load resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of load resistance is \",round(RLmin),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of load resistance is 571.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.9 , Page Number 471"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 10.0 #Zener voltage (in volts)\n",
+ "RS = 1.0 #Series Resistance (in kilo-ohm) \n",
+ "RL = 2.0 #Load Resistance (in kilo-ohm)\n",
+ "VSmin = 22.0 #Minimum source voltage (in volts) \n",
+ "VSmax = 40 #Maximum source voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IL = VZ / RL #Load current (in milli-Ampere)\n",
+ "IZmax = (VSmax - VZ) / RS - IL #Maximum value of zener current (in milli-Ampere)\n",
+ "IZmin = (VSmin - VZ) / RS - IL #Minimum value of zener current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of zener current is \",IZmax,\" mA.\\nMinimum value of zener current is \",IZmin,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of zener current is 25.0 mA.\n",
+ "Minimum value of zener current is 7.0 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.10 , Page Number 472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 10.0 #Zener voltage (in volts)\n",
+ "VSmin = 13.0 #Minimum source voltage (in volts)\n",
+ "VSmax = 16.0 #Maximum source voltage (in volts)\n",
+ "ILmin = 10.0 #Minimum load current (in milli-Ampere)\n",
+ "ILmax = 85.0 #Maximum load current (in milli-Ampere)\n",
+ "IZmin = 15.0 #Minimum zener current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RSmax = (VSmin - VZ)/ (IZmin + ILmax) #Maximum value of RS (in kilo-ohm)\n",
+ "IZmax = (VSmax - VZ)/ RSmax - ILmin #Maximum zener current (in milli-Ampere)\n",
+ "PZmax = IZmax * 10**-3 * VZ #Maximum power dissipation in zener (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of RS is \",RSmax * 10**3,\" ohm.\\nMaximum power dissipation be the zener diode is \",PZmax,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of RS is 30.0 ohm.\n",
+ "Maximum power dissipation be the zener diode is 1.9 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.11 , Page Number 473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VSmin = 19.5 #Minimum source voltage (in volts)\n",
+ "VSmax = 22.5 #Maximum source voltage (in volts)\n",
+ "RL = 6.0 * 10**3 #Load resistance (in ohm)\n",
+ "VZ = 18.0 #Zener voltage (in volts)\n",
+ "IZmin = 2.0 * 10**-6 #Minimum zener current (in Ampere)\n",
+ "PZmax = 60.0 * 10**-3 #Maximum power dissipation (in watt)\n",
+ "rZ = 20.0 #Zener resistance (in ohm)\n",
+ "VL = VZ #Voltage across load resistance (in volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IZmax = (PZmax / rZ)**0.5 #Maximum value of zener current (in milli-Ampere)\n",
+ "IL = VL / RL #Load current (in milli-Ampere)\n",
+ "RSmax = (VSmin - VZ) / (IZmin + IL) #Maximum value of regulating resistance (in kilo-ohm) \n",
+ "RSmin = (VSmax - VZ) / (IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Magnitude of regulating resistance should be between \",round(RSmin,1),\" ohm and \",round(RSmax),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of regulating resistance should be between 77.9 ohm and 500.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.12 , Page Number 473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VSmin = 8.0 #Minimum source voltage (in volts)\n",
+ "VSmax = 12 #Maximum source voltage (in volts)\n",
+ "RS = 2.2 #Resistance (in kilo-ohm)\n",
+ "VZ = 5.0 #Zener voltage (in volts)\n",
+ "RL = 10.0 #Load resistance (in kilo-ohm)\n",
+ "VL = VZ #Voltage across load (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ISmin = (VSmin - VZ)/ RS #Minimum value of input current (in milli-Ampere)\n",
+ "ISmax = (VSmax - VZ)/RS #Maximum value of input current (in milli-Ampere) \n",
+ "IL = VL / RL #Load current (in milli-Ampere)\n",
+ "IZmin = ISmin - IL #Minimum Zener current (in milli-Ampere)\n",
+ "IZmax = ISmax - IL #Maximum Zener current (in milli-Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of Zener current is \",round(IZmin,3),\" mA.\\nMaximum value of Zener current is \",round(IZmax,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of Zener current is 0.864 mA.\n",
+ "Maximum value of Zener current is 2.682 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.13 , Page Number 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VO = VL = 5.0 #Output voltage (in volts)\n",
+ "IL = 20.0 #Load current (in milli-Ampere)\n",
+ "PZmax = 500.0 #Maximum power dissipation in zener (in milli-watt)\n",
+ "VSmin = 9.0 #Minimum source voltage (in volts)\n",
+ "VSmax = 15.0 #Maximum source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IZmax = PZmax / VZ #Maximum zener current (in milli-Ampere)\n",
+ "ISmax = IL + IZ #Maximum input current (in milli-Ampere)\n",
+ "RSmin = (VSmax - VZ)/(IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm)\n",
+ "IZ = (VSmin - VZ)/ RSmin - IL #Minimum value of zener current \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input varies from the normal 12 v within the range of +- 3 V.\"\n",
+ "print \"Zener current vary from \",IZ,\" mA to \",IZmax,\" mA.\"\n",
+ "print \"For safety purpose RS should be 220 ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input varies from the normal 12 v within the range of +- 3 V.\n",
+ "Zener current vary from 28.0 mA to 100.0 mA.\n",
+ "For safety purpose RS should be 220 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.14 , Page Number 475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RS = 500.0 #Series resistance (in ohm)\n",
+ "RL = 1.0 #Load resistance (in kilo-ohm) \n",
+ "VZ = 10.0 #Zener voltage (in volts)\n",
+ "IZmin = 5.0 #Minimum Zener current (in milli-Ampere)\n",
+ "IZmax = 55.0 #Maximum Zener current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IL = VZ / RL #Load current (in milli-Ampere) \n",
+ "VSmin = (IL + IZmin) * RS * 10**-3 + VZ #Minimum value of input voltage (in volts)\n",
+ "VSmax = (IL + IZmax) * RS * 10**-3 + VZ #Maximum value of input voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The minimum value of voltage level at input is \",VSmin,\" V and the maximum is \",VSmax,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum value of voltage level at input is 17.5 V and the maximum is 42.5 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.15 , Page Number 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 15.0 #Input voltage (in volts)\n",
+ "RS = 33.0 #Series resistance (in ohm)\n",
+ "beta = 100.0 #common-emitter current gain \n",
+ "RL = 100.0 #Load resistance (in ohm)\n",
+ "VZ = 10.0 #Voltage across zener diode (in volts) \n",
+ "VBE = 0.7 #Voltage across base and emitter\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VL = VZ + VBE #Load voltage (in volts)\n",
+ "IL = VL / RL #Load current (in Ampere)\n",
+ "IS = (VS - VL) / RS #Current through RS (in Ampere)\n",
+ "IC = IS - IL #Collector current (in Ampere)\n",
+ "IB = IZ = IC/beta #Base current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load voltage is \",VL,\" V.\"\n",
+ "print \"Load current is \",IL * 10**3,\" mA.\"\n",
+ "print \"Current through Rs is \",round(IS * 10**3,1),\" mA.\"\n",
+ "print \"Collector current is \",round(IC* 10**3,1),\" mA.\"\n",
+ "print \"Base current is \",round(IB * 10**6),\" micro-A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load voltage is 10.7 V.\n",
+ "Load current is 107.0 mA.\n",
+ "Current through Rs is 130.3 mA.\n",
+ "Collector current is 23.3 mA.\n",
+ "Base current is 233.0 micro-A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.16 , Page Number 478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 15.0 #Input voltage (in volts)\n",
+ "VZ = 8.3 #Zener voltage (in volts)\n",
+ "beta = 100.0 #Common-emitter current gain\n",
+ "R = 1.8 #Resistance (in kilo-ohm)\n",
+ "RL = 2.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Voltage across base-emitter junction (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VL = VZ - VBE #Voltage across load (in volts)\n",
+ "VCE = VS - VL #Collector to emitter voltage (in volts)\n",
+ "IR = (VS - VZ)/ R #Current through R (in milli-Ampere)\n",
+ "IL = VL / RL #Load current (in milli-Ampere)\n",
+ "IB = IL / beta #Base current (in milli-Ampere) \n",
+ "IZ = IR - IB #Current through Zener (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load voltage is \",VL,\" V.\"\n",
+ "print \"Collector to Emitter voltage is \",VCE,\" V.\"\n",
+ "print \"Current through R is \",round(IR,2),\" mA.\"\n",
+ "print \"Load current is \",IL,\" mA.\"\n",
+ "print \"Base current is \",IB * 10**3,\" micro-A.\"\n",
+ "print \"Current through Zener is \",round(IZ,2),\" mA.\"\n",
+ "\n",
+ "#Calculation error in book in the value of beta and in IB and IZ."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load voltage is 7.6 V.\n",
+ "Collector to Emitter voltage is 7.4 V.\n",
+ "Current through R is 3.72 mA.\n",
+ "Load current is 3.8 mA.\n",
+ "Base current is 38.0 micro-A.\n",
+ "Current through Zener is 3.68 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.17 , Page Number 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IZmin = 0 #Minimun Zener current (in Ampere)\n",
+ "ILmax = 2.0 #Maximum load current (in Ampere)\n",
+ "VL = 12.0 #Voltage across load (in volts)\n",
+ "VSmin = 15.0 #Minimum Input voltage (in volts)\n",
+ "VSmax = 20.0 #Maximum Input Voltage (in volts)\n",
+ "beta = 100 #common emitter current gain\n",
+ "VBE = 0.5 #Voltage between base-emitter junction (in volts)\n",
+ "VZ = 12.5 #Voltage across zener diode (in volts)\n",
+ "IZmin = 1.0 * 10**-3 #Current through Zener diode \n",
+ "ICmax = ILmax #Maximum Collector current (in Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IBmax = ICmax / beta #Maximum collector current\n",
+ "IR = IBmax + IZmin #Current through resistance R (in Ampere)\n",
+ "Rmax = (VSmin - VZ)/ IR #Maximum value of resistance R (in ohm)\n",
+ "IZmax = (VSmax - VZ)/ Rmax #Maximum value of Zener current (in Ampere)\n",
+ "PZmax = VZ * IZmax #Maximum power dissipation in Zener Diode (in watt)\n",
+ "PRmax = (VSmax - VZ) * IZmax #Maximum power dissipated in Resistance R (in watt)\n",
+ "VCEmax = VSmax - VL #Maximum value of collector-to-emitter voltage (in volts) \n",
+ "PDmax = VCEmax * ILmax #Maximum power dissipation of the transistor (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of R is \",round(Rmax),\" ohm.\\nMaximum power dissipation of the zener diode is \",round(PZmax,2),\" W.\\nMaximum power dissipation of resistance R is \",round(PRmax,2),\" W.\\nMaximum power dissipation of the transistor is \",PDmax,\" W.\"\n",
+ "\n",
+ "#Correction to be done in the formula used for IZmax in the book.Correct approach is used in the solved example here. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of R is 119.0 ohm.\n",
+ "Maximum power dissipation of the zener diode is 0.79 W.\n",
+ "Maximum power dissipation of resistance R is 0.47 W.\n",
+ "Maximum power dissipation of the transistor is 16.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.18 , Page Number 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VL = 12.0 #Voltage across load (in volts)\n",
+ "IL = 200.0 #Load current (in milli-Ampere)\n",
+ "VS = 30.0 #Source voltage (in volts)\n",
+ "RS = 10.0 #Series resistance (in ohm)\n",
+ "beta1 = hfe1 = 150.0 #common-emitter current gain 1\n",
+ "beta2 = hfe2 = 100.0 #common-emitter current gain 2\n",
+ "IC1 = 10.0 #Collector current (in milli-Ampere)\n",
+ "VBE1 = 0.7 #Emitter-to-Base voltage1 (in volts)\n",
+ "VBE2 = 0.7 #Emitter-to-Base voltage2 (in volts)\n",
+ "VZ = VR = 6.0 #Voltage across zener diode (in volts)\n",
+ "RZ = 10.0 #Resistance of zener diode (in ohm)\n",
+ "IZ = 20.0 #Current through zener diode (in milli-Ampere)\n",
+ "ID = 10.0 * 10**-3 #Current (in Ampere) \n",
+ "I1 = 10.0 * 10**-3 #Current (in Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RD = (VL - VZ) / ID #Resistance (in ohm)\n",
+ "V2 = VZ + VBE2 #Voltage (in volts)\n",
+ "R1 = (VL - V2)/I1 #Value of resistance R1 (in ohm)\n",
+ "R2 = R1 * (V2 / (VL - V2)) #Value of resistance R2 (in ohm)\n",
+ "IB1 = (IL + I1 + ID) / beta1 #Base Current IB1 (in Ampere)\n",
+ "I = IB1 + IC1 #Current through resistance R3 (in Ampere)\n",
+ "R3 = (VS - (VBE1 + VL))/I #Value of resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of Resistance RD is \",RD,\" ohm.\\nValue of Resistance R1 and R2 is \",R1,\" ohm and \",R2,\" ohm.\"\n",
+ "print \"Value of Resistance R3 is \",round(R3,1),\" kilo-ohm.\"\n",
+ "\n",
+ "#Error in the formula used for R1 in book. Correct formula is used here."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Resistance RD is 600.0 ohm.\n",
+ "Value of Resistance R1 and R2 is 530.0 ohm and 670.0 ohm.\n",
+ "Value of Resistance R3 is 1.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.19 , Page Number 484"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 25.0 #Source voltage (in volts)\n",
+ "VZ = 15.0 #Zener voltage (in volts)\n",
+ "RL = 1.0 #Load resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = VZ/2 + VBE #Output voltage (in volts)\n",
+ "IL = Vout / RL #Load current (in milli-Ampere)\n",
+ "IE1 = IL #Current (in milli-Ampere)\n",
+ "VCE1 = VS - Vout #Collector-To-Emitter voltage (in volts)\n",
+ "P1 = VCE1 * IE1 #Power dissipated (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Vout is \",Vout,\" V.\\nIL is \",IL,\" mA.\\nIE1 is \",IE1,\" mA.\\nP1 is \",P1,\" W.\"\n",
+ "\n",
+ "#Calculation error in book for the value of P1."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vout is 8.2 V.\n",
+ "IL is 8.2 mA.\n",
+ "IE1 is 8.2 mA.\n",
+ "P1 is 137.76 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.20 , Page Number 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IADJ = 100.0 * 10**-6 #Current (in Ampere)\n",
+ "Vin = 35.0 #Input voltage (in volts)\n",
+ "R1 = 220.0 #Resistance1 (in ohm)\n",
+ "R2min = 0 #Resistance2 minimum (in ohm)\n",
+ "R2max = 5.0 * 10**3 #Resistance2 maximum (in ohm)\n",
+ "VREF = 1.25 #Reference voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Voutmin = VREF * (R2min/R1 + 1) + IADJ * R2min #Minimum output voltage (in volts)\n",
+ "Voutmax = VREF * (R2max/R1 + 1) + IADJ * R2max #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum output voltage is \",round(Voutmax,2),\" V.\\nMinimum output voltage is \",Voutmin,\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum output voltage is 30.16 V.\n",
+ "Minimum output voltage is 1.25 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.21 , Page Number 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 220.0 #Resistance1 (in ohm)\n",
+ "R2 = 1.5 * 10**3 #Resistance2 (in ohm)\n",
+ "VREF = 1.25 #Reference voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Regulated dc output voltage is \",round(Vo,2),\" V.\"\n",
+ "\n",
+ "#Calculation error in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Regulated dc output voltage is 9.77 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.22 , Page Number 493"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 240.0 #Resistance1 (in ohm)\n",
+ "R2 = 2.4 * 10**3 #Resistance2 (in ohm)\n",
+ "VREF = 1.25 #Reference voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Regulated dc output voltage is \",Vo,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Regulated dc output voltage is 13.75 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_3.ipynb
new file mode 100644
index 00000000..e1d036bc
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_3.ipynb
@@ -0,0 +1,314 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d0d488692d13bd6f786a59c53f9573140cae873125a1ba8e4603dff4ff8f4e4f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 21 , Controlled Rectifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.1 , Page Number 508"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RL = 100.0 #Resistance (in ohm)\n",
+ "Vm = 300.0 #Maximum voltage (in volts) \n",
+ "P1 = 25.0 #Load power1 (in watt)\n",
+ "P2 = 80.0 #Load power2 (in watt)\n",
+ "\n",
+ "#Calculation \n",
+ "\n",
+ "Vdc = Vm / (2 * math.pi) #dc voltage (in volts)\n",
+ "#When power is 25 watt\n",
+ "cosinealpha = (P1 * RL / Vdc**2)**0.5 -1 #cos of alpha \n",
+ "alpha = math.acos(cosinealpha) #Value of alpha (in radians)\n",
+ "\n",
+ "#When power is 80 watt\n",
+ "cosinealpha1 = (P2 * RL / Vdc**2)**0.5 -1 #cos of alpha \n",
+ "alpha1 = math.acos(cosinealpha1) #Value of alpha (in radians)\n",
+ "#Result\n",
+ "\n",
+ "print \"Angular firing control when load power P = 25 W is \",round(alpha * 180.0 / math.pi,2),\" degree.\\nAngular firing control when load power P = 80 W is \",round(alpha1 * 180.0 / math.pi,2),\" degree.\"\n",
+ "\n",
+ "#Calculation difference in value of cosinealpha from book due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular firing control when load power P = 25 W is 87.29 degree.\n",
+ "Angular firing control when load power P = 80 W is 29.16 degree.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.2 , Page Number 509"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vm = 200.0 #maximum voltage (in volts)\n",
+ "RL = 1.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When alpha = 0 degree\n",
+ "Vdc = 0.318 * Vm #dc voltage (in volts)\n",
+ "Idc = Vdc / RL #dc Current (in milli-Ampere)\n",
+ "P = Vdc * Idc #Power (in milli-watt) \n",
+ "\n",
+ "#When alpha = 45 degree \n",
+ "Vdc1 = 0.27 * Vm #dc voltage1 (in volts)\n",
+ "Idc1 = Vdc1 / RL #dc current1 (in milli-Ampere)\n",
+ "P1 = Vdc1 * Idc1 #Power1 (in milli-watt)\n",
+ "\n",
+ "#When alpha = 90 degree\n",
+ "Vdc2 = 0.159 * Vm #dc voltage2 (in volts)\n",
+ "Idc2 = Vdc2 / RL #dc current2 (in milli-Ampere)\n",
+ "P2 = Vdc2 * Idc2 #Power2 (in milli-watt)\n",
+ "\n",
+ "#When alpha = 135 degree\n",
+ "Vdc3 = 0.0466 * Vm #dc voltage3 (in volts)\n",
+ "Idc3 = Vdc3 / RL #dc current3 (in milli-Ampere)\n",
+ "P3 = Vdc3 * Idc3 #Power3 (in milli-watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power delivered when alpha = 0 degree is \",round(P),\" mW.\\nPower delivered when alpha = 45 degree is \",P1,\" mW.\\nPower delivered when alpha = 90 degree is \",round(P2),\" mW.\\nPower delivered when alpha = 135 degree is \",round(P3,2),\" mW.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power delivered when alpha = 0 degree is 4045.0 mW.\n",
+ "Power delivered when alpha = 45 degree is 2916.0 mW.\n",
+ "Power delivered when alpha = 90 degree is 1011.0 mW.\n",
+ "Power delivered when alpha = 135 degree is 86.86 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.3 , Page Number 513"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vrms = 220.0 #rms voltage (in volts)\n",
+ "alpha = 60.0 #Firing angle (in degree) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpharad = alpha * math.pi/180.0 #Firing angle (in radians) \n",
+ "Vm = 2**0.5 * Vrms #Maximum or Peak voltage (in volts)\n",
+ "Vdc = Vm /(2 * math.pi)*(1 + math.cos(alpharad)) #dc output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The d.c. output voltage is \",round(Vdc,2),\" V.\"\n",
+ "\n",
+ "#Slight variation in answer due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The d.c. output voltage is 74.28 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.4 , Page Number 513"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Idc = 0.5 #dc current (in Ampere)\n",
+ "Vrms = 100.0 #Rms voltage (in volts)\n",
+ "alpha = 45.0 #Firing angle (in degree) \n",
+ "Idc = 0.5 #dc current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpharad = alpha * math.pi / 180.0 #Firing angle (in radians)\n",
+ "Vm = 2**0.5 * Vrms #Peak voltage (in volts) \n",
+ "Vdc = Vm / (2 * math.pi)*(1 + math.cos(alpharad)) #Average voltage (in volts)\n",
+ "RL = Vdc / Idc #Load resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of resistance to limit the average current to 0.5 A is \",round(RL,2),\" ohm.\"\n",
+ "\n",
+ "#Slight variation in answer due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of resistance to limit the average current to 0.5 A is 76.85 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.5 , Page Number 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "TON = 30.0 #Chopper ON time (in milli-second)\n",
+ "TOFF = 10.0 #Chopper OFF time (in milli-second) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = TON + TOFF #Total time (in milli-second)\n",
+ "cdc = TON / T #Chopper duty cycle\n",
+ "f = 1 / T #Chopping frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Chopper duty cycle is \",cdc,\".\\nChopping frequency is \",f * 10**3,\" Hz.\"\n",
+ "\n",
+ "#Correction to be done in book , the units mentioned are milli-Ampere but in the calculation it used micro-Ampere."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Chopper duty cycle is 0.75 .\n",
+ "Chopping frequency is 25.0 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.6 , Page Number 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "TON = 30.0 #Chopper ON time (in milli-second)\n",
+ "TOFF = 10.0 #Chopper OFF time (in milli-second) \n",
+ "Vdc = 200.0 #dc voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = TON + TOFF #Total time (in milli-second)\n",
+ "cdc = TON / T #Chopper duty cycle\n",
+ "VL = Vdc * cdc #dc output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Average valuye of dc voltage is \",VL,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average valuye of dc voltage is 150.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_3.ipynb
new file mode 100644
index 00000000..3a6e745d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_3.ipynb
@@ -0,0 +1,1645 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 22 , BJT Biasing and Stabilization"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.1 , Page Number 527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of saturation current is 2.0 mA.\n",
+ "The value of cut-off voltage is 20.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60d98f0>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x26a1670>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VBB = 10.0 #Base Voltage (in volts)\n",
+ "RB = 47.0 #Base Resistance (in kilo-ohm)\n",
+ "VCC = 20.0 #Voltage Source (in volts)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cutoff voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of saturation current is \",ICsat,\" mA.\\nThe value of cut-off voltage is \",VCEcutoff,\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "plot(x,x/10)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.2 , Page Number 528"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Q-points corresponds to 8.84 V and 37.2 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x620f450>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEZCAYAAABxbJkKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XeYVOXZx/HvvRSNlSoCQkAEpQgsgtiiC6KiiCgaEGwY\nxRIbikY0MRJ9bWhUBAtiYokFNUYEOwirKBbKIsVuxIBiwwKCStn7/eM5C8O6u8wuM3Nmd3+f65rL\nM2dOuWcd5p6nm7sjIiLVU07cAYiISHyUBEREqjElARGRakxJQESkGlMSEBGpxpQERESqMSUBqVTM\n7D4zuzrF1xxiZjNSec2Eaxea2a6lvJZvZqdF2yeY2QvpiEGkLEoCUtl49KgKNrwXd3/I3Q+LOR6p\nhpQEpDKyuAMQqSqUBCSrmVmumc01sxVmNgHYuoxjc8zscjP7KDp+tpntUoF77mdms8zsezN7y8z2\nTXjtVDN7J7r+x2Z2RrFzLzGzz81sqZn9oRz33KRKKqpGOtPMPjCz78xsbLHj/xDF8a2ZPW9mzcv7\nPkVASUCymJnVBiYC9wN1gceBYym9Omg4cDxwuLvvAJwKrC7nPesBzwC3AvWAm4Fnov0AXwJ9Eq5/\ni5nlRuf2jmLoBbSJ/rsl+gBdgY7AADM7LLpPP+Ay4BigATADeGQL7yXVlJKAZLN9gJruPtrd17v7\nE8CsMo4/Dfizu38I4O4L3P3bct6zD/B+VEdf6O4TgPeAvtE1n3X3T6LtV4AXgd9F5w4A/unu77j7\nauDKct67uOvdfYW7LwGmA52i/WcB17n7++5eCFwHdDazZlt4P6mGlAQkmzUBPiu271NKbxNoBnyc\ngnv+r4R7NgEws8PN7A0zW25m3wFHAPWj4xoDSxLOK36d8voiYXs1sF20/VtgdFRN9B2wPNrfdAvv\nJ9WQkoBks2X8+ovtt5ReHbQE2G0L7/lZdI/i9/zMzLYCngBGATu5e13gWTYmpWVAYt18uurp/wec\n4e51Ex7buvsbabqfVGFKApLNZgLrzOx8M6tlZv2BbmUcfw9wtZntZkHHhLr8ZD0HtDGzQWZW08wG\nAnsATwO1o8c3QKGZHQ4cmnDuY8AQM2trZtuw5dVBiYyNyeYu4HIzawdgZjua2e9TeC+pRpQEJGu5\n+1qgPzCEUOUxgPBLHAAza25mKxN6AN1M+CJ+EfgBGE/Um8jMFprZoNJuxcb++suBIwkNvN8AFwNH\nuvu37r4SOD+6x7fAIOCphHifJzQoTwM+AF4i+TENxcc/FD8vMcaJwA3ABDP7AVgAaIyBVIilc1EZ\nM9sdmJCwa1fgCuBB4FFCMXsxMMDdv09bICIiUqK0JoFNbmSWQ6hv3Rs4D/jG3UeZ2aVAXXcfkZFA\nRERkg0xWB/UCPoq6ux1F6PtN9N+jMxiHiIhEMpkEjmfjgJZG7v5ltP0l0CiDcYiISCQjSSAa+dmX\nMOJzEx7qo6rKhGAiIpVKzQzd53Bgjrt/HT3/0sx2dvcvzKwx8FXxE8xMiUFEpALcPelJFjNVHTSI\nTec2mQScEm2fQpgf5lfcXY8UPK688srYY6hKD/099ffM5kd5pT0JmNm2hEbh/yTsvh44xMw+AHpG\nz0VEJMPSngTcfZW7N/Aw0KZo37fu3svd27j7oV7KGIHvv/+e4447jrZt29KuXTvefPNNAMaMGUPb\ntm3p0KEDl1566a/Oe//998nNzd3w2HHHHbntttvS9RZFRCqtTLUJVMgFF1zAEUccwb///W/WrVvH\nqlWrmD59OpMmTWL+/PnUqlWLr7/++lfn7b777hQUFABQWFhI06ZNOeaYYzIdftbIy8uLO4QqRX/P\n1NLfM14ZGyxWXmbmLVu25L///e8m+wcMGMBZZ51Fz549k7rOiy++yFVXXcWrr76ajjBFRLKKmeFZ\n2DBcIQ0bNuTUU0+lS5cuDB06lFWrVvHhhx/yyiuvsM8++5CXl8fs2bPLvMaECRMYPHhwhiIWEalc\nsrokULNmTWbOnEm3bt0YNmwY22+/PRMnTqRnz56MHj2aWbNmMXDgwF+VFoqsWbOGpk2b8s4779Cw\nYcMMvwMRkcyrUiWBXXbZhW7dwszBxx13HAUFBTRr1oz+/fsD0K1bN3Jycli+fHmJ5z/33HPstdde\nSgAiIqXI6iTQrFkzPvjgAwCmTp1K+/bt6devH9OmTQPggw8+YM2aNdSvX7/E8x955BEGDSpt9mAR\nEcnq3kGHHDKGE044gTVr1tCqVSvuvfdettlmG/7whz+w5557Urt2bR544AEAPv/8c4YOHcozzzwD\nwKpVq5g6dSrjx4+P8y2IiGS1rG4TyM116tWDceOgVau4IxIRyX5Vqk3grbegd2/o3h1uuAHWro07\nIhGRqiWrSwJFsf33v3DWWfDVV3DPPdC1a8zBiYhkqSpVEiiy667wwgtw8cVw5JFw0UXw449xRyUi\nUvlViiQAYAYnnggLF8Ly5dChAzz3XNxRiYhUbpWiOqgkU6aEKqK994Zbb4VGWptMRKRqVgeV5JBD\nYMECaN4cOnaEe++FLM1nIiJZq9KWBBIVFMDQobDDDqE7aevWaQ5ORCRLVZuSQKLcXHjjDejbF/bd\nF669Vt1JRUSSUSVKAokWL4azz4bPPoPx48MYAxGR6qJalgQStWgBzz4Ll10GRx8N558PK1du9jQR\nkWqpyiUBCN1JBw2CRYvCeIL27eHpp+OOSkQk+1S56qCSTJsGZ54Z2g5uuw123jkllxURyTrVvjqo\nJD17wvz5sNtuoTvp+PFQWBh3VCIi8asWJYFE8+eH7qRbbw133w27757yW4iIxEYlgc3o2BFmzoRj\nj4X994err4Y1a+KOSkQkHmlPAmZWx8z+bWbvmtk7ZtbdzOqZ2RQz+8DMXjSzOumOI1GNGqHX0Ny5\nYbrqLl3g9dczGYGISHbIRElgNPCsu7cFOgLvASOAKe7eBngpep5xzZvDpEnw17+GksE558CKFXFE\nIiISj7QmATPbEfidu/8TwN3XufsPwFHA/dFh9wNHpzOOspjBgAGhO+maNaE76cSJcUUjIpJZaW0Y\nNrPOwDjgHaATMAcYBix197rRMQZ8W/Q84dy0NAxvTn5+6E7aoQOMGQNNmmQ8BBGRCitvw3C6F5qv\nCXQBznX3WWZ2K8WqftzdzazEb/uRI0du2M7LyyMvLy99kW64D7z9NlxzDXTqFBqOzzgDcqpdE7qI\nVAb5+fnk5+dX+Px0lwR2Bl5395bR8wOAy4BdgR7u/oWZNQamu/sexc6NpSSQaOHCkABq1AjdSdu2\njTUcEZHNyqouou7+BbDEzNpEu3oBi4DJwCnRvlOArKyF79ABXn0Vjj8eDjwQRo6EX36JOyoRkdRJ\n+2AxM+sE3APUBj4GTgVqAI8BzYHFwAB3/77YebGXBBItXQrnngvvvx9GHB9wQNwRiYj8WnlLAtVu\nxPCWcIcnnwxjDI48Eq6/HupkdISDiEjZsqo6qKoxg/79Q1sBhO6kTzyhZS1FpPJSSWALzJgRGo53\n3x3GjoVddok7IhGp7lQSyKDf/Q7mzYPOncM01bffrtlJRaRyUUkgRd55J5QKCgtDw3H79nFHJCLV\nkUoCMWnXDl55BU4+OQw4++tf4eef445KRKRsSgIplJMDZ50VqogWLQrVRC+/HHdUIiKlU3VQGk2c\nCOedB717w6hRULfu5s8REdkSqg7KIkcfHbqT1q4d2ggee0zdSUUku6gkkCEzZ4ZlLXfdNfQiat48\n7ohEpCpSSSBL7bcfFBTA3nuHlcxuuw3Wr487KhGp7lQSiMF774XupD//HLqTduoUd0QiUlWoJFAJ\n7LFHWLxm6FDo1Qsuuwx++inuqESkOlISiElOTkgC8+fDxx9Dx47w0ktxRyUi1Y2qg7LE5MlhofuD\nD4abboL69eOOSEQqI1UHVVJ9+4YBZjvsEBazefhhdScVkfQrsyRgZl2AQcCBQAvAgU+BV4CH3b0g\nbYFVs5JAojffDFVFTZvCnXdCixZxRyQilUXKSgJm9iwwHJgNHA/8FmhJSApzgIvN7JktC1dK0r07\nzJkTlrTs2hVuvhnWrYs7KhGpikotCZhZI3f/ssyTzXZy96/SElg1Lgkk+vBDOPNMWLEC7rknzEck\nIlKalJUESksAZvY7M7s9OiYtCUA2at069Bo65xw47DC49FJYvTruqESkqkiqYdjMupjZjWb2KXA1\n8F56w5JEZnDqqbBgASxZAnvuCVOmxB2ViFQFZVUH7U6o/x8IfA08Dlzi7hmZ9UbVQaV79ln44x9D\nm8HNN0ODBnFHJCLZIpVdRN8FugCHufuB7j4G0Gw3WeCII8LspA0ahO6kDz6o7qQiUjFllQSOJpQE\nugPPE0oC/3D3FhkJTCWBpMyaFbqTNmoUupPuumvcEYlInFLZMDzR3QcCHYAZwIVAQzO708wOLUdA\ni81svpkVmNlb0b56ZjbFzD4wsxfNrE6y15NNdesWEsHBB4cZSm+8Ud1JRSR55Zo2wszqAccBx7t7\nzyTP+QTYy92/Tdg3CvjG3UeZ2aVAXXcfUew8lQTK6eOPw/KWy5eH2Un32ivuiEQk08pbEkgqCZhZ\nXaAZUBMwAHefk2RAnwBd3X15wr73gIPc/Usz2xnId/c9ip2nJFAB7vCvf8Ell8CJJ8JVV8G228Yd\nlYhkSsqTgJldDQwB/gsUFu139x5JBvRf4AdCo/I4dx9vZt+5e93odQO+LXqecJ6SwBb4+mu46CJ4\n9VW4664wxkBEqr7yJoGaSRwzEGjl7msqGNP+7r7MzBoCU6JSwAbu7mZW4rf9yJEjN2zn5eWRl5dX\nwRCqn4YNQ4nghRfg7LNh333hlltgp53ijkxEUik/P5/8/PwKn59MSeBJ4KzNTSGR1M3MrgR+BIYC\nee7+hZk1BqarOih9Vq2CkSPhgQdg1Cg4+eQwAE1Eqp50VAd1A54CFgK/RLvd3Y9KIphtgBruvtLM\ntgVeBP4G9AKWu/sNZjYCqKOG4fSbOzd0J61bN1QR7bZb3BGJSKqlIwm8C9xJSAJFbQLu7i8nEUxL\n4MnoaU3gIXe/Lupl9BjQHFgMDHD374udqySQBuvWwejRcN11cPHFMHw41KoVd1QikirpSAKz3L3b\nFkdWTkoC6fXJJ6GtYNmy0J10773jjkhEUiEdSeBmQjXQJDZWB+HucysaZFKBKQmknXtYwWz4cDj+\nePi//4Pttos7KhHZEulIAvmEFcU2kWwX0YpSEsic5ctDIpg+He64A/r0iTsiEamotAwWi4OSQOZN\nnRoWsOnWLbQbNGoUd0QiUl6pXF5yiJmVOo7AzGqb2anlDVCyV69eYc2CFi3CmgX/+IdmJxWp6sqa\nRfRc4DTCAjKzgWWEKSN2BroCewDj3f2OtASmkkCs5s0L3Um32w7GjYM2beKOSESSkdLqoGhKh/2B\nAwjdOQE+BV4FZqbzW1pJIH7r18OYMaHB+MILw3xEtWvHHZWIlEVtApJyn34aVjL73/9Cd9J99ok7\nIhEpjZKApIU7PPZYKBEceyxcey1sv33cUYlIcalcXlJkAzMYODAsa7l6NbRvD5MmxR2ViGwplQSk\nQqZPD91JO3WC226Dxo3jjkhEILVdRIeb2ekl7D/NzIZVNECpGnr0gLffDr2GOnaEu++GwsLNnyci\n2aWsLqJzgX2KryNgZrWBOe6+Z1oDU0mg0pg/P3Qn3WqrkAz22GPz54hIeqSyTaBmSQvJRPs0G71s\n0LEjzJwJv/89HHAAXH01rKnoEkQiklFlJQGL1v8tvrMRJcwlJNVbjRpw3nlQUABvvQW5uSExiEh2\nKysJ3Ag8Y2Z5ZrZ99OgBPAP8PTPhSWXTrFnoNTRyJBx3XBhf8MMPcUclIqUpNQm4+wPAX4CrCAu/\nLCasCnaFu9+XgdikkjILVUOLFoVFbDp0gIkT445KREqiLqKSdi+/DGecEcYWjBkDTZvGHZFI1ZWy\nEcNmNqaM89zdzy9vcOWhJFC1/PxzGGV8551w1VVhjEGOhiqKpFwqk8AQSm4ANkISuL9CESZJSaBq\nWrQodCc1C/MQtWsXd0QiVYvmDpKsV1gId90FV14ZGo4vvzyMMRCRLae5gyTr5eSEL/+CgjDquHNn\nmDEj7qhEqieVBCR2//kPnH9+WNv4hhugTp24IxKpvFJeEjCzA0rYt395AxMpTf/+oa0gJyf0IHri\nCS1rKZIpmy0JmFmBu+dubl8Z59cgLE+51N37mlk94FHgt4SxBwPc/fsSzlNJoBp69dXQnbR1axg7\nNgw+E5HkpXIW0X3NbDjQ0MwuimYVHW5mI8s6rwQXAO+wsafRCGCKu7cBXoqeiwBh7qGCAujSJUw9\nMXZsWOZSRNKjrC/z2sD2QI3ov9tFjxXAcclc3Mx2AY4A7mHjpHNHAUXdS+8Hji531FKlbbVV6Dk0\nYwY8+ijsvz8sWBB3VCJVUzLVQS3cfXGFLm72OHAtsANwcVQd9J27141eN+DboufFzlV1kFBYGMYT\n/OUvoZroiitg663jjkoke5W3OqhmEsdsZWbjgRYJx7u799xMIEcCX7l7gZnllXSMu7uZlfpNP3Lk\nyA3beXl55OWVeBmpwnJywujivn1DD6KOHWHcuLCojYhAfn4++fn5FT4/mZLAfOBOYC5QVDvr7j5n\nM+ddC5wErAO2JpQG/gN0A/Lc/QszawxMd/dfLUOikoCU5Kmn4Nxz4dBD4cYboV69uCMSyS7pGCy2\n1t3vdPc33X129CgzAQC4++Xu3szdWwLHA9Pc/SRgEnBKdNgpQKnzS3bv3p3OnTvTrl07LrvsMgAG\nDhxIbm4uubm5tGzZktzcX3dSWrJkCT169KB9+/Z06NCB2267LYm3KZVBv36hO+k224TupBMmJN+d\ndOnSpfTr1482bdqw2267MWzYMNauXZvegEWynbuX+QBGAucAjYF6RY/NnVfsGgcBk6LtesBU4APg\nRaBOKef4qlWr3N197dq13r17d58xY4YnGj58uF999dVe3LJly7ygoMDd3VeuXOlt2rTxd95551fH\nSeX2+uvuHTq49+nj/umnZR9bWFjo3bp18/vuu8/d3devX++nnXaaX3LJJRmIVCRzwtd6Ob6fN3tA\n6Mv/SfFHeW5SkUf0RtzdfdWqVd61a1dftGjRhn2FhYXerFkz/+ijjzb7R+nXr59PnTo12b+hVCK/\n/OL+f//nXr+++623uq9bV/JxU6dO9QMPPHCTfStWrPD69ev7Tz/9lIFIRTKjvElgs9VB7t7C3VsW\nf6SkGLIZhYWFdO7cmUaNGtGjRw/aJUw5OWPGDBo1akSrVq3KvMbixYspKCige/fu6Q5XYlC7Nvz5\nz2Epy4kTYd99w3xExS1atIi99tprk33bb789zZs356OPPspQtCLZJ5lpI7Y1syuiHkKYWeuo50/a\n5eTkMG/ePJYuXcorr7yySQv4I488wuDBg8s8/8cff+S4445j9OjRbLfddmmOVuLUpg1MmxZ6Eh1y\nCIwYAT/9tPH10Bu5ZOvWrctAhCLZKZmG4XuBNcB+0fPPgWvSFlEJdtxxR/r06cPs2bOB8I/2ySef\nZODAgaWes3btWo499lhOPPFEjj5a49GqAzM47TSYPx8WL4Y994SpU8Nr7dq1Y86cTfszrFixgiVL\nltC6devMByuSJZJJAq3c/QZCIsDdV6U3pI2+/z5MKfTTTz8xZcqUDT2Bpk6dStu2bWnSpEmJ57k7\np512Gu3atWPYsGGZCleyxM47h15Do0eHpDBkCHTufDCrV6/mX//6FwDr169n+PDhDB48mG233Tbe\ngEVilEwS+MXMflP0xMxaAb+kL6SNevbsSefOnenevTt9+/bl4IMPBuDRRx9l0KBBmxz7+eef06dP\nHwBee+01HnzwQaZPn76hO+nzzz+fiZAli/TpE7qT1qkTupOedNKT/Pvf/6ZNmzY0aNCAFStWcNNN\nN8UdpkiskhksdijwZ6AdMAXYHxji7tPTGpgGi0kKvfVWWNaySZOwzvGyZa8zdOhQHn/8cdq2bRt3\neCIpk9LlJc0sB/g9YbbPfaLdb7r711sUZTKBKQlIiq1dC3//O9x0E1x2GVxwAdRMZuIUkUok5WsM\nm9kcd9+rzIPSQElA0uWjj0Ivoh9+CJPTlTDoXKTSSse0EVPM7GIza2Zm9YoeWxCjSKx22y30Gjr3\nXOjdGy65BFavjjsqkXgkUxJYzMYFYYq4u++arqCi+6okIGn31Vdw4YXw+utw111hYjqRyiwtbQLu\n/mgqgisPJQHJpOeegz/+MaxsdvPN0LBh3BGJVExKq4PcvRD40xZHJZLlDj8cFi6EnXaCDh3ggQe0\n2L1UD8lUB10PfENYHH7DQDF3/zatgakkIDGZMyd0J61fP1QRbWZ6KpGsko7eQYv5dZsA6Z5ETklA\n4rRuHdxyC9xwA/zpT3DRRepOKpVDypNAXJQEJBt8/DGcfTZ8/XXoTtq1a9wRiZQtHSWBUyi5JPBA\n+cNLnpKAZAt3eOghuPhiGDwYrroKNCmtZKt0jBPolvA4kLDS2FEVik6kEjKDE08MDcfffBMajp97\nLu6oRFKj3NVBZlYHeNTdD0tPSBvuo5KAZKUpU+Css6B7d7j11tCjSCRbpKMkUNxqICMri4lko0MO\ngQULYJddwpoF996r7qRSeSXTJjA54WkOYTbRx9z90rQGppKAVAIFBaE76Q47wLhxoPVpJG7paBjO\nS3i6DvjU3ZdULLzkKQlIZbFuHYwZA9dcA8OHhwbkWrXijkqqq3QkgV2BZe7+U/T8N0Ajd1+8JYFu\nNjAlAalkFi8O3Uk/+yx0J+3ePe6IpDpKR5vA48D6hOeFwL/LG5hIVdeiBTz7bFjkvl+/sF7BypVx\nRyVStmSSQA13X1P0xN1/ATZb2DWzrc3sTTObZ2bvmNl10f56ZjbFzD4wsxej3kYiVYJZGEuwaBGs\nWBG6kz7zTNxRiZQumSTwjZn1K3oSbX+zuZPc/Wegh7t3BjoCPczsAGAEMMXd2xBWLBtRochFslj9\n+qHX0D//GUoEAwfCF1/EHZXIryWTBM4CLjezJWa2hPClfWYyF3f3oqU6agM1gO8IA83uj/bfDxxd\nrohFKpGDDw7dSXfdFTp2hHvuUXdSyS5JDxYzs+0B3D3pWs5oPYK5QCvgTnf/k5l95+51o9cN+Lbo\nebFz1TAsVcrbb4fupNtsE7qT7r573BFJVVTehuGk50Usz5d/wjmFQGcz2xF4wcx6FHvdzazUb/qR\nI0du2M7LyyMvL6+8IYhkjU6dwgpmt98O++8Pw4aFGUpr1447MqnM8vPzyc/Pr/D5GZtF1MyuAH4C\nTgfy3P0LM2sMTHf3PUo4XiUBqbL+97+wktnixaE76b77xh2RVBUp7SJqZjlmtl8FA2lQ1PMnGltw\nCFAATAJOiQ47BZhYkeuLVGbNm8PkyXDFFdC/f1j0fsWKuKOS6iiZ5SXvqOC1GwPTzGwe8CYw2d1f\nAq4HDjGzD4Ce0XORascs9BpatAh+/hnat4ennoo7KqlukhkxfBPwBvBEJutnVB0k1U1+PpxxRuhF\nNGYMNG4cd0RSGaVjxPBZwGPAGjNbGT1UcBVJsbw8mD8f9tgjJIJx46CwMO6opKrT8pIiWWjBgtCd\ntHZtuPvukBhEkpGW9QTMrJ+Z/d3MbjKzvhUPT0SSseee8NprMGAAHHAA/O1v8MsvcUclVdFmk4CZ\nXQ+cDywC3gXOL5oHSETSp0aN0Gto3jyYOxdyc0NiEEmlZBqGFwCd3X199LwGMM/d90xrYKoOEtnA\nHZ54IsxDdNRRcP31sOOOcUcl2Sgd1UEOJM70WSfaJyIZYgbHHRe6kxYWhu6k//lP3FFJVZBMSWAQ\noS//dMCAg4AR7j4hrYGpJCBSqldeCd1J27aFsWOhadO4I5JskfKSgLs/AuwLPAk8Aeyb7gQgImU7\n8MAwIV3HjtC5M9xxh7qTSsUkUxJ4yd0P3ty+lAemkoBIUt55J3QndQ/zELVvH3dEEqeUlQTM7Ddm\nVh9oGK0GVvRoAajwKZIl2rWDGTPgpJPCgLMrrgjTUIgko6zqoDOB2cDuwJyExyRgbPpDE5Fk5eSE\nRe7nzQuNx506wcsvxx2VVAbJVAed5+5jMhRP4n1VHSRSQU8+CeedB4cfDqNGQd1fLdskVVVauoia\n2YaPkJnVNbM/Vig6EcmIY44JJYLatUMbwWOPaVlLKVkyJYG33b1TsX3zogXk0xeYSgIiKTFzZuhO\n2rJlWNWsefO4I5J0SkdJICdaK7joBjWAWhUJTkQyb7/9wrQTe+8NXbrAbbfB+vVxRyXZItn1BJoD\n4wiDxc4E/ufuw9MamEoCIin33nuhVPDLL6E7aceOcUckqVbekkAySaAGcAZQNC5gCnBP0VxC6aIk\nIJIehYXwj3/A5ZeH8QVXXAG/+U3cUUmqpDwJRBfdBmju7u9tSXDloSQgkl7LloUJ6QoKwgI2PXvG\nHZGkQsrbBMzsKMIC8c9Hz3PNbFLFQxSRbNC4ceg1dPPNMGQI/OEP8O23cUclmZZMw/BIoDvwHYC7\nFwC7pjEmEcmgvn1Dd9LttgvdSR95RN1Jq5NkksBad/++2D5NVSVShWy/feg1NHEiXHcd9OkDn34a\nd1SSCckkgUVmdgJQ08xam9kYYGaa4xKRGHTvDnPmhCUt99oLbrkF1q2LOypJp2R6B20L/Bk4NNr1\nAnC1u6d1iio1DIvE68MPQ3fSlSvhnnvClNWS/dLSO2gLgmkGPADsRFiN7G53v83M6gGPAr8FFgMD\nilc5KQmIxM8d7r0XRoyAU0+FK6+EbbaJOyopS8qSgJlNLuM8d/ejkghmZ2Bnd59nZtsRZiE9GjgV\n+MbdR5nZpUBddx9R7FwlAZEs8eWXMGwYvPVW6E7aq1fcEUlpUpkE8so60d3zyxVZuOZEwjTUY4GD\n3P3LKFHku/sexY5VEhDJMs8+C3/8Ixx0EPz979CgQdwRSXFZVR20yY3CYjQvAx0I007UjfYb8G3R\n84TjlQREstCPP4ZRxo88AjfdBCecAJb0V46kW3mTQM0yLrSgjPPc3ZOedSSqCnoCuMDdV1rCJ8bd\n3cxK/LZ750g3AAATNElEQVQfOXLkhu28vDzy8vKSvaWIpMl224VeQ4MHh2knHnwQ7rwzzFIqmZef\nn09+fn6Fzy+rOqhFWSe6++KkbmBWC3gaeM7db432vQfkufsXZtYYmK7qIJHKZ+3akBBGjQqNx8OG\nQc1Sf1pKJqRr7qBGwN6EHj5vuftXSQZjwP3Acne/MGH/qGjfDWY2AqijhmGRyuvjj+HMM8O0E/fc\nE6aslnikYxbRAcCNhPp8gAOBS9z98SSCOQB4BZhPSCAAlwFvAY8RpqhejLqIilR67vDAA/CnP4VF\n7//2N9h227ijqn7SkQTmA72Kfv2bWUPgpfK0CVSEkoBI5fT113DhhfDaa3DXXXDYYXFHVL2kY2Ux\nA75OeL482ici8isNG25sLD7rLDjxxJAYJDslkwSeB14wsyFmdirwLPBcesMSkcqud29YuBB23hk6\ndID779fspNko2YbhY4H9o6cz3P3JtEaFqoNEqpK5c+H006FevTDiuFWruCOqulJWHRTNGHoAgLs/\n4e4XuftFwNdmpv+FIpK0Ll3ClBOHHx5mKr3hhtC9VOJXVnXQrcCKEvaviF4TEUlazZowfDjMmgXT\npkG3bmFb4lVWEmjk7vOL74z2aWygiFRIy5bw/PNw8cVhVbMLLwxTUUg8ykoCdcp4betUByIi1YdZ\n6DW0cGEYYNahQ5icTjKvrCQw28zOKL7TzIYSpoQWEdkiDRqEXkPjx8N558GgQWHaasmcsuYO2hl4\nEljDxi/9vYCtgGPcfVlaA1PvIJFqZfXqMMr43nvh+uvDIjaanbT8UjpiOJr7pwdh+mcHFrn7tC2O\nMpnAlAREqqV588LspNtvH7qTtm4dd0SVS9auJ1BeSgIi1de6dTBmDFxzDVx0EVxyCdSqFXdUlYOS\ngIhUGYsXh5XMli4N7Qbdu8cdUfZLx9xBIiKxaNECnnkGLrsMjj4azj8fVq6MO6qqRUlARLKaWeg1\ntGhRGE/Qvj1Mnhx3VFWHqoNEpFKZPh3OOANyc2H0aGjcOO6Isouqg0SkSuvRA+bPh912g06dQltB\nYWHcUVVeKgmISKU1f37oTrr11nD33bD77nFHFD+VBESk2ujYEWbOhGOPhf33h6uvhjVr4o6qclES\nEJFKrUaN0Gto7twwXXWXLvD663FHVXmoOkhEqgx3ePxxGDYMjjkGrrsOdtgh7qgyS9VBIlJtmcGA\nAaE76Zo1oTvpxIlxR5XdVBIQkSrr5ZdDd9IOHcI0FE2axB1R+qkkICISOeggePttaNcudCe96y51\nJy0urSUBM/sn0Af4yt33jPbVAx4FfgssBga4+/clnKuSgIikzMKFoVSQkxO6k7ZrF3dE6ZFtJYF7\ngd7F9o0Aprh7G+Cl6LmISFp16ACvvhqmoDjwQLjySvjll7ijil9ak4C7zwC+K7b7KOD+aPt+4Oh0\nxiAiUiQnB845J6xZMG9eqCKaMSPuqOIVR5tAI3cvWkDuS6BRDDGISDW2yy6h19A118Dxx8OZZ8L3\nv6qUrh5qxnlzd3czK7Xif+TIkRu28/LyyMvLy0BUIlIdmIWRxgcfDCNGhO6kt90G/ftXrmUt8/Pz\nyc/Pr/D5ae8iamYtgMkJDcPvAXnu/oWZNQamu/seJZynhmERyZhXXw0Nx61bw+23h9JCZZRtDcMl\nmQScEm2fAmgoh4jE7oADoKAgTDuRmwtjx8L69XFHlX7p7iL6CHAQ0IBQ//9X4CngMaA56iIqIlno\n3XdDqWDdutCddM89444oeVpjWEQkBQoLw1oFf/lLaDj+y1/ClNXZrjJUB4mIZL2cnPDl//bb8N57\nYdrqLWh/zVoqCYiIJOGpp+Dcc+Gww+DGG6Fu3bgjKplKAiIiadCvX5iddOutQ3fSRx8NU1dXdioJ\niIiU08yZoeG4RQu44w5o3jzuiDZSSUBEJM322y+sZLbPPqFL6ejRlbc7qUoCIiJb4P33QwPyTz+F\n3kQdO8Ybj0oCIiIZtPvuMG0aDB0KvXrB5ZeHhFBZKAmIiGyhnBw4/XSYPx8+/jiUBqZNizuq5Kg6\nSEQkxZ5+OkxZ3bMn3HQT1K+fuXurOkhEJGZHHhlWMtthh7CYzcMPZ293UpUERETS6M03Q3tB06Zw\n552hW2k6qSQgIpJFuneHOXPCkpZdu8LNN4eJ6bKFSgIiIhny4Ydw1lnwww+hO2luburvoZKAiEiW\nat0apk4NcxD17g1/+hOsXh1vTEoCIiIZZAZDhsCCBbB0aVirYMqUGOPJ1ioXVQeJSHXw3HNw9tmh\nzeDmm6FBgy27nqqDREQqkcMPD91JGzQI3Un/9a/MdidVSUBEJEvMmhW6k+60E9x1F+y6a/mvoZKA\niEgl1a1bSAS9esHee4fFa9LdnVRJQKqN6667jvbt27PnnnsyePBgfvnll01e/+abb+jduzedO3em\nQ4cO3HfffZu8vn79enJzc+nbt28Go5bqplat0GvozTfhxRdDYpgzJ333UxKQamHx4sWMHz+euXPn\nsmDBAtavX8+ECRM2OWbs2LHk5uYyb9488vPzGT58OOsSfoaNHj2adu3aYZZ0SVukwlq1Ckngooug\nTx8YPhx+/DH191ESkGphhx12oFatWqxevZp169axevVqmjZtuskxjRs3ZsWKFQCsWLGC+vXrU7Nm\nTQCWLl3Ks88+y+mnn47aqiRTzOCkk0J30q++Cg3Hzz2X2nvElgTMrLeZvWdmH5rZpXHFIdVDvXr1\nGD58OM2bN6dJkybUqVOHXr16bXLM0KFDWbRoEU2aNKFTp06MHj16w2sXXnghN954Izk5+t0kmdew\nYeg1dPfdYXbSE04ISSEVYvlEm1kNYCzQG2gHDDKztnHEUh3k5+fHHULsPv74Y2699VYWL17M559/\nzo8//shDDz20yTHXXnstnTt35vPPP2fevHmcc845rFy5kqeffpqddtqJ3Nxc3J3ly5fH9C6qJn0+\nk3fooaFU0LRpGGR2331b3p00rp81ewMfuftid18LTAD6xRRLlad/ZDB79mz222+/DVU8/fv3Z+bM\nmZscM3PmTH7/+98D0KpVK1q2bMl7773HzJkzmTRpEi1btmTQoEHMnj2bk08+OY63USXp81k+224L\no0bB88/DmDFwyCHw0UcVv15cSaApsCTh+dJon0ha7LHHHrzxxhv89NNPuDtTp06lXbt2vzpm6tSp\nAHz55Ze8//77tGrVimuvvZYlS5bwySefMGHCBFq2bMkDDzwQx9sQ2SA3N/QgOuKIsOD99dfD2rXl\nv05cSUAta5JRnTp14uSTT6Zr1650jFYCHzp0KOPGjWPcuHEAXH755cyePZtOnTrRq1cvRo0aRb16\n9eIMW6RMNWuG3kOzZkF+fpiqurxiGTFsZvsAI929d/T8MqDQ3W9IOEaJQkSkAsozYjiuJFATeB84\nGPgceAsY5O7vZjwYEZFqrGYcN3X3dWZ2LvACUAP4hxKAiEjmZe0EciIikn5ZN/JFg8hSy8wWm9l8\nMysws7fijqeyMbN/mtmXZrYgYV89M5tiZh+Y2YtmVifOGCuLUv6WI81safT5LDCz3nHGWJmYWTMz\n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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x60aaf10>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 300.0 #Collector resistance (in ohm)\n",
+ "VBB = 10.0 #Base voltage (in volts)\n",
+ "RB = 50.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common-emittter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in Ampere)\n",
+ "VCEcutoff = VCC #Cutoff voltage (in volts)\n",
+ "#Using kirchoff's voltage law\n",
+ "IB = (VBB - 0.7) / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Q-points corresponds to \",VCE,\" V and \",IC,\" mA.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "plot(x,66.7 - 66.7/20 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"Q\",xy=(8.84,37.2))\n",
+ "annotate(\"66.7\",xy=(0,66.7))\n",
+ "annotate(\"37.2\",xy=(0,37.2))\n",
+ "annotate(\"8.84\",xy=(8.84,0))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.3 , Page Number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of base current is 0.14 mA.\n",
+ "The value of Collector current is 11.11 mA.\n",
+ "THe value of Collector-to-Emitter voltage is 15.89 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 25.0 #Source voltage (in volts)\n",
+ "RC = 820.0 #Collector Resistance (in ohm)\n",
+ "RB = 180.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 80.0 #Common-Emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of base current is \",round(IB,2),\" mA.\\nThe value of Collector current is \",round(IC,2),\" mA.\\nTHe value of Collector-to-Emitter voltage is \",round(VCE,2),\" V.\"\n",
+ "\n",
+ "#Slight variation in answers due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.4 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The base current is 0.05 mA.\n",
+ "The collector current is 5.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VBB = 2.7 #Base voltage (in Volts)\n",
+ "RB = 40.0 #Base resistance (in kilo-ohm)\n",
+ "VCC = 10.0 #Supply voltage (in volts)\n",
+ "RC = 2.5 #Collector resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "beta = 100.0 #Current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The base current is \",IB,\" mA.\"\n",
+ "print \"The collector current is \",IC,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.5 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of collector current is for operation in saturation region is 1.0 mA.\n",
+ "Since 1.29 mA is greater than 1.0 mA , therefore it will operate in saturation region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "VBB = 5.0 #Base voltage (in volts)\n",
+ "RB = 100.0 #Base Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 30.0 #Common-Emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base Current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector Current (in milli-Ampere)\n",
+ "IC1 = VCC / RC #Collector Current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of collector current is for operation in saturation region is \",IC1,\" mA.\\nSince \",IC,\" mA is greater than \",IC1,\" mA , therefore it will operate in saturation region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.6 , Page Number 535"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stability factor for the fixed bias circuit is 101.0 .\n",
+ "The voltage between the collector and the ground is 2.1 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 330.0 #Collector resistance (in ohm)\n",
+ "IB = 0.3 #Base current (in milli-Ampere)\n",
+ "beta = 100.0 #Common-emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RB = VCC / IB #Resistance (in kilo-ohm)\n",
+ "S = 1 + beta #Stability factor \n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-Ground voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Stability factor for the fixed bias circuit is \",S,\".\\nThe voltage between the collector and the ground is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.7 , Page Number 536"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VCE of the transistor is 8.0 V.\n",
+ "VCC of the transistor is 20.0 V.\n",
+ "IB of the transistor is 0.04 mA.\n",
+ "IC of transistor is 4.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 2.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 400.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain\n",
+ "RE = 1.0 #Emitter Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC / (RB + beta * RE) #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector Current (in milli-Ampere)\n",
+ "VCE = VCC - IC * (RC + RE) #Collector-to-Emitter Voltage (volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"VCE of the transistor is \",VCE,\" V.\\nVCC of the transistor is \",VCC,\" V.\\nIB of the transistor is \",IB,\" mA.\\nIC of transistor is \",IC,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.8 , Page Number 537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of IC is 2.35 mA.\n",
+ "The value of VCE is 12.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6275410>"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6219e50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 2.2 #Collector resistance (in kilo-ohm)\n",
+ "RB = 240.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 50.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "RE = 0 #Emitter resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC - VBE)/(RE + RB/beta) #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts)\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of IC is \",round(IC,2),\" mA.\\nThe value of VCE is \",VCEcutoff,\" V.\" \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,12,100)\n",
+ "plot(x,5.45 - 5.45/12 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"6.83 V\",xy=(6.83,0))\n",
+ "annotate(\"5.45 mA\",xy=(0,5.45))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.9 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating voltage is 20.0 V.\n",
+ "Opearing current is 2.0 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x63e64b0>"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x653e950>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 30.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 1.5 * 10**3 #Base Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts)\n",
+ "IB = VCC / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating voltage is \",VCE,\" V.\\nOpearing current is \",IC,\" mA.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,30,100)\n",
+ "plot(x,6.0 - 6.0/30.0 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"20 V\",xy=(20,0))\n",
+ "annotate(\"2 mA\",xy=(0,2))\n",
+ "annotate(\"Q\",xy=(20,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.10 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When VBB = 0 V , LED is in OFF condition.\n",
+ "When VBB = 3 V , LED is in ON condition.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case 1 : when VBB = 0.2 V ->OFF\n",
+ "#Case 2: when VBB = 3 V ->ON\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"When VBB = 0 V , LED is in OFF condition.\\nWhen VBB = 3 V , LED is in ON condition.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.11 , Page Number 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 9.9 mA.\n",
+ "Collector-to-Emitter voltage is 16.8669387755 V.\n",
+ "Stability factor is 81.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 25.0 #Source voltage (in volts)\n",
+ "RC = 820.0 #Collector resistance (in ohm)\n",
+ "RB = 180.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 80.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "RE = 200.0 #Emitter resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC -VBE)/(RE + RB / beta) #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts) \n",
+ "S = 1 + beta #Stability factor \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,1),\" mA.\\nCollector-to-Emitter voltage is \",VCE,\" V.\\nStability factor is \",S,\".\"\n",
+ "\n",
+ "#Stability is not calculated in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.12 , Page Number 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 0.845 mA.\n",
+ "Collector-to-Emitter voltage is 1.55 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x71996d0>"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x65470b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 10.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 100.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC -VBE)/(RC + RB / beta) #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts) \n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,3),\" mA.\\nCollector-to-Emitter voltage is \",round(VCE,2),\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,10,100)\n",
+ "plot(x,6.0 - 6.0/30.0 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"20 V\",xy=(20,0))\n",
+ "annotate(\"2 mA\",xy=(0,2))\n",
+ "annotate(\"Q\",xy=(20,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.13 , Page Number 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IB is 0.0465 mA.\n",
+ "IC is 2.325 mA.\n",
+ "IE is 2.325 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 2.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 100.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 50.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/(RB + beta * RC) #Base current (in Ampere)\n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "IE = IC #Emitter current (in Ampere)\n",
+ "S = 1 + beta #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IB is \",IB * 10**3,\" mA.\\nIC is \",IC * 10**3,\" mA.\\nIE is \",IE * 10**3,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.14 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "In case 1, Collector junction is short circuited.\n",
+ "In case 2, Collector resistance is short circuited. \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#When VC = 0 volts\n",
+ "VCC = 9.0 #Source voltage (in volts)\n",
+ "RB = 220.0 #Base Resistance (in kilo-ohm)\n",
+ "RC = 3.3 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.3 #Emitter-to-Base voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/((RB + beta*RC)* 10**3) #Base current (in Ampere)\n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * RC * 10**3 #Collector-to-emitter voltage (in volts)\n",
+ "VC = VCE #Collector voltage (in volts)\n",
+ "ICRC = VCC #Voltage (in volts) \n",
+ "\n",
+ "#When VC = 9 volts\n",
+ "IB1 = 16.0 #Base current (in micro-Ampere)\n",
+ "IC1 = beta * IB1 #Collector current (in micro-Ampere) \n",
+ "RC1 = 0 #Collector Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"In case 1, Collector junction is short circuited.\\nIn case 2, Collector resistance is short circuited. \" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.15 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 14.6 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter Resistance (in ohm)\n",
+ "RC = 3.3 #Collector Resistance (in kilo-ohm)\n",
+ "IE = 2.0 #Emitter current (in milli-Ampere)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "alpha = 0.98 #Common base current gain\n",
+ "R2 = 20.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "VB = VBE + IE * RE * 10**-3 #Base voltage (in volts)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts) \n",
+ "IR2 = VC / (R2) #Current through resistance 2 (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "IR1 = IR2 + IB #Current through resistance 1 (in milli-Ampere)\n",
+ "R1 = (VC - VB) / IR1 #Value of the resistance (in kilo-ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",round(R1,1),\" kilo-ohm.\"\n",
+ "\n",
+ "#Correction to be done in the book about the formula of IR2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.16 , Page Number 543"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base resistance is 101.84 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 24.0 #Source voltage (in volts)\n",
+ "RE = 270.0 #Emitter Resistance (in ohm)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 45.0 #Common emitter current gain \n",
+ "VCE = 5.0 #Collector-to-Emitter voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC - VCE) / RC #Collector current (in milli-Ampere)\n",
+ "RB = ((VCC - VBE) / IC - RC) * beta #Base Resistance (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base resistance is \",round(RB,2),\" kilo-ohm.\"\n",
+ "\n",
+ "#Calculation mistake in book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.17 , Page Number 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "DC bias current is 1.06 mA.\n",
+ "DC bias voltage is 1.1 V.\n",
+ "Stability factor is 16.1 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 3.0 #Source voltage (in volts)\n",
+ "RB = 33.0 #Base Resistance (in kilo-ohm)\n",
+ "RC = 1.8 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 90.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE) / (RB + beta * RC) #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC -IC * RC #Collector-to-emitter voltage (in volts)\n",
+ "S = (1 + beta)/(1 + beta*RC/(RC + RB)) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"DC bias current is \",round(IC,2),\" mA.\\nDC bias voltage is \",round(VCE,1),\" V.\\nStability factor is \",round(S,1),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.18 , Page Number 546"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 5.27 mA.\n",
+ "Collector-to-Emitter voltage is 2.1 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 500.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * (R2 /(R1 + R2)) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in Ampere)\n",
+ "IC = IE #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * (RC * 10**3 + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,2),\" mA.\\nCollector-to-Emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.19 , Page Number 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Emitter current is 2.15 mA.\n",
+ "The value of collector-to-emitter voltage is 8.55 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 15.0 #Source voltage (in volts)\n",
+ "RE = 2.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * (R2 /(R1 + R2)) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE) #Emitter current (in milli-Ampere)\n",
+ "VCE = VCC - IE * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current is \",IE,\" mA.\\nThe value of collector-to-emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.20 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage change in collector current is 43.5 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 25.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "betamin = 50.0 #Common emitter current gain (min)\n",
+ "betamax = 150.0 #Common emitter current gain (max)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * (R2 /(R1 + R2)) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) * 10**3 #Thevenin's equivalent resistance (in ohm)\n",
+ "IE1 = (Vth - VBE)/(RE + Rth/betamin) #Emitter current (in Ampere)\n",
+ "IE2 = (Vth - VBE)/(RE + Rth/betamax) #Emitter current (in Ampere)\n",
+ "perc_change = (IE2 - IE1) / IE1 * 100 #Percentage change in the value of beta \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The percentage change in collector current is \",round(perc_change,1),\" %.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.21 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point values are IC = 3.1 mA and VCE = 3.781 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 9.0 #Source voltage (in volts)\n",
+ "RE = 680.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 33.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 15.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in Ampere)\n",
+ "IC = IE #Collector current (in Ampere)\n",
+ "VRC = IC * RC * 10**3 #Voltage across collector resistance (in volts)\n",
+ "VC = VCC - VRC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point values are IC = \",round(IC * 10**3,1),\" mA and VCE = \",round(VCE,3),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.22 , Page Number 550"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 40.0 kilo-ohm and value of RC is 2200.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RE = 0.3 #Emitter Resistance (in kilo-ohm)\n",
+ "IC = 1.0 #Collector Current (in milli-Ampere)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VCE = 2.5 #Collector-to-Emitter voltage (in volts)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "ICO = 0 #Reverse saturation current (in Ampere) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = IC #Emitter current (in milli-Ampere)\n",
+ "RC = (VCC - VCE) / IE - RE #Collector resistance (in kilo-ohm)\n",
+ "VE = IE * RE #Emitter voltage (in volts)\n",
+ "VB = VE + VBE #Base voltage (in volts)\n",
+ "R1 = VCC / VB * R2 - R2 #Resistance1 (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",R1,\" kilo-ohm and value of RC is \",RC * 10**3,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.23 , Page Number 551"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Emitter current is 1.86 mA.\n",
+ "Value of VCE is 18.14 V.\n",
+ "Value of collector potential is 27.44 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RE = 5.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-emitter voltage (in volts) \n",
+ "VC = VCE + VE #Collector potential (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current is \",IE,\" mA.\\nValue of VCE is \",VCE,\" V.\\nValue of collector potential is \",VC,\" V.\"\n",
+ "\n",
+ "#VC is not calculated in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.24 , Page Number 552"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector-to-Emitter VCE is 7.5 V.\n",
+ "Base current is 0.026 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 8.0 #Source voltage (in volts)\n",
+ "VRC = 0.5 #Voltage across collector resistance (in volts)\n",
+ "RC = 800.0 #Collector resistance (in ohm)\n",
+ "alpha = 0.96 #common base current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VCE = VCC - VRC #Collector-to-emitter voltage (in volts) \n",
+ "IC = VRC / RC #Collector current (in milli-Ampere)\n",
+ "IE = IC / alpha #Emitter current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector-to-Emitter VCE is \",VCE,\" V.\\nBase current is \",round(IB * 10**3,3),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.27 , Page Number 554"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RE is 1.4 kilo-ohm.\n",
+ "Value of R1 is 5.2 kilo-ohm.\n",
+ "Value of R2 is 7.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "VCC = 22.5 #Source voltage (in volts)\n",
+ "RC = 5.6 #Collector Resistance (in kilo-ohm)\n",
+ "VCE = 12.0 #Collector-to-emitter voltage (in volts)\n",
+ "IC = 1.5 #Collector current (in milli-Ampere)\n",
+ "#Stability factor (S) <= 3.\n",
+ "S = 3\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RE = (VCC - VCE)/IC - RC #Emitter resistance (in kilo-ohm)\n",
+ "Rth = (4375 - (1.4 * 10**3))*10**-3 #Thevenin's Equivalent Resistance (in ohm)\n",
+ "R2 = 0.1 * beta * RE #Resistance (in kilo-ohm) \n",
+ "R1 = (R2 - Rth)**-1 * R2 *Rth #Resistance 1 (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RE is \",RE ,\" kilo-ohm.\\nValue of R1 is \",round(R1,1),\" kilo-ohm.\\nValue of R2 is \",R2,\" kilo-ohm.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.28 , Page Number 556"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of emitter current is 1.86 mA.\n",
+ "THe value of collector current is 1.86 mA.\n",
+ "The value of collector-to-emitter voltage is 8.84 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 10.0 #Emitter Bias Voltage (in volts)\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "RE = 5.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RB = 50.0 #Base Resistance (in kilo-ohm) \n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VE = -VBE #Emitter voltage (in volts)\n",
+ "IE = (VEE - VBE)/ RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of emitter current is \",IE,\" mA.\\nTHe value of collector current is \",IC,\" mA.\\nThe value of collector-to-emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.29 , Page Number 557"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The change is collector current is 1.513 %.\n",
+ "The change in collector to emitter voltage is 2.16 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 20.0 #Emitter Bias Voltage (in volts)\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector Resistance (in kilo-ohm)\n",
+ "RE = 10.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RB = 10.0 #Base Resistance (in kilo-ohm) \n",
+ "VE = -0.7 #Emitter Voltage (in volts)\n",
+ "betamin = 50.0 #Common emitter current gain minimum\n",
+ "betamax = 100.0 #Common emitter current gain maximum \n",
+ "VE1 = -0.6 #Emitter Voltage1 (in volts)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts) \n",
+ "VBE1 = 0.6 #New emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VEE - VBE)/(RE + RB / betamin) #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts)\n",
+ "IE1 = (VEE - VBE1)/(RE + RB/betamax) #Emitter current 1 (in milli-Ampere)\n",
+ "IC1 = IE1 #Collector current 1 (in milli-Ampere)\n",
+ "VC1 = VCC - IC1 * RC #Collector voltage 1 (in volts)\n",
+ "VCE1 = VC1 - VE1 #Collector-to-emitter voltage 1 (in volts)\n",
+ "dIC = (IC1 - IC) / IC #Change in collector current\n",
+ "dVCE = (VCE - VCE1) / VCE #Change in collector to emitter voltage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The change is collector current is \",round(dIC,5)* 100,\"%.\\nThe change in collector to emitter voltage is \",100*round(dVCE,4),\"%.\"\n",
+ "\n",
+ "#Slight changes due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.30 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base voltage is -2.0 V.\n",
+ "Emitter voltage is -1.8 V.\n",
+ "Collector voltage is -8.4 V.\n",
+ "Collector current is 1.8 mA.\n",
+ "Emitter current is 1.8 mA.\n",
+ "Collector-to-emitter voltage is -6.6 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 1.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 2.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 100.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 20.0 #Resistance (in kilo-ohm)\n",
+ "VBE = -0.2 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = -VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = -VE / RE #Emitter current (in milli-Ampere) \n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = -(VCC - IC * RC) #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base voltage is \",VB,\" V.\\nEmitter voltage is \",VE,\" V.\\nCollector voltage is \",VC,\" V.\\nCollector current is \",IC,\" mA.\\nEmitter current is \",IE,\" mA.\\nCollector-to-emitter voltage is \",VCE,\" V.\"\n",
+ "\n",
+ "#Formula of IE and VB is given wrong in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.31 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of base voltage is 2.0 V.\n",
+ "The value of emitter voltage is 1.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 2.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 16.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 4.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of base voltage is \",VB,\" V.\\nThe value of emitter voltage is \",VE,\" V.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.32 , Page Number 562"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The operating point values are IC = 0.404 mA and VCE = -3.78 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 4.5 #Source voltage (in volts)\n",
+ "RE = 0.27 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.5 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 27.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 2.7 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.3 #Emitter-to-Base Voltage for germanium (in volts)\n",
+ "beta = 44.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = - VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - (-VBE) #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VRC = -IC * RC #Voltage across collector resistance (in volts)\n",
+ "VC = -(VCC - VRC) #Collector voltage (in volts)\n",
+ "VCE = -(-VC - (-VE)) #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The operating point values are IC = \",round(-IC,3),\" mA and VCE = \",round(VCE,2),\" V.\""
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_3.ipynb
new file mode 100644
index 00000000..8770eb00
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_3.ipynb
@@ -0,0 +1,75 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8d03891bfa7f1c1585b90f0fe2a212b218b5620ee320f7a8cc11378a3eebf38b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 23 , Low and High Frequency BJT Models"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.1 , Page Number 580"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IC = 10.0 #Collector current (in milli-Ampere)\n",
+ "VCE = 10.0 #Collector-to-emitter voltage (in volts)\n",
+ "hie = 500.0 #Input resistance (in ohm)\n",
+ "hoe = 10 **-5 #Output conductance (in Ampere/volt)\n",
+ "hfe = 100.0 #Common emitter current gain \n",
+ "hre = 10**-4 #Constant\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "gm = IC / 25.0 #Transconductance (in Siemen) \n",
+ "rb1e = hfe / gm #Resistance (in ohm) \n",
+ "rbb1 = hie - rb1e #Base spreading resistance (in ohm)\n",
+ "gb1c = hre / rb1e #Feedback conductance (in Siemen)\n",
+ "rce = 1 / (hoe - (1 + hfe)* gb1c) #Output resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of transconductance is \",gm,\" per ohm.\\nValue of resistance rb1e is \",rb1e,\" ohm.\\nValue of base spreading resistance is \",rbb1,\" ohm.\\nValue of feedback conductance is \",gb1c,\" per ohm.\\nValue of output resistance is \",round(abs(rce * 10**-3)),\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of transconductance is 0.4 per ohm.\n",
+ "Value of resistance rb1e is 250.0 ohm.\n",
+ "Value of base spreading resistance is 250.0 ohm.\n",
+ "Value of feedback conductance is 4e-07 per ohm.\n",
+ "Value of output resistance is 33.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_3.ipynb
new file mode 100644
index 00000000..8d4d7f99
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_3.ipynb
@@ -0,0 +1,870 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8d83d12da307337593a7cd775da037b9954c818c998b8e588f2f7e2538d508ce"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 24 , Singly-Stage BJT Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.1 , Page Number 590"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 10.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 1.0 * 10**3 #Base resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE) / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "IE = IC #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c resistance of emitter diode (in kilo-ohm)\n",
+ "R1 = beta * r1e #Input resistance looking directly into the base (in kilo-ohm)\n",
+ "Ris = RB * R1/(RB + R1) #Stage input resistance (in kilo-ohm)\n",
+ "Ro = RC #Output resistance (in kilo-ohm)\n",
+ "Av = RC / r1e #Voltage gain\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking into the base is \",round(R1,2),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris,3),\" kilo-ohm.\\nOutput resistance is \",Ro,\" kilo-ohm.\\nVoltage gain is \",Av,\".\"\n",
+ "\n",
+ "#Correction to be done in the book for the formula of Ris in the question."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking into the base is 2.69 kilo-ohm.\n",
+ "Input resistance of the stage is 2.681 kilo-ohm.\n",
+ "Output resistance is 10.0 kilo-ohm.\n",
+ "Voltage gain is 372.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.2 , Page Number 591"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Ri = 2.5 #Input resistance (in kilo-ohm)\n",
+ "Av = 200.0 #Voltage gain\n",
+ "Vs = 5.0 * 10**-3 #Input signal voltage (in volts)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = Vs / Ri #Base current (in milli-Ampere) \n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "Ai = beta #Current gain\n",
+ "Ap = Ai * Av #Power gain\n",
+ "Gp = 10 * math.log10(Ap) #dB power gain (in decibel)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The base current is \",IB,\" mA.\\nThe collector current is \",IC,\" mA.\\nThe power gain is \",Ap,\".\\nThe dB power gain is \",Gp,\" dB.\"\n",
+ "\n",
+ "#Wrong unit of IB. IB is in micro Ampere but in book it is given in milli-Ampere in solution.\n",
+ "#Also wrong unit in IC."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current is 0.002 mA.\n",
+ "The collector current is 0.1 mA.\n",
+ "The power gain is 10000.0 .\n",
+ "The dB power gain is 40.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.3 , Page Number 593"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "RB = 100.0 #Base resistance (in kilo-ohm)\n",
+ "beta = 150.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = VCC / (RE + RB/beta) #Collector current (in milli-Ampere)\n",
+ "IE = IC #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-ohm)\n",
+ "Ri = beta * (r1e + RE) #Input resistance looking directly into the base (in kilo-ohm)\n",
+ "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in kilo-ohm)\n",
+ "Av = RC / RE #Voltage gain \n",
+ "Gp = 10 * math.log10(Av) #dB power gain (in decibel)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking into the base is \",round(Ri),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris),\" kilo-ohm.\\nVoltage gain is \",Av,\".\\ndB voltage gain is \",round(Gp),\" dB.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking into the base is 150.0 kilo-ohm.\n",
+ "Input resistance of the stage is 60.0 kilo-ohm.\n",
+ "Voltage gain is 5.0 .\n",
+ "dB voltage gain is 7.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.4 , Page Number 595"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 10.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RB = 500.0 * 10**3 #Base resistance (in ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = VCC / (RE + RB/beta) #Collector current (in Ampere)\n",
+ "IE = IC #Emitter current (in Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in ohm)\n",
+ "Ri = beta * (r1e) #Input resistance looking directly into the base (in ohm)\n",
+ "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in ohm)\n",
+ "Av = RC / r1e #Voltage gain \n",
+ "AV1 = RC / RE #New voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking into the base is \",round(Ri),\" ohm.\\nInput resistance of the stage is \",round(Ris,1),\" kilo-ohm.\\nVoltage gain is \",round(Av,2),\".\\nNew Voltage gain is \",AV1,\".\"\n",
+ "\n",
+ "#Slight variations in answers due to high precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking into the base is 1146.0 ohm.\n",
+ "Input resistance of the stage is 1143.2 kilo-ohm.\n",
+ "Voltage gain is 436.36 .\n",
+ "New Voltage gain is 10.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.5 , Page Number 597"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 30.0 #Source voltage (in volts)\n",
+ "RC = 10.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 8.2 #Emitter resistance (in kilo-ohm)\n",
+ "RL = 3.3 #Load resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 47.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 15.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 5.0 #a.c voltage (in milli-volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE #a.c. resistance of emitter diode (in ohm) \n",
+ "rL = RC * RL/(RC + RL) #a.c load seen by the amplifier (in kilo-ohm) \n",
+ "Av = rL * 10**3 / r1e #Voltage gain\n",
+ "vo = Av * Vs #Output voltage (in volts)\n",
+ "Ri = beta * r1e * 10**-3 #Input resistance looking directly into the base (in ohm) \n",
+ "Ris = Rth * Ri / (Rth + Ri) #input resistance of the stage (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"a.c output voltage is \",round(vo,2),\" mV.\\nInput impedance for the circuit is \",round(Ris),\" kilo-ohm.\"\n",
+ "\n",
+ "#Slight variation in value of vo due to higher precision. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a.c output voltage is 394.14 mV.\n",
+ "Input impedance for the circuit is 4.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.6 , Page Number 599"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 50.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 10.0 #a.c voltage (in milli-volts)\n",
+ "RS = 600.0 * 10**-3 #Source resistance (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm) \n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC * R1/(RC + R1) #a.c load seen by the amplifier (in kilo-ohm) \n",
+ "Av = rL / r1e #Voltage gain\n",
+ "vin = Vs * Ris / (Ris + RS) #input voltage (in milli-volts) \n",
+ "vo = Av * vin #Output voltage (in milli-volts)\n",
+ "Avs = Av * vin / Vs #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The output voltage is \",round(vo * 10**-3,3),\" V.\\nThe overall voltage gain is \",round(Avs,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage is 1.025 V.\n",
+ "The overall voltage gain is 102.5 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.7 , Page Number 601"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 4.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 3.3 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 120.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 60.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 30.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm)\n",
+ "rL = RC #Load resistance (in kilo-ohm)\n",
+ "Av = RC / r1e #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage gain is \",round(Av,1),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain is 152.3 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.8 , Page Number 601"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = -18.0 #Source voltage (in volts)\n",
+ "RC = 4.3 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common emitter current gain\n",
+ "VBE = -0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 39.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 8.2 #Resistance (in kilo-ohm)\n",
+ "RL = 3.0 #Load resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IC = (Vth - VBE)/(RE + Rth/beta) #Collector current (in milli-Ampere)\n",
+ "IE = -IC #Emitter current (in milli-Amper) \n",
+ "r1e = 30.0/IE * 10**-3 #a.ac resistance (in kilo-ohm)\n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm) \n",
+ "Av = rL / r1e #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\"\n",
+ "\n",
+ "#printing mistake in book about formula for rL it is in fact rL = RC * RL /(RC + RL).\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is 138.3 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.9 , Page Number 603"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 5.7 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 100.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 10.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RS = 100.0 * 10**-3 #Source resistance (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm)\n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC #Load resistance (in kilo-ohm)\n",
+ "Av = rL / r1e #Voltage gain \n",
+ "vin = Vs * Ris / (Ris + RS) #input voltage (in milli-volts) \n",
+ "vo = Av * vin #Output voltage (in milli-volts)\n",
+ "Avs = Av * vin / Vs #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Av is \",Av,\".\\nRi is \",round(Ris * 10**3,2),\" ohm.\\nVo is \",round(vo,2),\" V.\\nAvs is \",round(Avs,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Av is 233.7 .\n",
+ "Ri is 1923.08 ohm.\n",
+ "Vo is 2.22 V.\n",
+ "Avs is 222.15 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.10 , Page Number 604"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = -18.0 #Source voltage (in volts)\n",
+ "RC = 4.3 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common emitter current gain\n",
+ "VBE = -0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 39.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 8.2 #Resistance (in kilo-ohm)\n",
+ "RV = 75.0 * 10**-3 #Resistance (in kilo-ohm)\n",
+ "re = 30.0 * 10**-3 #Emitter resistance (in kilo-ohm)\n",
+ "RL = 3.3 #Load resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "IC = round(IE,2) #Collector current (in milli-Ampere) \n",
+ "VCE = VCC - IC * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "r1e = 30.0/abs(IE) * 10**-3 #a.c. resistance (in kilo-ohm)\n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC * RL / (RC + RL) #Load resistance (in kilo-ohm)\n",
+ "Av = rL / (r1e + RV) #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain Av is \",round(Av,1),\".\\nInput impedance is ,\",round(Ris,3),\" kilo-ohm.\\nVCE is \",VCE,\" V.\" \n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain Av is 21.3 .\n",
+ "Input impedance is , 1.856 kilo-ohm.\n",
+ "VCE is -5.545 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.11 , Page Number 606"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "rE = 500 * 10**-3 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 50.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 100.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RS = 600.0 * 10**-3 #Source resistance (in kilo-ohm)\n",
+ "RL = 50.0 #Load resistance (in kilo-ohm)\n",
+ "RE1 = 500.0 * 10**-3 #Resistance (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "RE = RE1 + rE #Emitter total resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance (in kilo-ohm) \n",
+ "Ri = beta * (rE + r1e) #Input resistance directly into the base (in kilo-ohm)\n",
+ "Ris = Rth * Ri/(Rth + Ri) #Input resistance of the stage (in kilo-ohm)\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm)\n",
+ "Av = rL/(rE + r1e) #Voltage gain\n",
+ "Avs = Av * Ris / (RS + Ris) #Overall voltage gain\n",
+ "Vo = Avs * Vs #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking directly into the base is \",round(Ri,1),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris,2),\" kilo-ohm.\\nVoltage gain is \",round(Av,3),\" .\\nOverall voltage gain is \",round(Avs,2),\" .\\nOutput voltage is \",round(Vo,2),\"V.\"\n",
+ "\n",
+ "#Slight variations due to higher precision.\n",
+ "#Vo in the book is not properly calculated. Calculation error in Vo. Vo value should be 0.78 V."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking directly into the base is 26.5 kilo-ohm.\n",
+ "Input resistance of the stage is 6.34 kilo-ohm.\n",
+ "Voltage gain is 8.574 .\n",
+ "Overall voltage gain is 7.83 .\n",
+ "Output voltage is 0.78 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.12 , Page Number 611"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 10.0 #Collector resistance (in kilo-ohm)\n",
+ "alpha = 0.98 #Common base current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "Vs = 10.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RL = 5.1 #Load resistance (in kilo-ohm)\n",
+ "RE = 20.0 #Resistance (in kilo-ohm) \n",
+ "VEE = 10.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VEE - VBE) / RE #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. emitter resistance (in kilo-ohm)\n",
+ "Ri = r1e #input resistance looking directly in the emitter (in kilo-ohm)\n",
+ "Ris = RE * r1e / (RE + r1e) #Input resistance of the stage (in kilo-ohm) \n",
+ "Ai = alpha #Current gain\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm)\n",
+ "Av = rL / r1e #Voltage gain\n",
+ "Ap = Av * Ai #Power gain\n",
+ "Gp = 10 * math.log10(Ap) #Power gain (in decibels)\n",
+ "vin = Vs #input voltage (in volts)\n",
+ "Vo = Av * vin #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The input resistance looking directly into the emitter is \",round(Ri * 10**3,1),\" ohm.\\nThe input resistance of the stage is \",round(Ris * 10**3,2),\" ohm.\\nThe current gain is \",Ai,\" .\\nThe voltage gain is \",round(Av,1),\" .\\nThe power gain is \",round(Ap,2),\" .\\nThe power gain in decibels is \",round(Gp,1),\" dB.\\nThe output voltage is \",round(Vo * 10**3),\" mV.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input resistance looking directly into the emitter is 53.8 ohm.\n",
+ "The input resistance of the stage is 53.62 ohm.\n",
+ "The current gain is 0.98 .\n",
+ "The voltage gain is 62.8 .\n",
+ "The power gain is 61.56 .\n",
+ "The power gain in decibels is 17.9 dB.\n",
+ "The output voltage is 628.0 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.13 , Page Number 613"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Rs = 50.0 #source resistance (in ohm)\n",
+ "IE = 0.465 #Emitter current (in milli-Ampere)\n",
+ "r1e = 53.8 #a.c. resistance (in ohm)\n",
+ "Ri = 53.8 #Input resistance (in ohm)\n",
+ "Ris = 52.4 #Input resistance of stage (in ohm)\n",
+ "RL = 3.38 * 10**3 #Load resistance (in ohm) \n",
+ "Vs = 10.0 * 10**-3 #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Avs = RL / (Rs + r1e) #Overall voltage gain\n",
+ "Av = RL / r1e #Voltage gain\n",
+ "vo = Avs * Vs #Output a.c. voltage (in volts)\n",
+ "vin = vo / Av #input voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain from source to output is \",round(Avs,1),\" .\\nVoltage gain from emitter to output is \",round(Av,1),\" .\\nValue of Vin is \",round(vin * 10**3,1),\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain from source to output is 32.6 .\n",
+ "Voltage gain from emitter to output is 62.8 .\n",
+ "Value of Vin is 5.2 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.14 , Page Number 617"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 10.0 #Voltage (in volts)\n",
+ "RE = 10.0 * 10**3 #Emitter resistance (in ohm) \n",
+ "RB = 100.0 * 10**3 #Base resistance (in ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VEE - VBE)/(RE + RB/beta) #Emitter current (in Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance (in ohm)\n",
+ "Ri = beta * (RE + r1e) #Input resistance directly looking into the base (in ohm)\n",
+ "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in ohm)\n",
+ "Ro = r1e #Output resistance (in ohm) \n",
+ "Av = RE / (r1e + RE) #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking directly into the base is \",round(Ri * 10**-3,1),\" ohm.\\nInput resistance of the stage is \",round(Ris * 10**-3 ,1),\" ohm.\\nOutput resistance is \",round(Ro,1),\" ohm.\\nVoltage gain is \",round(Av,3),\" .\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking directly into the base is 501.6 ohm.\n",
+ "Input resistance of the stage is 83.4 ohm.\n",
+ "Output resistance is 32.3 ohm.\n",
+ "Voltage gain is 0.997 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.15 , Page Number 618"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 80.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "VCC = 15.0 #Voltage (in volts)\n",
+ "R1 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "Vs = 5.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RE = 8.2 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 1.5 * 10**3 #Load resistance (in ohm)\n",
+ "RS = 2.0 * 10**3 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth / beta) #Emitter resistance (in ohm)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c resistance of emitter diode (in ohm)\n",
+ "rL = RE * RL /(RE + RL) #a.c. load resistance (in ohm)\n",
+ "Ri = beta * (rL + r1e) #Input resistance looking directly into the base (in ohm)\n",
+ "Ris = Rth * Ri / (Rth + Ri) #Input resistance of the stage (in ohm)\n",
+ "Ro = r1e + (RS*Rth)/(Rth + RS)/beta #Output resistance of the stage (in ohm)\n",
+ "Vin = Vs * (Ris / (RS + Ris)) #Input voltage (in volts)\n",
+ "Vo = Vin #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of input resistance looking directly into the base is \",round(Ri * 10**-3),\" kilo-ohm.\\nValue of input resistance of the stage is \",round(Ris * 10**-3,1),\" kilo-ohm.\\nOutput resistance is \",round(Ro,1),\" ohm.\\nA.C. output voltage is \",round(Vo * 10**3,1),\" mV.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of input resistance looking directly into the base is 104.0 kilo-ohm.\n",
+ "Value of input resistance of the stage is 9.1 kilo-ohm.\n",
+ "Output resistance is 51.4 ohm.\n",
+ "A.C. output voltage is 4.1 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_3.ipynb
new file mode 100644
index 00000000..586d46b8
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_3.ipynb
@@ -0,0 +1,666 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:75e52141ccf00cb8c14c8a0ee5b9c60f38850c2413b13d2345d9dd0ac1dc6df4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 25 , Hybrid Parameters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.1 , Page Number 626"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 6.0 #Resistance (in ohm)\n",
+ "R2 = 4.0 #Resistance (in ohm)\n",
+ "R3 = 4.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "#Let i1 = 10 A and v2 = 10 V.\n",
+ "i1 = 10.0 #Assumed current (in Ampere) \n",
+ "v2 = 10.0 #Assumed voltage (in volts)\n",
+ "#Parameters h11 and h21\n",
+ "\n",
+ "h11 = R1 + R2 * R3/(R2 + R3) #Input resistance looking from the input terminals (in ohm)\n",
+ "i2 = -i1 / 2 #Current2 (in Ampere)\n",
+ "h21 = i2/i1 #h21\n",
+ "\n",
+ "#Parameters h12 and h22\n",
+ "\n",
+ "v1 = v2/2 #Voltage1 (in volts) \n",
+ "h12 = v1 / v2 #h12\n",
+ "rnet = R2 + R3 #Output resistance (in ohm) \n",
+ "h22 = 1/rnet #h22 (in mhos)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"h11 : \",h11,\"\\nh21 : \",h21,\"\\nh12 : \",h12,\"\\nh22 : \",h22"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "h11 : 8.0 \n",
+ "h21 : -0.5 \n",
+ "h12 : 0.5 \n",
+ "h22 : 0.125\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.2 , Page Number 635"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1.0 * 10**3 #hie (in ohm)\n",
+ "hre = 1.0 * 10**-4 #hre\n",
+ "hoe = 100.0 * 10**-6 #hoe (in mho)\n",
+ "RC = 1.0 * 10**3 #Collector resistance (in ohm) \n",
+ "RS = 1000.0 #Source resistance (in ohm)\n",
+ "hfe = beta = 50.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RC #a.c. load resistance (in ohm)\n",
+ "Ai = -hfe /(1 + hoe * rL) #Current gain of a transistor\n",
+ "Ri = hie + hre * Ai * rL #Input resistance looking directly into the base (in ohm)\n",
+ "Ris = Ri #Iput resistance of the amplified stage (in ohm)\n",
+ "dh = hie * hoe - hre * hfe #Change in h\n",
+ "Ro = (RS + hie)/(RS * hoe + dh) #Output resistance looking directly into collector (in ohm)\n",
+ "Ros = Ro * rL /(Ro + rL) #Output resistance of the amplified stage (in ohm)\n",
+ "Ais = Ai * RS / (RS + Ris) #Current gain of amplified stage\n",
+ "Av = Ai * rL / Ri #Voltage gain of transistor \n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of amplified stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of the amplifier stage is \",round(Ris),\" ohm.\\nOutput resistance of amplifier stage is \",round(Ros),\" ohm.\\nCurrent gain of amplified stage is \",round(Ais,1),\"\\nVoltage gain of amplifier stage is \",round(Avs,1),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of the amplifier stage is 995.0 ohm.\n",
+ "Output resistance of amplifier stage is 911.0 ohm.\n",
+ "Current gain of amplified stage is -22.8 \n",
+ "Voltage gain of amplifier stage is -22.8 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.3 , Page Number 637"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1.1 * 10**3 #hie (in ohm)\n",
+ "hre = 2.5 * 10**-4 #hre\n",
+ "hoe = 25.0 * 10**-6 #hoe (in mho)\n",
+ "RS = 1000.0 #Source resistance (in ohm)\n",
+ "hfe = beta = 50.0 #Common emitter current gain \n",
+ "rL = 1000.0 #ac.c load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = hfe /(1 + hoe * rL) #Current gain of a transistor\n",
+ "Ri = hie + hre * Ai * rL #Input impedance (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current gain is \",round(Ai,2),\"\\nInput impedance is \",round(Ri,1),\"\\nVoltage gain is \",round(Av,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current gain is 48.78 \n",
+ "Input impedance is 1112.2 \n",
+ "Voltage gain is 43.86\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.4 , Page Number 639"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 4.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 40.0 * 10**3 #Base resistance (in ohm)\n",
+ "RS = 10.0 * 10**3 #Source resistance (in ohm)\n",
+ "hie = 1100.0 #hie (in ohm)\n",
+ "hfe = 50.0 #hfe\n",
+ "hre = hoe = dh = 0 #hre and hoe\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RB2 = RB #Resistance (in kilo-ohm) \n",
+ "rL = RC * RB2 /(RC +RB2) #a.c. load resistance (in ohm)\n",
+ "Ai = -hfe #Current gain\n",
+ "Ri = hie #Input resistance of the amplifier looking into the base (in ohm) \n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "RB1 = RB/(1 - Av) #Resistance (in ohm)\n",
+ "Ris = Ri * RB1 / (Ri + RB1) #Input resistance looking from source terminals (in ohm)\n",
+ "Ro = \"infinite\" #Output resistance (in ohm)\n",
+ "Ros = rL #Output resistance of the stage (in ohm)\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Avs,1),\".\\nInput resistance is \",round(Ris),\" ohm.\\nOutput resistance is \",round(Ros),\" ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is -3.2 .\n",
+ "Input resistance is 197.0 ohm.\n",
+ "Output resistance is 3636.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.5 , Page Number 640"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1.1 * 10**3 #hie (in ohm)\n",
+ "hre = 2.5 * 10**-4 #hre\n",
+ "hoe = 25.0 * 10**-6 #hoe (in mho)\n",
+ "RS = 10000.0 #Source resistance (in ohm)\n",
+ "hfe = beta = 50.0 #Common emitter current gain \n",
+ "rL = 1000.0 #ac.c load resistance (in ohm)\n",
+ "RB = 200.0 * 10**3 #Feedback resistor (in ohm)\n",
+ "RC = 5.0 * 10**3 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RC * RB / (RC + RB) #a.c. load resistance (in ohm) \n",
+ "Ai = hfe /(1 + hoe * rL) #Current gain\n",
+ "Ri = hie + hre * Ai * rL #Input resistance of the amplifier looking into the base (in ohm) \n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "RB1 = RB/(1 - (-17.4)) #Resistance (in ohm)\n",
+ "Ris = Ri * RB1 / (Ri + RB1) #Input resistance looking from source terminals (in ohm)\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Ai is \",round(Ai,2),\"\\nAv is \",round(Av,2),\"\\nAvs is \",round(Avs,1),\"\\nRi is \",round(Ri*10**-3,3),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ai is 44.57 \n",
+ "Av is 188.32 \n",
+ "Avs is 17.8 \n",
+ "Ri is 1.154 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.6 , Page Number 643"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hib = 28.0 #hib (in ohm)\n",
+ "hfb = -0.98 #hfb\n",
+ "hrb = 5.0 * 10**-4 #hrb\n",
+ "hob = 0.34 * 10**-6 #hoh (in Siemen)\n",
+ "rL = 1.2 * 10**3 #a.c. load resistance (in ohm)\n",
+ "RS = 0.0 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = -(hfb/(1 + hob * rL)) #Current gain\n",
+ "Ri = hib + hrb * Ai * rL #Input resistance (in ohm)\n",
+ "dh = hib * hob - hrb * hfb #change in h\n",
+ "Ro = (RS + hib)/(RS*hib + dh)#Output resistance (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of input resistance is \",round(Ri,1),\" ohm.\\nThe value of output resistance is \",round(Ro * 10**-3),\" kilo-ohm.\\nThe value of current gain is \",round(Ai,2),\" .\\nThe value of voltage gain is \",round(Av),\" .\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of input resistance is 28.6 ohm.\n",
+ "The value of output resistance is 56.0 kilo-ohm.\n",
+ "The value of current gain is 0.98 .\n",
+ "The value of voltage gain is 41.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.7 , Page Number 644"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hic = 2.0 * 10**3 #hic (in ohm)\n",
+ "hfc = -51.0 #hfe\n",
+ "hrc = 1.0 #hrc\n",
+ "hoc = 25.0 * 10**-6 #hoc (in mho)\n",
+ "rL = RE = 5.0 * 10**3 #a.c. load resistance (in ohm)\n",
+ "RS = 1.0 * 10**3 #Source resistance (in ohm)\n",
+ "R1 = R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = -hfc / (1 + hoc * rL) #Current gain\n",
+ "Ri = hic + hrc * Ai * rL #Input resistance (in ohm)\n",
+ "Ris = (R1*R2*Ri)/(Ri*R1 + Ri*R2 + R1*R2) #Input resistance of the amplified stage (in ohm)\n",
+ "Ro = -(RS + hic)/hfc #Output resistance (in ohm)\n",
+ "Ros = Ro * RE / (Ro + RE) #Input resistance of the amplified stage (in ohm)\n",
+ "Ais = Ai * RS / (RS + Ris) #Current gain of amplified stage \n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of amplified stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of input resistance of amplified stage is \",round(Ris),\" ohm.\\nThe value of output resistance of amplified stage is \",round(abs(Ros),1),\" kilo-ohm.\\nThe value of current gain of amplified stage is \",round(Ais,1),\" .\\nThe value of voltage gain of amplified stage is \",round(Avs,3),\" .\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of input resistance of amplified stage is 4893.0 ohm.\n",
+ "The value of output resistance of amplified stage is 58.1 kilo-ohm.\n",
+ "The value of current gain of amplified stage is 7.7 .\n",
+ "The value of voltage gain of amplified stage is 0.823 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.8 , Page Number 646"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1500.0 #hie (in ohm)\n",
+ "hfe = 50.0 #hfe\n",
+ "hre = 50.0 * 10**-4 #hre\n",
+ "hoe = 20.0 * 10**-6 #hoe\n",
+ "R1 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "RC = 5.0 * 10**3 #Collector resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm) \n",
+ "RS = 0 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = -hfe\n",
+ "rL = RC * RL /(RC + RL) #a.c. load resistance (in ohm)\n",
+ "Ri = hie #Input resistance (in ohm)\n",
+ "Ris = (R1*R2*Ri)/(Ri*R1 + Ri*R2 + R1*R2) #Input resistance of the amplified stage (in ohm)\n",
+ "Ro = 1 / hoe #Output resistance (in ohm)\n",
+ "Ros = Ro * rL /(Ro + rL) #Output resistance of the stage (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n",
+ "Ais = Ai #Current gain of the stage\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of the stage is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOutput resistance of the stage is \",round(Ros * 10**-3,1),\" kilo-ohm.\\nVoltage gain of the stage is \",round(Avs),\" .\\nCurrent gain of the stage is \",Ai,\" .\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of the stage is 1.22 kilo-ohm.\n",
+ "Output resistance of the stage is 3.1 kilo-ohm.\n",
+ "Voltage gain of the stage is -111.0 .\n",
+ "Current gain of the stage is -50.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.9 , Page Number 647"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 12.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RL = 4.7 * 10**3 #Load resistance (in ohm) \n",
+ "R1 = 33.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "IC = 1.0 * 10**-3 #Collector current (in Ampere)\n",
+ "hiemin = 1.0 * 10**3 #hie minimum (in ohm)\n",
+ "hiemax = 5.0 * 10**3 #hie maximum (in ohm)\n",
+ "hfemin = 70.0 #Current gain minimum\n",
+ "hfemax = 350.0 #Current gain maximum\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "hie = (hiemin * hiemax)**0.5 #hie (in ohm)\n",
+ "hfe = (hfemin * hfemax)**0.5 #current gain \n",
+ "Ri = hie #input resistance (in ohm)\n",
+ "Ris = (R1*R2*Ri)/(Ri*R1+Ri*R2+R1*R2) #Input resistance of the amplified stage (in ohm)\n",
+ "Ai = hfe #Current gain of transistor\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in ohm)\n",
+ "Avs = Av = Ai*rL / Ri #overall voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input impedance is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOverall voltage gain is \",round(Avs,1),\".\"\n",
+ "\n",
+ "#Calculation error in book for hfe."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input impedance is 1.45 kilo-ohm.\n",
+ "Overall voltage gain is 236.4 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.10 , Page Number 648"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RB = 330.0 * 10**3 #Base resistance (in ohm)\n",
+ "RC = 2.7 * 10**3 #Collector resistance (in ohm) \n",
+ "hfe = 120.0 #current gain\n",
+ "hie = 1.175 * 10**3 #hie (in ohm)\n",
+ "hoe = 20 * 10**-6 #hoe (in Ampere per volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ri = hie #Input resistance of transistor (in ohm)\n",
+ "Ris = hie * RB /(hie + RB) #Input resistance of the circuit (in ohm)\n",
+ "Ro = 1 / hoe #Output resistance of transistor (in ohm)\n",
+ "Ros = Ro * RC / (Ro + RC) #Output resistance of the circuit (in ohm)\n",
+ "Ai = hfe #Current gain of the circuit\n",
+ "Avs = Ai * RC / Ri #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of the circuit is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOutput resistance of the circuit is \",round(Ros * 10**-3,2),\" kilo-ohm.\\nCurrent gain of the circuit is \",Ai,\".\\nVoltage gain of the circuit is \",round(Avs,1),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of the circuit is 1.17 kilo-ohm.\n",
+ "Output resistance of the circuit is 2.56 kilo-ohm.\n",
+ "Current gain of the circuit is 120.0 .\n",
+ "Voltage gain of the circuit is 275.7 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.11 , Page Number 649"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hfe = 50.0 #Current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "hfb = -hfe / (1 + hfe) #hfb\n",
+ "hfc = -(1 + hfe) #hfc \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of hfb = \",round(hfb,2),\".\\nValue of hfc = \",hfc,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of hfb = -0.98 .\n",
+ "Value of hfc = -51.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.12 , Page Number 649"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1100.0 #hie (in ohm)\n",
+ "hre = 2.5 * 10**-4 #hre\n",
+ "hfe = 50.0 #Current gain\n",
+ "hoe = 24.0 * 10**-6 #hoe (in Ampere per volt)\n",
+ "rL = RL = 10.0 * 10**3 #Load resistance (in ohm) \n",
+ "RS = 1.0 * 10**3 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "hic = hie #hic (in ohm)\n",
+ "hrc = (1 - hre) #hrc\n",
+ "hfc = -(1 + hfe) #hfc\n",
+ "Ai = -(hfc/(1 + hoe * rL)) #Current gain\n",
+ "Ri = hic + hrc * Ai * rL #Input resistance (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current gain is \",round(Ai,1),\".\\nInput resistance is \",round(Ri * 10**-3,1),\" kilo-ohm.\\nVoltage gain is \",round(Av,3),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current gain is 41.1 .\n",
+ "Input resistance is 412.3 kilo-ohm.\n",
+ "Voltage gain is 0.998 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_3.ipynb
new file mode 100644
index 00000000..41dd2f3c
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_3.ipynb
@@ -0,0 +1,491 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1adbacabb5391b7ec0914bdea7be4967c3225d247b9edb92e72750634ec2b9e5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 26 , Multistage BJT Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.1 , Page Number 658"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av1 = 10.0 #Voltage gain1\n",
+ "Av2 = 20.0 #Voltage gain2\n",
+ "Av3 = 40.0 #Voltage gain3\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = Av1 * Av2 * Av3 #Voltage gain\n",
+ "Gv1 = 20 * math.log10(Av1) #dB voltage gain1\n",
+ "Gv2 = 20 * math.log10(Av2) #dB voltage gain2\n",
+ "Gv3 = 20 * math.log10(Av3) #dB voltage gain3\n",
+ "Gv = Gv1 + Gv2 + Gv3 #dB voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Overall voltage gain is \",Av,\".\\nTotal dB voltage gain is \",round(Gv),\" dB.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall voltage gain is 8000.0 .\n",
+ "Total dB voltage gain is 78.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.2 , Page Number 659"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 3 #Number of amplified stages\n",
+ "Vin1 = 0.05 #Input to first stage (in volts peak-to-peak)\n",
+ "Vout3 = 150.0 #Output of final stage (in volts peak-to-peak)\n",
+ "Av1 = 20.0 #Voltage gain of first stage \n",
+ "Vin3 = 15.0 #Input of final stage (in volts peak-to-peak) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = Vout3 / Vin1 #Overall voltage gain\n",
+ "Av3 = Vout3 / Vin3 #Voltage gain of third stage\n",
+ "Av2 = Av / (Av1 * Av3) #Voltage gain of second stage\n",
+ "Vin2 = Vin3 / Av2 #Input voltage gain of second stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Overall voltage gain is \",Av,\".\\nVoltage gain of 2nd and 3rd stage is \",Av2,\" and \",Av3,\".\\nInput voltage of the second stage is \",Vin2,\" Vpk-pk.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall voltage gain is 3000.0 .\n",
+ "Voltage gain of 2nd and 3rd stage is 15.0 and 10.0 .\n",
+ "Input voltage of the second stage is 1.0 Vpk-pk.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.3 , Page Number 663"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 5.0 * 10**3 #Collector resistance (in ohm) \n",
+ "RB = 1.0 * 10**6 #Base resistance (in ohm)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = VCC /(RE + RB/beta1) #Emitter current (in Ampere)\n",
+ "r1e = 25.0/IE * 10**-3 #a.c. emitter diode resistance (in ohm)\n",
+ "Ri1 = beta1 * r1e #Input resistance of first stage (in ohm)\n",
+ "Ri2 = beta2 * r1e #Input resistance of second stage (in ohm)\n",
+ "Ro1 = RC * Ri2 / (RC + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Ro2 = RC * RL / (RC + RL) #Output resitance of second stage (in ohm)\n",
+ "Av1 = Ro1 / r1e #Voltage gain of first stage\n",
+ "Av2 = Ro2 / r1e #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "Gv = 20 * math.log10(Av) #Overall dB voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of first and scond stage is \",round(Ri1),\" ohm and \",round(Ri2),\" ohm.\\nOutput resistance of first and second stage is \",round(Ro1,1),\" ohm and \",round(Ro2,1),\" ohm.\\nVoltage gain of first and second stage is \",round(Av1),\" and \",round(Av2,1),\".\\nOverall voltage gain and dB voltage gain is \",round(Av),\" and \",round(Gv,1),\" dB.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of first and scond stage is 2750.0 ohm and 2750.0 ohm.\n",
+ "Output resistance of first and second stage is 1774.2 ohm and 3333.3 ohm.\n",
+ "Voltage gain of first and second stage is 65.0 and 121.2 .\n",
+ "Overall voltage gain and dB voltage gain is 7820.0 and 77.9 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.4 , Page Number 664"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 15.0 #Source voltage (in volts)\n",
+ "RC = 3.3 * 10**3 #Collector resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm)\n",
+ "R1 = 33.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 8.2 * 10**3 #Resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta1) #Emitter current (in Ampere)\n",
+ "r1e = 25.0/IE * 10**-3 #a.c. emitter resistance (in ohm)\n",
+ "Ri2 = beta1 * r1e #Input resistance of second stage (in ohm)\n",
+ "Ro1 = RC * Ri2 / (RC + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Ro2 = RC * RL /(RC + RL) #Output resistance of second stage (in ohm)\n",
+ "Av1 = Ro1 / r1e #Voltage gain of the first stage\n",
+ "Av2 = Ro2 / r1e #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "Gv = 20 * math.log10(Av) #Overall voltage (in decibels)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain of stage one and two are as follows \",round(Av1,2),\" and \",round(Av2,2),\".\\nOverall voltage gain is \",round(Av),\".\\nOverall voltage gain in decibels is \",round(Gv,1),\" dB.\"\n",
+ "\n",
+ "#Slight variation in the value of Av2 and Av due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain of stage one and two are as follows 73.9 and 212.85 .\n",
+ "Overall voltage gain is 15728.0 .\n",
+ "Overall voltage gain in decibels is 83.9 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.5 , Page Number 669"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RB = 470.0 * 10**3 #Base resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 1.0 * 10**3 #Load resistance (in ohm)\n",
+ "a = 4.0 #Turn's ratio\n",
+ "beta1 = beta2 = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = VCC/ (RE + RB/beta1) #Emitter current (in Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. emitter diode resistance (in ohm)\n",
+ "Ri1 = RB*beta1*r1e/(RB+beta1*r1e) #Input resistance of first stage (in ohm)\n",
+ "Ri2 = RB*beta2*r1e/(RB+beta2*r1e) #Input resistance of Second stage (in ohm)\n",
+ "R1i2 = a**2 * Ri2 #Input resistance of the second stage transformed to primary side (in ohm)\n",
+ "Ro1 = R1i2 #Output resistance of second stage (in ohm)\n",
+ "R1o2 = a**2 * RL #Output resistance of the second stage transformed to the primary side (in ohm) \n",
+ "Av1 = Ro1/r1e #Voltage gain of first stage\n",
+ "Av2 = R1o2/r1e #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "Gv = 20 * math.log10(Av) #Overall voltage gain (in decibels) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain of first stage is \",round(Av1,1),\".\\nVoltage gain of second stage is \",round(Av2,1),\".\\nOverall voltage gain is \",round(Av),\".\\nOverall voltage gain in decibels is \",round(Gv),\" dB.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain of first stage is 797.8 .\n",
+ "Voltage gain of second stage is 615.4 .\n",
+ "Overall voltage gain is 490950.0 .\n",
+ "Overall voltage gain in decibels is 114.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.6 , Page Number 672"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "R1 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R4 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "R5 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R6 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "IE1 = Vth / R4 #Emitter curren1 (in Ampere)\n",
+ "r1e = 25.0 / IE1 * 10**-3 #a.c. emitter diode resistance (in ohm) \n",
+ "VR6 = VCC - IE1 * R3 #Voltage across resistance6 (in volts)\n",
+ "IE2 = VR6 / R6 #Emitter current2 (in Ampere)\n",
+ "r1e2 = 25.0 / IE2 * 10**-3 #a.c. emitter diode resistance2 (in ohm)\n",
+ "Ri2 = beta2*(r1e2 + R6) #Input resistance of second stage (in ohm)\n",
+ "Ro1 = R3 * Ri2 /(R3 + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Ro2 = R5 #Output resistance of second stage (in ohm)\n",
+ "Av1 = Ro1/(r1e + R4) #Voltage gain of first stage \n",
+ "Av2 = Ro2/(r1e2 + R6) #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain of first stage is \",round(Av1,1),\".\\nVoltage gain of second stage is \",round(Av2,1),\".\\nOverall voltage gain is \",round(Av,2),\".\"\n",
+ "\n",
+ "#Calculation mistake in book about Ro1 , therefore slight variation in the answers."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain of first stage is 4.7 .\n",
+ "Voltage gain of second stage is 4.9 .\n",
+ "Overall voltage gain is 23.24 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.7 , Page Number 674"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "R1 = 800.0 #Resistance (in ohm)\n",
+ "R2 = 200.0 #Resistance (in ohm)\n",
+ "R3 = 600.0 #Resistance (in ohm)\n",
+ "R4 = 200.0 #Resistance (in ohm)\n",
+ "R5 = 100.0 #Resistance (in ohm)\n",
+ "R6 = 1000.0 #Resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR2 = VCC * (R2 / (R1 + R2)) #Voltage across resistance2 (in volts)\n",
+ "IE1 = (VR2 - VBE)/R2 #Emitter current of Q1 transistor (in Ampere)\n",
+ "IC1 = IE1 #Collector current of Q1 transistor (in Ampere)\n",
+ "VC1 = VCC - IC1 * R3 #Voltage at the collector of Q1 transistor (in volts)\n",
+ "VE1 = IE1 * R4 #Voltage at the emitter of Q1 transistor (in volts)\n",
+ "VCE1 = VC1 - VE1 #Collector-to-emitter voltage of Q1 transistor (in volts)\n",
+ "VE2 = VC1 - (-VBE) #Voltage at the emitter of Q2 transistor (in volts)\n",
+ "IE2 = (VCC - VE2)/R6 #Emitter current of Q2 transistor (in Ampere)\n",
+ "IC2 = IE2 #Collector-current of Q2 transistor (in Ampere)\n",
+ "VC2 = IC2 * R5 #Voltage at the collector of Q2 transistor (in volts)\n",
+ "VCE2 = VC2 - VE2 #Collector-to-emitter voltage of Q2 transistor (in volts)\n",
+ "\n",
+ "r1e1 = 25.0 / IE1 * 10**-3 #a.c. emitter diode resistance of Q1 transistor (in ohm)\n",
+ "r1e2 = 25.0 / IE2 * 10**-3 #a.c. emitter diode resistance of Q2 transistor (in ohm)\n",
+ "Ri2 = beta2 * (r1e2 + R6) #Input resistance of second stage (in ohm)\n",
+ "Ro1 = R3 * Ri2 / (R3 + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Av1 = Ro1 / (r1e1 + R4) #Voltage gain of first stage\n",
+ "Av2 = 1.0 #Voltage gain of second stage \n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current of Q1 transistor is \",IE1 * 10**3,\" mA.\\nCollector current of Q1 transistor is \",IC1 * 10**3,\" mA.\\nEmitter current of Q2 transistor is \",IE2 * 10**3,\" mA.\\nCollecotr-current of Q2 transistor is \",IC2 * 10**3,\" mA.\"\n",
+ "print \"Collector-to-emitter voltage of Q1 transistor is \",VCE1,\" v.\\nCollector-to-emitter voltage of Q2 transistor is \",VCE2,\".\"\n",
+ "print \"Overall voltage gain is \",round(Av,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Emitter current of Q1 transistor is 6.5 mA.\n",
+ "Collector current of Q1 transistor is 6.5 mA.\n",
+ "Emitter current of Q2 transistor is 3.2 mA.\n",
+ "Collecotr-current of Q2 transistor is 3.2 mA.\n",
+ "Collector-to-emitter voltage of Q1 transistor is 4.8 v.\n",
+ "Collector-to-emitter voltage of Q2 transistor is -6.48 .\n",
+ "Overall voltage gain is 2.93 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.8 , Page Number 679"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 1.5 * 10**3 #Emitter resistance (in ohm)\n",
+ "R1 = 30.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "beta1 = 150.0 #Common emitter current gain\n",
+ "beta2 = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = beta1 * beta2 #Overall current gain of transistor\n",
+ "VR2 = VCC * R2/(R1 + R2) #Voltage across resistor2 (in volts)\n",
+ "VB2 = VR2 - VBE #Voltage at the base of Q2 (in volts)\n",
+ "VE2 = VB2 - VBE #Voltage at the emitter of Q2 (in volts)\n",
+ "IE2 = VE2 / RE #Emitter current of Q2 (in Ampere)\n",
+ "r1e2 = 25.0/IE2 * 10**-3 #a.c. emitter diode resistance of Q2 (in ohm)\n",
+ "IB2 = IE2 / beta2 #Base current of Q2 (in Ampere)\n",
+ "IE1 = IB2 #Emitter current of Q2\n",
+ "r1e1 = 25.0/IE1 * 10**-3 #a.c. emitter diode resistance of Q1 (in ohm) \n",
+ "Ri1 = R1 * R2/(R1 + R2) #Total input resistance (in ohm)\n",
+ "Av = RE/(r1e1/beta2 + r1e2 + RE) #Overall voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The overall current gain is \",Ai,\".\"\n",
+ "print \"The a.c. emitter diode resistance of Q1 transistor is \",round(r1e1,1),\" ohm.\\nThe a.c. emitter diode resistance of Q2 transistor is \",round(r1e2,2),\" ohm.\"\n",
+ "print \"Total input resistance is \",Ri1 * 10**-3,\" kilo-ohm.\"\n",
+ "print \"Overall voltage gain is \",round(Av,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The overall current gain is 15000.0 .\n",
+ "The a.c. emitter diode resistance of Q1 transistor is 1442.3 ohm.\n",
+ "The a.c. emitter diode resistance of Q2 transistor is 14.42 ohm.\n",
+ "Total input resistance is 12.0 kilo-ohm.\n",
+ "Overall voltage gain is 0.98 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_3.ipynb
new file mode 100644
index 00000000..433935a4
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_3.ipynb
@@ -0,0 +1,782 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 27 , Power Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.1 , Page Number 689"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current at saturation point is 8.77 mA.\n",
+ "Collector-to-emitter voltage at saturation point is 0 V.\n",
+ "Collector current at cut off point is 0 mA.\n",
+ "Collector-to-emitter voltage at cut-off point is 5.26 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6269f30>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEZCAYAAABsPmXUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu8VXP+x/HXp5t00UVRFEXukoqixEHTGMKIkVxzjTHx\ncxuMGU5mhhk0LjGYXCa6uf0aIpXUySWVUkqiyc8tyjWkhkGf3x/fdWp3Opd9zln7rLP3fj8fj/1o\n7bXWXt/Ppj7nez7ru75fc3dERCS31Ek6ABERiZ+Su4hIDlJyFxHJQUruIiI5SMldRCQHKbmLiOQg\nJXfJG2ZWaGYPZ+C6HcxsvZmV+u/JzN4zs8Oi7d+Z2ci4YxApqV7SAYjUoKQe6tjQrrvfkFAMkmfU\nc5d8YkkHIFJTlNylVjCzq8xsuZl9Y2ZLzOyX5Zy7pZkNj8odX5nZi2bWsAptHhO1tdrMZpjZ7unE\nY2Z1zOwWM/vMzN4BjqpEmxtKQynlnNPN7P3oer9LOddS4vjczB4xsxaV/Z6Sn5TcpbZYDhzk7lsB\nw4DRZtamjHNvAboCBwItgSuA9ZVpzMx2BcYCFwGtgEnARDMrLlWWFs+20bHzCAl9X2A/4ATSL/mU\ndl5vYFfgcOBaM9st2n8RcAxwMNAWWA3cle53lPym5C61grs/7u6rou1HgX8DPUqeF920PBO42N1X\nuvt6d5/t7v+tZJMDgafd/Xl3/4nwA2NLQqKtKJ4TgVvd/SN3Xw3cQPoln9LOG+bu37v7IuB1oEu0\n/3zg9+7+sbv/QPghc0JZN25FUumGqtQKZnY6cAnQIdrVBNi6lFNbAQ2Bd6rZ5HbAB8Vv3N3N7MNo\nf1nxtIq22wIfplzrA6pnVcr2uqgtgB2BCWaW+lvJj8C2wMpqtik5Tj0ASZyZ7Qj8A7gQaOnuLYA3\nKL2X+znwHdCpms1+REiexTEY0B74KI14VgI7pFwrdTtOHwBHuHuLlFcjd1dilwopuUtt0JhQi/4c\nqGNmZwJ7l3aiu68HHgD+ZmZtzayumR1oZg0q2eZjwFFmdpiZ1QcuI/zQmJVGPI8CF5nZ9tENzqsq\n2Xa67gFuMLMdAMystZkdk6G2JMcouUvi3P1NYDjwCqFEsTfwUvFxM+tjZmtSPnI5sBh4FfgCuJGo\nV21ma8ysd1lNRS/c/W3gVGAE8BnhBunR7v5jRfEAI4EphPr4POAJKndD1Uu8L8vtwFPAVDP7Jopn\ns/sQIqWxTC7WYWYXA+cQ/uGNdPfbM9aYiIhskLGeu5ntTUjs+xPu/vc3s50z1Z6IiGyUybLM7sAc\nd/8uGmo2ExiQwfZERCSSyeT+BtDHzFqaWSNCTbNdyZPM7OroCcDFZjbWzLYocfxyM1sQvRab2Y9m\n1jydz4qI5KuMJXd3fwv4KzAVeBZYQImnCM2sA3Au0M3dOwN1gZNKXOcWd+/q7l2Bq4Eid/8qnc+K\niOSrjN5Q3aQhsxuAD9z9npR9Sc3SJyKS1dy93KeiMzoU0sy2if7cATiOMJfHJu69916aNGlC69at\nOfXUU3H3Ul9r166lZcuWrF69esO+dD+b1Ou6665LPAZ9P32/fPx+ufzd3NPrE2d6nPvjZraEMFb3\n1+7+TckTbrvtNt577z0+/vhjvv32W8aMGVPqhSZOnMhBBx1E8+bNAXjnnXfS/qyISL7JaHJ394Pd\nfS9339fdZ5R2Tq9evdh6662pV68eAwYMYNasWaVea/z48QwaNGjD+3nz5qX9WRGRfJP4E6qvvDKb\n//znP7g706ZNY88999zsnK+//poXXniBY489dsO+3XffndmzK/5skgoKCpIOIaP0/bJbLn+/XP5u\n6aqxG6qlNm7m2233Vxo1GkXDhnXo1q0bI0eO5MEHHwRgyJAhAIwaNYopU6YwduymJfubbrqJUaNG\nUadO+Ox9991H/fr1a/x7iIjUJDPDK7ihmnhyHzHCGTYMRoyAkzSQUUSkQlmR3N2dBQvgxBOhoABu\nvx0aNUosJBGRWi+d5J54zR2ga1d47TVYtw569IA330w6IhGR7FYrkjtA06YwejRceikccgg88AAk\n+EuFiEhWqxVlmZKWLIGBA2HffeHuu0PiFxGRIGvKMiXttRfMnQtbbgndu8OCBUlHJCKSXWplcodw\nU3XkSBg2DPr1g7vuUplGRCRdtbIsU9Ly5aFM06ED3HcftGiR+dhERGqrrC3LlNSpE8yaBe3aQbdu\nMHt20hGJiNRuWdFzT/Wvf8GQIXD55XDZZVAnK348iYjEJ2seYqqsDz4IT7M2bw6jRkHr1hkITkSk\nlsqZskxJO+wAM2dCly7hAaiioqQjEhGpXbKy555qyhQYPBjOPx9+/3uoWzee2EREaqucLcuU9PHH\ncOqpYXv0aNhuu2pfUkSk1kq8LGNmV5vZEjNbbGZjzWyLTLSz3Xbw3HNh4rHu3WHy5Ey0IiKSPTLW\nczezDsB0YA93/97MHgEmufuolHNi6bmnmjkTTjklvP70J9D07iKSa5LuuX8D/AA0MrN6QCPgowy2\nB4RJxxYsgMWL4eCD4b33Mt2iiEjtk7Hk7u5fAsOBD4CPga/cfVqm2kvVujU8/TQcf3yYQnjChJpo\nVUSk9qiXqQub2c7A/wAdgK+Bx8zsFHcfk3peYWHhhu2CgoLY1j6sUyc86NSnTxgTP3063HwzNGwY\ny+VFRGpMUVERRZUc853JmvtA4Gfufk70/jTgAHe/MOWc2GvupfnqKzj7bHj3XXjkEdhll4w3KSKS\nMUnX3N8CDjCzLc3MgL5AImssNW8Ojz8O55wDvXrBmDEVf0ZEJJtldJy7mf0WOANYD7wGnOPuP6Qc\nr5Gee6qFC8MMk336wB13aL1WEck+efMQU2WtWQMXXBBG1Tz6aFgcREQkWyRdlqm1mjaFhx8ON1wL\nCsIc8VoIRERySV723FO9+WYo03TuDPfcA1ttlWg4IiIVUs89DXvuGdZrbdo0TF0wf37SEYmIVF/e\nJ3cIC3Hfe2+YruCII8KNVpVpRCSb5X1ZpqR33gllmnbt4IEHoGXLpCMSEdmUyjJVsPPO8PLL0LFj\nWAhk1qykIxIRqTz13Mvx1FNw7rlw6aVwxRVar1VEageNc4/Bhx/CoEHQpAk89BBss03SEYlIvlNZ\nJgbt24c1Wrt3D2Wa6dOTjkhEpGLquVfCc8/BGWeEOWquvRbqZWxOTRGRsqkskwGrVoX1Wn/4AcaO\nhe23TzoiEck3KstkQJs2MGUK9OsXSjWTJiUdkYjI5tRzr4YXXwxrtQ4cCH/+MzRokHREIpIP1HPP\nsD594LXXYOnSsP3uu0lHJCISKLlXU6tWMHFi6L337AlPPJF0RCIiKsvEau7csF7rL34Bw4drvVYR\nyYzEyzJmtpuZLUh5fW1mF2WyzST16BHKNJ9+CgccAMuWJR2RiOSrGuu5m1kd4COgh7t/GO3LqZ57\nMfcwy+Qf/gC33RZuuoqIxKVWjXM3s37Ate5+UMq+nEzuxV5/PdTie/WCESOgceOkIxKRXJB4WaaE\nk4CxNdhe4rp0gXnzYP162H9/WLw46YhEJF/UyAP0ZtYAOBq4suSxwsLCDdsFBQUUFBTUREg1pkkT\n+Oc/YdQoOOwwuOGGMH2BlfszV0Rko6KiIoqKiir1mRopy5jZscAF7n5Eif05XZYp6a23Qplmjz3g\nH//Qeq0iUjXVLsuYWTczu9nM5pjZJ2a2Ktq+2cy6ViKWQcC4Spyfk3bfHWbPhhYtoFs3rdcqIplT\nZs/dzCYBq4GngLnASsCAtkAPQpmlubsfVW4DZo2B94GO7r6mxLG86rmneuwxuPBCuOYauOgilWlE\nJH3VGi1jZtu6+ycVNLCNu39ajQDzNrkD/N//hYee2raFBx/Ueq0ikp5qlWXKSuxm1sfM7orOqXJi\nF9hpJ3jpJdhll7AQyMsvJx2RiOSKtIZCptTe3wf+CLyV2bDyR4MGcMst8Pe/w/HHw403hqGTIiLV\nUV5ZZjfCjdCBwGfAY8AV7r5DbI3neVmmpBUr4OSTYcstw3qt226bdEQiUhtVd7TMUqAb8HN3P9jd\nRwA/xRmgbKpdu7BGa48eYTTN888nHZGIZKvykvsA4D/AC2Z2j5kdThgtIxlUrx788Y/hoafTTgvz\n0/z4Y9JRiUi2qfAhJjNrAhxLKNEcCjwETHD3qdVuXGWZcq1aFRL899+H9VrbtUs6IhGpDWKZW8bd\nv3X3Me7eH2gPLACuiilGKUfxeq0//znstx8880zSEYlItkhr+gEza0FI7PWISjPuXu3nK9VzT99L\nL4Wbrb/6VRhRo/VaRfJXLFP+mtkfgcHA/wEbBum5+6ExBKjkXglffAFnnhnKNePHh3HyIpJ/4kru\ny4C93f2/cQYXXVvJvZLc4fbbw+ySd90VevIikl/iSu4TgPMrmoqgKpTcq27evDDDZL9+8Le/hbHx\nIpIf4kru+wNPAm8A30e73d2PiSFAJfdq+PprOO+8MJXwI4+EWSdFJPfFldyXAncTkntxzd3dfWYM\nASq5V5M7jBwZZpccPhxOPz3piEQk0+JK7q+6+/6xRrbx2kruMVm8GE48EXr2hDvvDCtAiUhuimsN\n1RfN7EYzOzCaQKybmXWLKUaJSefOoQ5vFtZrXbQo6YhEJEnp9NyLgM1O0lDI2uvhh+HSS8M0BkOG\naCEQkVwTS1mmmgE0B+4D9iL8gDjL3WenHFdyz5C33w5lmt12CzX5Zs2SjkhE4lKtsoyZDTazeuUc\nb2BmZ1YQw+3AJHffA9iHMNOk1IDddoM5c6BVq7AQyKuvJh2RiNSkMpM30AR41czeAuaxcQ3VNsB+\nwO7AyLI+bGbNgD7ufgaAu/8IfB1T3JKGhg3DIiBPPAFHHQVXXQWXXKIyjUg+KLcsY2YG9AYOAooX\n6XgfeAmYVV5Nxcz2Be4F3gS6APOBi919Xco5KsvUkHffDeu1brMN/POfsPXWSUckIlWVTlmmvJ47\nUeZ9KXpVVj3CYh+/cfdXzew2wmyS16aeVFhYuGG7oKCAgoKCKjQlFenYEV58MYyH79o1TCF80EFJ\nRyUi6SgqKqKoqKhSn8nYDVUzawO84u4do/cHAVdFUwcXn6OeewKeeQbOPhuGDg2lmrp1k45IRCoj\nrnHuVeLuq4APzWzXaFdfYEmm2pP0HXVUGBM/dWqYK37VqqQjEpG4ZSy5R4YCY8zsdcJomRsy3J6k\nqV27sEZr795hvdbnnks6IhGJU5llGTO7DPja3e8rsf9soKm731btxlWWqRWmTw/L+Q0eDMOGhXVc\nRaT2qtZDTGb2GnBAyXnczawBMN/dO8cQoJJ7LfHJJ2HSsbVrYdw4aN8+6YhEpCzVrbnXK22Bjmif\nRkrnmG23hWefhf79w3qtTz2VdEQiUh3lJXeLRryU3Lktpcw1I9mvTp0wembChDCS5pJL4L+xr78l\nIjWhvOR+M/CMmRWYWdPodSjwDDC8ZsKTJPTqBQsWhAefeveGd95JOiIRqayKnlD9BXA1YeIvCEMZ\nb3T3Z2NpXDX3Ws0dRowIs0veeWdY1k9Ekpf4rJAVUXLPDvPnh8R++OFw221ar1UkadUdLTOinM+5\nu19UneCiNpTcs8Q334S54ZcsCeu17rFH+eevWLGCCy+8kKVLl7J+/Xr69+/PzTffTP369WsmYJEc\nVt3RMvMJs0GWfM2PXpJHttoqzEdz0UVw8MEwalTZ57o7AwYMYMCAASxbtoxly5bx7bffcs0119Rc\nwCJ5TmUZqbQ33ghlmu7dw5TCJddrff7557n++uuZOXPjGupr1qyhY8eOrFixgoYNG9ZwxCK5JdG5\nZSR37b03zJ0L9euHBP/665seX7JkCd27d99kX9OmTdlhhx1Yvnx5DUYqkr+U3KVKGjeG+++H666D\nvn3h7rvD6BoIvYqy/PjjjzUUoUh+qzC5R1P1ltzXOzPhSLY5+WSYNSus03riifDVV7Dnnnsyf/6m\nt2W++eYbPvzwQ3bZZZeEIhXJL+n03EsbNXNn3IFI9tplF3jlFWjTJsww2bTp4axbt46HH34YgJ9+\n+onLLruMk08+mcaNGyccrUh+KG8o5IFAL+AS4G9snE+mKXCcu3epduO6oZpz/vd/4fzzYciQFbz+\n+oW89dZSPvvsM/r168fo0aM1FFIkBtW9odqAkMjrRn82iV7fACfEFaTklgEDws3WadPasX79k8ya\ntYxJkyaxZMkS3UwVqUEVDoU0sw7u/l6VGzB7j/AD4SfgB3fvkXJMPfcc9cMP8Pvfh7HxY8aEsfEi\nEo9Yph8ws92Ay4EObFxQ2939sDSDeBfo7u5flnJMyT3HTZ4MZ54Jv/41/O53Wq9VJA5xJfdFwN3A\na4TeN4TkntZTqlFy38/dvyjlmJJ7Hvj44zCqpm5dGD0a2rZNOiKR7BbXQ0w/uPvd7j7H3edFr8pM\nP+DANDObZ2bnVuJzkiO22y6s19qnTxhNM3Vq0hGJ5L50eu6FwGfA/wLfF+8vrcxSxufbuvtKM2sN\nPAcMdfcXo2PqueeZGTPCeq2nnQbXXx+echWRyomrLPMepay85O4dqxDQdcC37j48eu/XXXfdhuMF\nBQUUFBRU9rKSZT79NKzXumZNWK91hx2SjkikdisqKqKoqGjD+2HDhiU7n7uZNQLquvsaM2sMTAWG\nufvU6Lh67nlq/Xq45RYYPhz+8Q849tikIxLJHnH13BsDlwI7uPu5ZrYLsJu7P51GAB2BCdHbesAY\nd78x5biSe5575RUYNCgk95tugi22SDoikdovruT+KGH+9tPdfa8o2c/SE6oSl9Wr4ayz4IMPwkIg\nnTolHZFI7RbXaJmd3f2vwH8B3H1tHMGJFGvRIkxbMHgwHHggjB+fdEQi2S+d5P69mW1YNdPMdiZl\n1IxIHMxg6FCYMgX+8Ac47zxYty7pqESyVzrJvRCYDLQzs7HAdODKTAYl+atbN3jtNVi7Fnr0gDff\nTDoikexUbnI3szpAC+B44ExgLOFp0xk1EJvkqaZNw5Osl1wChxwCDzywcSEQEUlPOjdU57t793JP\nqmrjuqEqFViyJCwC0rVrWO2padOkIxJJXlw3VJ8zs8vNrL2ZtSx+xRSjSLn22gtefRUaNgzrtS5Y\nkHREItmhqk+ourvvVO3G1XOXShg3Di66CAoLwyyT5SzVKpLTqj3OPaq5/8rdH4k7uOj6Su5SKcuX\nw8CBsOOOYYHuFi2Sjkik5lW7LOPu64HfxhqVSDV06hQW5G7fPtThZ89OOiKR2imdssxfgM+BR4AN\nDzClOytkBddWz12q7F//giFD4LLL4PLLoU46d5BEckCtmxWylGsruUu1vP9+mJumWTN46CFo3Trp\niEQyL5bRMu7ewd07lnzFF6ZI1e24I8ycCfvuG8o0KbOiiuS1dHruZ1B6z/2hajeunrvEaMqUMD/N\n+eeHxbm1XqvkqrjKMneyMblvCRwGvObuJ8QQoJK7xGrlSjjllPBE65gxYYk/kVwTS3Iv5aLNgUfc\n/efVCS66lpK7xO6nn+DPfw5PtD74IBxxRNIRicQrU8m9AfCGu+9aneCiaym5S8bMnAmnngonnwx/\n+pPWa5XcEVdZZmLK2zrAnsCj7p7WzJBmVheYB6xw96NLHFNyl4z67LNQh//yy/CEa4cOSUckUn3p\nJPd6aVxneMr2j8D77v5hJeK4GHgT0JRPUuNat4aJE+HWW8MUwvfeC8cdl3RUIpmXTs99J2Clu/8n\ner8lsK27v1fhxc3aAf8E/gxcqp67JGnOHDjpJOjfH26+OUxGJpKN4poV8jHgp5T364HH04zhVuCK\n6DMiierZM8wquXIl9OoFy5YlHZFI5qST3Ou6+3+L37j790CFt6bMrD/wqbsvADR/n9QKzZvDY4/B\nOedA795huKRILkqn5v65mR3r7k8CmNmxhLlmKtILOMbMjgQaAluZ2UPufnrqSYWFhRu2CwoKKCgo\nSDN0kaoxC1MG9+oVZpicMQPuuAMaNUo6MpHSFRUVUVTJx6/Tqbl3AsYAxY+DrABOc/flaTdidghw\nuWruUtusWRMS/WuvwaOPhsVBRGq7uOaWWe7uPQlDIPd09wMrk9hTL1WFz4hkVNOmYcKxK66AgoIw\nR7z6G5ILKv0QU6yNq+cutcjSpWG91s6d4Z57YKutko5IpHRxjZYRyQt77AFz54befPfuoVQjkq3K\nTe5mVsfMetVUMCJJ23LL8KDTn/4U5qQZMUJlGslO6dxQXeju+2akcZVlpBZ7553w0FO7dqEW37Jl\n0hGJBHGVZaaZ2QlmWmte8svOO8NLL4X5aLp1g1deSToikfSl03P/FmhEeEr1u2i3u3u1bzep5y7Z\n4qmn4Nxz4dJLw8gardcqScrIlL9xUnKXbPLhh2G91iZNwvDJbbZJOiLJV7GNljGzY81suJndYmZH\nV/wJkdzTvn1Yo7V791CmmTEj6YhEypZOWeYvwP6Ep1QNOAmY5+5XV7tx9dwlSz33HJxxRijVXHut\n1muVmhXXYh2LgX3d/afofV1gobt3jiFAJXfJWqtWhfVaf/opTEC2/fZJRyT5Iq6yjAPNU943R1MJ\niNCmDUydCn37hlLNpElJRySyUTo990HAX4AZhLLMIcBV7j6+2o2r5y454oUXQi/+pJPC4twNGiQd\nkeSy2EbLmNl2hLq7A6+6+8qYAlRyl5zx+edhvdbPP4fx47Veq2ROLGUZM3ve3T929yfd/Sl3X2lm\nz8cXpkhuaNUqjIc/8cSwXusTTyQdkeSzMnvu0VqpjQjlmIKUQ1sBk91992o3rp675Ki5c0OJ5sgj\n4ZZbtF6rxKu6PfchwDxgN2B+yusp4M64ghTJRT16hFklP/kEDjxQ67VKzUvnhupQdx+RkcbVc5cc\n5x5mmfzDH+DWW+HUU5OOSHJBbEMhzaxFykVbmNmv0wygoZnNMbOFZvammd2YzudEcoUZnH8+TJsW\nphE+6yxYuzbpqCQfpJPcz3X31cVvou3z0rm4u38HHBpNGbwPcKiZHVSlSEWyWJcuMG9eeOBp//1h\n8eKkI5Jcl05yr2NmG86LnlCtn24D7r4u2mwA1AW+rFSEIjmiSRMYNQquvBIOOwxGjtRCIJI56ST3\nKcB4MzvczPoC44HJ6TYQrea0EPgEmOHub1YtVJHccMYZ4aGnESPCLJPffJN0RJKL6qVxzpWEMswF\n0fvngPvSbcDd1wP7mlkzYIqZFbh7UfHxwsLCDecWFBRQUFCQ7qVFstYee8CcOXDJJWGGyfHjYb/9\nko5KaquioiKKiooq9Zl0n1BtBOzg7m9VLbQN1/kD8B93vyV6r9EykvceewwuvBB+9zu4+OJwE1ak\nPHE9oXoMsICoFGNmXc3sqTQDaGVmzaPtLYGfRdcSkcivfgWzZ4eZJX/5S/jii6QjklyQTs29EOgJ\nrAZw9wXATmlevy0wPaq5zwEmurumLhApYaed4OWXoVMn6No1bItURzo19x/c/asS62OvT+fi7r4Y\n6FaVwETyTYMGMHw4HHooHH98KNFceaXWa5WqSeevzRIzOwWoZ2a7mNkIYFaG4xLJW/37hzHxkybB\nEUeEKQxEKiud5D4U2Av4HhgHfAP8TyaDEsl37dqFNVp79gyjaZ5XMVMqKa3RMhlrXKNlRCo0bVoY\nG3/WWXDddVAvnWKq5LRqLdZhZhPL+Zy7+zHVCS5qQ8ldJA2ffAKnnQbffQdjx4aeveSv6ib3gvI+\nmPogUlUpuYukb/16+Mtf4I474L77Qm1e8lNsy+xlipK7SOW99BKcfHIYH3/jjVqvNR9Vt+de3rx1\n7u77VCe4qA0ld5Eq+OILOPNMWLUqTF2wU7pPnkhOqG5y71DeB939vaoGltKGkrtIFbnD7bfDDTfA\nXXeFnrzkh9jKMma2LdADcGCuu38aU4BK7iLVNG8eDBwI/frB3/4GW26ZdESSaXHNLXMiMBf4FXAi\nMNfM1EcQqSX22y+s1/rll3DAAfBWtab3k1yRzhqqi4C+xb11M2sNPK+au0jt4h4WALnmmjCNwemn\nJx2RZEosZZnoxuo+xVk4WpXpdXfvHEOASu4iMVu8GE48EXr0CLX4Jk2SjkjiFtcC2ZMJi2wMNrMz\ngUnAs3EEKCLx69w51OHr1g0lm9dfTzoiSUK6N1SPB3pHb1909wmxNK6eu0hGPfwwXHop/PGPMGSI\nFgLJFdUdCrkLsK27v1Ri/0HASnd/J4YAldxFMuztt8Noml13DTX5Zs2Sjkiqq7plmdsIM0CW9E10\nTESywG67hZWeWrcOM0y++mrSEUlNKC+5b+vui0rujPZ1TOfiZtbezGaY2RIze8PMLqpqoCJSdQ0b\nhpurN90ERx0Ft94aRtdI7iqvLLPc3TtV9liJ89oAbdx9oZk1AeYDv3T3pdFxlWVEati778JJJ8G2\n28KDD8LWWycdkVRWdcsy88zsvFIuei4hSVfI3Ve5+8Jo+1tgKbBdOp8Vkczo2BFefDGUa7p2DduS\ne8rrubcBJgD/ZWMy7w5sARzn7isr1VCYq2YmsFeU6NVzF0nYpElhEZChQ+Gqq8LwSan90um5l7mm\ni7uvMrNewKHA3oR5ZZ529+lVCKQJ8DhwcXFiL1ZYWLhhu6CggIKCgspeXkSq6Mgjw5j4U06BoqIw\ndLJNm6SjkpKKioooKiqq1GcyPp+7mdUHngaedffbShxTz12kFvjxxzAWfuRIeOgh6Ns36YikPIkv\n1mFmBowCvnD3S0o5ruQuUotMnx6W8xs8GIYN03qttVVtSO4HAS8AiwhlHYCr3X1ydFzJXaSWKV6v\ndd06GDcO2rdPOiIpKfHkXhEld5Haaf36MCb+1lvDeq1HH510RJJKyV1EquXll8N6rQMGwF//qvVa\na4u4ZoUUkTzVuzcsWBAefOrdG96p9oxSUlOU3EWkXC1bwoQJoQ5/4IHw6KNJRyTpUFlGRNI2f36Y\nYbJv31CP13qtyVBZRkRi1b17WK/166+hZ09YujTpiKQsSu4iUilbbQVjx4YpCw4+GEaNSjoiKY3K\nMiJSZYsXhzLNfvvB3/+u9VprisoyIpJRnTuHxT/q1w8lm4ULk45Iiim5i0i1NG4M998P114LP/tZ\n6MHrF/KnnjkAAAAPH0lEQVTkqSwjIrFZtiyUaXbeOTzZ2rx50hHlJpVlRKRG7borvPIKtG0bFgKZ\nMyfpiPKXkruIxKphQxgxAoYPD3PS3HJLmKtGapbKMiKSMe+9B4MGhadcR42CVq2Sjig3qCwjIonq\n0AFeeAH23juUaV54IemI8od67iJSI559NqzXeuGFcPXVWq+1OjTlr4jUKh99FNZrrVsXRo8ON16l\n8hIvy5jZA2b2iZktzmQ7IpIdtt8enn8e+vQJDz1NnZp0RLkr08vs9QG+BR5y986lHFfPXSRPzZgR\nphE+7TS4/vrwlKukJ/Geu7u/CKzOZBsikp0OPTTMMLlwIRQUwAcfJB1RbtFoGRFJzDbbwDPPwLHH\nwv77w5NPJh1R7qiXdACFhYUbtgsKCigoKEgsFhGpeXXqwG9/G+rwgwbB9Olhce4ttkg6stqjqKiI\noqKiSn0m46NlzKwDMFE1dxGpyOrVcPbZ8P778Mgj0KlT0hHVTonX3EVEKqNFC3jiCTjzzLBe6/jx\nSUeUvTI9WmYccAiwNfApcK27P5hyXD13ESnVggVhhslDDoHbb4dGjZKOqPbQQ0wiktXWrIHzz4fX\nXw9lmr32Sjqi2kFlGRHJak2bhidZL700DJd84AEtBJIu9dxFJCssWRLKNF26wD33hMSfr9RzF5Gc\nsddeMHduqL137x5q8lI2JXcRyRqNGsHIkTBsGPTrB3fdpTJNWVSWEZGstHx5KNN06BAW6M6n9VpV\nlhGRnNWpE8yaBe3ahYVAZs9OOqLaRT13Ecl6//oXDBkCl18Ol10WpjTIZRrnLiJ54/33w9w0zZuH\n9Vpbt046osxRWUZE8saOO8LMmWGoZLduYTufqecuIjlnyhQYPDg83fr73+feeq0qy4hI3lq5MqzX\n6g5jxsB22yUdUXxUlhGRvNW2LTz3XFjxqXt3mDw56YhqlpK7iOSsunXh2mvD1MHnnANXXgk//JDe\nZzt06MA+++xD165d6dGjx2bHx4wZQ5cuXdhnn33o3bs3ixYtAuDtt9+ma9euG17NmjXjjjvuiPNr\npUVlGRHJC599BmecAV99BePGhRuw5enYsSPz58+nZcuWpR5/5ZVX2HPPPWnWrBmTJ0+msLCQ2SUG\n269fv57tt9+euXPn0r59+7i+isoyIiLFWreGp5+GAQOgR48wNr4i5XU+DzzwQJo1awZAz549WbFi\nxWbnTJs2jZ133jnWxJ6ujCZ3MzvCzN4ys3+b2ZWZbEtEpCJ16oQHnZ58Ei65BIYOhe++K/1cM6Nv\n377st99+jBw5stzr3n///Rx55JGb7R8/fjwnn3xyHKFXnrtn5AXUBZYDHYD6wEJgjxLneC6bMWNG\n0iFklL5fdsvl75fOd/vyS/cBA9y7dnVftmzz4x9//LG7u3/66afepUsXf+GFF0q9zvTp032PPfbw\nL7/8cpP933//vbdq1co//fTTSsdfkSh3lpuDM9lz7wEsd/f33P0HYDxwbAbbq3Uqu1p5ttH3y265\n/P3S+W4tWsDjj4cbrb16wdixmx5v27YtAK1bt+a4445j7ty5m11j0aJFnHvuuTz11FO0aNFik2PP\nPvss3bt3p3VCj8pmMrlvD3yY8n5FtE9EpFYwg1//OgyZHDYsJPp162DdunWsWbMGgLVr1zJ16lQ6\nd+68yWc/+OADBgwYwOjRo+nUqdNm1x43bhyDBg2qke9Rmkwmdw2DEZGssO++MG8efP897L8/vPXW\nJ/Tp04d9992Xnj170r9/f/r168e9997LvffeC8D111/P6tWrueCCCzYbLrl27VqmTZvGgAEDkvpK\nmRsKaWYHAIXufkT0/mpgvbv/NeUc/QAQEakCT2r6ATOrB7wNHA58DMwFBrn70ow0KCIiG9TL1IXd\n/Ucz+w0whTBy5n4ldhGRmpHoE6oiIpIZiT2hmssPOJnZA2b2iZktTjqWTDCz9mY2w8yWmNkbZnZR\n0jHFycwamtkcM1toZm+a2Y1JxxQ3M6trZgvMbGLSscTNzN4zs0XR99t8/GKWM7PmZva4mS2N/n4e\nUOp5SfTczawuoR7fF/gIeJUcqsebWR/gW+Ahd+9c0fnZxszaAG3cfaGZNQHmA7/Mlf9/AGbWyN3X\nRfeOXgIud/eXko4rLmZ2KdAdaOruxyQdT5zM7F2gu7t/mXQsmWBmo4CZ7v5A9Pezsbt/XfK8pHru\nOf2Ak7u/CKxOOo5McfdV7r4w2v4WWArk0GzZ4O7ros0GhHtGOZMozKwdcCRwH1DuiIsslpPfy8ya\nAX3c/QEI9zZLS+yQXHLXA045wsw6AF2BOclGEi8zq2NmC4FPgBnu/mbSMcXoVuAKYH3SgWSIA9PM\nbJ6ZnZt0MDHrCHxmZg+a2WtmNtLMGpV2YlLJXXdxc0BUknkcuDjqwecMd1/v7vsC7YCDzawg4ZBi\nYWb9gU/dfQE52rsFert7V+AXwIVRmTRX1AO6AX93927AWuCq0k5MKrl/BKTOgdme0HuXLGFm9YEn\ngNHunsbkqdkp+pX3GWC/pGOJSS/gmKguPQ44zMweSjimWLn7yujPz4AJhDJwrlgBrHD3V6P3jxOS\n/WaSSu7zgF3MrIOZNQAGAk8lFItUkpkZcD/wprvflnQ8cTOzVmbWPNreEvgZsCDZqOLh7r9z9/bu\n3hE4CZju7qcnHVdczKyRmTWNthsD/YCcGbXm7quAD81s12hXX2BJaedm7CGm8uT6A05mNg44BNja\nzD4ErnX3BxMOK069gVOBRWZWnPSudvdcWaWyLTDKzOoQOkAPu/vzCceUKblWIt0WmBD6H9QDxrj7\n1GRDit1QYEzUMX4HOLO0k/QQk4hIDtIyeyIiOUjJXUQkBym5i4jkICV3EZEcpOQuIpKDlNxFRHKQ\nknsWM7M2ZjbezJZH82g8Y2a7lHN+h+JpiM2soKrTvZrZ/0QP91RZHNeoQptHF08vbWa/NLM9Uo6d\nYWZtazieQjO7LNoenOn2zWy6mfUrse9/zOzv0fauZjbJzJaZ2Xwze8TMton+rnwdTaFb/DqsjDam\nmdlW0ZTQpbYVXXNS5r6pgJJ71oqeEp1AeMKwk7vvB1xNeIgj0y4GSp2sqCzRA0HVukZ1ufvElDV8\nfwnsmXJ4MJWc2TKaurpaIbHxIaJKt18F4whPpaYaCIw1s4aEaRbucvdd3b078HegdRTjC+7eNeU1\nveTFo4T/trt/A4wtqy13/xRYbWalPjYv8VByz16HAv91938U73D3RcVzjpvZzWa2OFq04MTyLmRm\njS0sMDInmmnumGh/XTO7JbrO62b2GzMbSkhCM8zs+ei8QVE7i83sLynX/Tb6/ELggJT9F6V7jVJi\nvcLM5kbxFEb7OlhY+OVBM3vbzMaYWT8zeznqhe4fnTfYzEaY2YHA0cDNUS/0t4S5Y8ZE37+hmXU3\ns6LoN6LJFuawJ9p3q5m9ClyUElcdM3vXwpSsxfv+bWato/imRzFPM7PUeZXMzI4nzK2e2v610fdc\nbGb3ppy8v21ciOLmlN/E6kbvi//bnFfKf74ngKMszAFePKPndtHfmZOBl939meKT3X2muy8h/QnG\nTgaeTKMtCNONDErzulIV7q5XFr4IieVvZRw7HphK+Ee5DfA+oUffAVgcnVMATIy2bwBOibabExZS\naQRcADwK1ImOtYj+fBdoGW1vF11/a8JUEs8Dx0bH1gMnlBFjWtco8Zl+wL3Rdh1gItAn+l4/AHtF\n33keYUoLgGOACdH2YGBEtP0gMCDl2jOAbtF2fWAWsHX0fmDK9WYAd5bxnW4DBkfbPYGp0fZE4LRo\n+8yUeK4DLi3Zfup/62j7IaB/tP0G0DPavhFYFG2fB1wTbW9BWACnQykxTgSOibavAm6KtocDQ8v4\nXgXAV4T5dYpfHUs5b2nx/9Py2oredwTmJP3vKJdf6rlnr/LmjehN+PXXPfwKPJPyZ8brB1xlYZ6Y\nGYTksANwOCGZrgdw99IWINmfMN/5F+7+EzAGODg69hOhB1eR8q5RMs5+UZzzgd2ATtGxd919iYfM\nsQSYFu1/g5D8S1OyR1r8fjfCD4ppUVvXsOl6A4+Ucb1HCD8IIJQkis87gFCmABgNHJRGPIeZ2Wwz\nWwQcBuxpYTKzJu5ePHf+2JTP9ANOj+KdDbRk43+bVKmlmYHR+9LaL+lF37Qs824p52znm65+VF5b\nKyn7/4vEIJGJwyQWS4ATyjle8h9qRZMIDXD3f29ygTD5UkW/knuJcyylre+iZIuZTSb89vCqu5cs\nGZR2DcysB1Bckrg2+vNGTylFRed1AL5P2bUe+G/Kdll/z0v+Nyl+b8ASd+9VxufWlrF/NtDJzFoR\nVha7PjXMMj6zWftR/fsuwlJxH5nZdUDDUuItec3fuPtzFbTxFHCrmXUFGnmY1x3C36dD0oixMspq\nCzb9eyIZoJ57lvJwQ2sLS1lpxsz2MbODgBeBgVEduDWhF1zeQsFT2LR+3DXafA4YUnzj0MxaRPvX\nAFtF268Ch5jZ1tF5JxF+UygZ7xFRj++8NK9R5O5zU3qKE6M4z7IwlStmtn30/aoitf2S798GWlu0\n8LCZ1TezPalA9INsAmGlozdTftOZxcYe7CnAC9G2sTFBp7bfMPrzCwsLovwquv7XwJrohx5sesNy\nCvDrlBr3rlbKCj0eFlWZQShLjU05NBboZWZHFu8ws4PNbK+KvneKj81s6zTagjDz5vuVuLZUkpJ7\ndjsO6GthKOQbwJ+Ble4+AVgEvE6oX18RlWdg095S8fYfgfrRjbo3gGHR/vuADwhT+y5k4w2wfwCT\nzex5DwsjXEX4R7wQmBcl4pJtlZTuNTYGG3qlY4FXonLFo0CTMtoq7Xumjk4ZD1xhYcjfTsA/gXvM\n7DXCv4sTgL9G33sBcGA53yXVI4QEnlq6GQqcaWavR8cuLiWe1Pa/A0YSSkqT2XQJw7OBkVH5pRFQ\nvH7mfcCbwGvRTda7Kfs3lnFAZ1LKJO7+HdAfGBrdhF4CnA98FsXYxzYdCjmglOu+xOaLmmzWVqQH\nG3/ISQZoyl+RLGJmjd19bbR9FbCtu1+ScFhAeHYCGOjuF6Rx7hjglhKlGomReu4i2eWoqOe8mHDj\n/E9JB1TM3YsIK6w1Le88M9sGaK7EnlnquYuI5CD13EVEcpCSu4hIDlJyFxHJQUruIiI5SMldRCQH\nKbmLiOSg/wedVsAa/LN/MwAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x26fc390>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector resistance (in kilo-ohm) \n",
+ "RE = 500.0 * 10**-3 #Emitter resistance (in kilo-ohm) \n",
+ "RL = 1.5 #Load resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR2 = VCC * (R2 /(R1 + R2)) #Voltage drop across R2 (in volts)\n",
+ "IEQ = (VR2 - VBE) / RE #Emitter current (in milli-Ampere)\n",
+ "ICQ = IEQ #Collector current (in milli-Ampere)\n",
+ "VCEQ = VCC - ICQ * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "rL = RC * RL /(RC + RL) #a.c. load resistance (in kilo-ohm)\n",
+ "ICsat = ICQ + VCEQ / rL #Collector current at saturation point (in milli-Ampere) \n",
+ "VCEsat = 0 #Voltage at saturation point (in volts)\n",
+ "ICcutoff = 0 #Collector current at cut off point (in milli-Ampere)\n",
+ "VCEcutoff = VCEQ + ICQ * rL #Collector-to-emitter voltage at cut-off point (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current at saturation point is \",round(ICsat,2),\" mA.\\nCollector-to-emitter voltage at saturation point is \",VCEsat,\" V.\"\n",
+ "print \"Collector current at cut off point is \",ICcutoff,\" mA.\\nCollector-to-emitter voltage at cut-off point is \",VCEcutoff,\" V.\"\n",
+ "\n",
+ "#Slight variation due to higher precision.\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,5.27,100)\n",
+ "plot(x,8.78 - 8.78/5.27 * x)\n",
+ "title(\"a.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"Q\",xy=(2.11,5.26))\n",
+ "annotate(\"8.78\",xy=(0,8.78))\n",
+ "annotate(\"5.27\",xy=(5.27,0))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.2 , Page Number 691"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overall compliance (PP) of the amplifier is 9.61 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 1.8 #Resistance (in kilo-ohm)\n",
+ "RC = 620.0 * 10**-3 #Collector resistance (in kilo-ohm) \n",
+ "RE = 200.0 * 10**-3 #Emitter resistance (in kilo-ohm) \n",
+ "RL = 1.2 #Load resistance (in kilo-ohm)\n",
+ "beta = 180.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * (R2 /(R1 + R2)) #Voltage drop across R2 (in volts)\n",
+ "VE = VB - VBE #Voltage at the emitter (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IE*(RC + RE) #Collector-to-emitter voltage (in volts)\n",
+ "ICEQ = IC #Collector current at Q (in milli-Ampere)\n",
+ "VCEQ = VCE #Collector-to-emitter voltage at Q (in volts) \n",
+ "rL = RC * RL/(RC + RL) #a.c. load resistance (in kilo-ohm) \n",
+ "PP = 2 * ICEQ * rL #Compliance of the amplifier (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Overall compliance (PP) of the amplifier is \",round(PP,2),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.3 , Page Number 694"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 27.5 and Power gain is 1375.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "r1e = 8.0 #a.c. load resistance (in ohm)\n",
+ "RC = 220.0 #Collector resistance (in ohm)\n",
+ "RE = 47.0 #Emitter resistance (in ohm)\n",
+ "R1 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 470.0 #Resistance (in ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RC #Load resistance (in ohm)\n",
+ "Av = rL / r1e #Voltage gain\n",
+ "Ai = beta #Current gain\n",
+ "Ap = Av * Ai #Power gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",Av,\" and Power gain is \",Ap,\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.4 , Page Number 698"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector efficiency is 25.0 % .\n",
+ "Power rating of the transistor is 20.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Ptrdc = 20.0 #dc Power (in watt)\n",
+ "Poac = 5.0 #ac Power (in watt) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ne = Poac / Ptrdc #Collector efficiency \n",
+ "P = Ptrdc #Power rating of the transistor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector efficiency is \",ne * 100,\"% .\\nPower rating of the transistor is \",P,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.5 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The a.c. power output is 4.7 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Pcdc = 10.0 #dc power (in watt)\n",
+ "ne = 0.32 #efficiency\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Poac = ne * Pcdc / (1 - ne) #a.c. power output (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The a.c. power output is \",round(Poac,1),\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.6 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total power within the circuit is 7.0 W.\n",
+ "The power Pcdc = 3.5 W is dissipated in the form of heat within the transistor collector region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "nc = 0.5 #Efficiency\n",
+ "VCC = 24.0 #Source voltage (in volts)\n",
+ "Poac = 3.5 #a.c. power output (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ptrdc = Poac / nc #dc power (in watt)\n",
+ "Pcdc = Ptrdc - Poac #Power dissipated as heat (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total power within the circuit is \",Ptrdc,\" W.\\nThe power Pcdc = \",Pcdc,\" W is dissipated in the form of heat within the transistor collector region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.7 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power supplied by the d.c. source to the amplifier circuit is 12.0 W.\n",
+ "D.C. power consumed by the load resistor is 5.76 W.\n",
+ "A.C. power developed across the load resistor is 0.72 W.\n",
+ "D.C. power delivered to the transistor is 6.24 W.\n",
+ "D.C. power wasted in the transistor collector is 5.52 W.\n",
+ "Overall efficiency is 0.06 .\n",
+ "Collector efficiency is 11.5 % .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 20.0 #Supply voltage (in volts)\n",
+ "VCEQ = 10.0 #Collector-to-emitter voltage (in volts)\n",
+ "ICQ = 600.0 * 10**-3 #Collector current (in Ampere)\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "Ip = 300.0 * 10**-3 #Output current variation (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Pindc = VCC * ICQ #dc power supplied (in watt)\n",
+ "PRLdc = ICQ**2 * RL #dc power consumed by load resistor (in watt) \n",
+ "I = Ip / 2**0.5 #r.m.s. value of Collector current (in Ampere) \n",
+ "Poac = I**2 * RL #a.c. power across load resistor (in ohm) \n",
+ "Ptrdc = Pindc - PRLdc #dc power delievered to transistor (in watt)\n",
+ "Pcdc = Ptrdc - Poac #dc power wasted in transistor collector (in watt) \n",
+ "no = Poac / Pindc #Overall efficiency\n",
+ "nc = Poac / Ptrdc #Collector efficiency \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power supplied by the d.c. source to the amplifier circuit is \",Pindc,\" W.\"\n",
+ "print \"D.C. power consumed by the load resistor is \",PRLdc,\" W.\"\n",
+ "print \"A.C. power developed across the load resistor is \",Poac,\" W.\"\n",
+ "print \"D.C. power delivered to the transistor is \",Ptrdc,\" W.\"\n",
+ "print \"D.C. power wasted in the transistor collector is \",Pcdc,\" W.\"\n",
+ "print \"Overall efficiency is \",no,\".\"\n",
+ "print \"Collector efficiency is \",round(nc * 100,1),\"% .\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.8 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The effective resistance is 1.8 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "a = 15.0 #Turns ratio\n",
+ "RL = 8.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1L = a**2 * RL #Effective resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The effective resistance is \",R1L * 10**-3,\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.9 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Turns ratio is 25.0 : 1.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "R1L = 10.0 * 10**3 #Effective resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "a = (R1L / RL)**0.5 #Turns ratio\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Turns ratio is \",a,\": 1.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.10 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum power delievered to load is 100.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 8.0 #Load resistance (in ohm)\n",
+ "a = 10.0 #Turns ratio\n",
+ "ICQ = 500.0 * 10**-3 #Collector current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1L = a**2 * RL #Effective load (in ohm)\n",
+ "Poac = 1.0/2* ICQ**2 * R1L #Maximum power delieverd (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum power delievered to load is \",Poac,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.11 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum undistorted a.c. output power is 0.05 W.\n",
+ "Quiescent collector current is 0.01 A.\n",
+ "Transformer turns ratio is 8.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Ptrdc = 100.0 * 10**-3 #Maximum collector dissipated power (in watt)\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "no = nc = 0.5 #Efiiciency\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Poac = no * Ptrdc #Maximum undistorted a.c. output power (in watt)\n",
+ "ICQ = 2 * Poac / VCC #Quiescent collector current (in Ampere)\n",
+ "R1L = VCC / ICQ #Effective load resistance (in ohm)\n",
+ "a = (R1L / RL)**0.5\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum undistorted a.c. output power is \",Poac,\" W.\\nQuiescent collector current is \",ICQ,\" A.\\nTransformer turns ratio is \",round(a),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.12 , Page Number 703"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power transferred when directly connected is 4.9 mW.\n",
+ "The average power transferred to the speaker is 260.0 mW.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "Ip = 50.0 * 10**-3 #Collector current (in Ampere)\n",
+ "RL = 4.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = round(Ip / 2**0.5,3) #r.m.s. value of collector current (in Ampere)\n",
+ "Poac = I**2 * RL #Average power delievered (in watt)\n",
+ "V1 = VCC #Primary voltage (in volts)\n",
+ "R1L = V1 / Ip #Effective load resistance (in ohm)\n",
+ "a = round((R1L / RL)**0.5) #Turns ratio\n",
+ "V2 = V1 / a #Secondary voltage (in volts)\n",
+ "I2p = V2 / RL #Peak value of secondary current (in Ampere)\n",
+ "I2 = I2p / 2**0.5 #r.m.s. value of secondary current (in Ampere)\n",
+ "Pavg = I2**2 * RL #Average power transferred to speaker (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power transferred when directly connected is \",Poac * 10**3,\" mW.\" \n",
+ "print \"The average power transferred to the speaker is \",round(Pavg,2) * 10**3,\" mW.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.13 , Page Number 706"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power delivered to the load is 0.1 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 1.0 * 10**3 #Load resistance (in ohm)\n",
+ "IC = 10.0 * 10**-3 #Collector current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PL = IC**2 * RL #Load power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power delivered to the load is \",PL,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.14 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power drawn from the source is 16.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 8.0 #Load resistance (in ohm)\n",
+ "VP = 16.0 #Peak output voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = VP**2 / (2 * RL) #Power drawn from the source (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The power drawn from the source is \",P,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.15 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum power output is 73.02 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Pcdc = 10.0 #Power rating of amplifier (in watt)\n",
+ "n = 0.785 #Maximum overall efficiency \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = 2 * Pcdc #Total power dissipation of two transistors (in watt)\n",
+ "Poac = (PT * n) / (1-n) #Maximum power output (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum power output is \",round(Poac,2),\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.16 , Page Number 711"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The d.c. input power is 12.5 W.\n",
+ "The a.c. output power is 7.5 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "no = 0.6 #efficiency \n",
+ "Pcdc = 2.5 #Maximum collector dissipation of each transistor (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = 2 * Pcdc #Total power dissipation of two transistors (in watt)\n",
+ "Pindc = PT / (1 - no ) #dc input power (in watt)\n",
+ "Poac = no * Pindc #ac output power (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The d.c. input power is \",Pindc,\" W.\\nThe a.c. output power is \",Poac,\" W.\""
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_3.ipynb
new file mode 100644
index 00000000..6c1d54c3
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_3.ipynb
@@ -0,0 +1,271 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:a760aed16bae58a496fddddaee6e49db519972c26c6f372274bdabcee7c8db3b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 28 , Tuned Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.1 , Page Number 717"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L = 150.0 * 10**-6 #Inductance (in Henry)\n",
+ "C = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo = 0.159 / (L * C)**0.5 #Resonant frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The resonant frequency is \",round(fo * 10**-6,1),\" MHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resonant frequency is 1.3 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.2 , Page Number 718"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L = 100.0 * 10**-6 #Inductance (in Henry)\n",
+ "C = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "R = 5.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo = 0.159 / (L * C)**0.5 #Resonant frequency (in Hertz)\n",
+ "Zp = L / (C*R) #Circuit impedance at resonance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resonant frequency is \",fo * 10**-6,\" MHz.\\nCircuit impedance at resonance is \",Zp * 10**-3,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resonant frequency is 1.59 MHz.\n",
+ "Circuit impedance at resonance is 200.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.3 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 1.0 * 10**6 #Resonant frequency (in Hertz)\n",
+ "Qo = 100.0 #Quality factor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "BW = fo / Qo #Bandwidth (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Bandwidth of the circuit is \",BW * 10**-3,\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bandwidth of the circuit is 10.0 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.4 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 1600.0 * 10**3 #Resonant frequency (in Hertz)\n",
+ "BW = 10.0 * 10**3 #Bandwidth (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Qo = fo / BW #Quality factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Q-factor is \",Qo,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Q-factor is 160.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.5 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.0 * 10**6 #Resonant frequency (in Hertz)\n",
+ "BW = 50.0 * 10**3 #Bandwidth (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Qo = fo / BW #Quality factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Q-factor is \",Qo,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Q-factor is 40.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.6 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 455.0 * 10**3 #Resonant frequency (in Hertz)\n",
+ "BW = 10.0 * 10**3 #Bandwidth (in Hertz)\n",
+ "XL = 1255.0 #Inductive reactance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Qo = fo / BW #Quality factor\n",
+ "R = XL / Qo #Resistance (in ohm)\n",
+ "L = XL / (2*math.pi*fo) #Inductance (in Henry)\n",
+ "C = 1 / (XL*2*math.pi*fo) #Capacitance (in Farad)\n",
+ "Zp = L / (C*R) #Circuit impedance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of circuit impedance at resonance is \",round(Zp * 10**-3),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of circuit impedance at resonance is 57.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_3.ipynb
new file mode 100644
index 00000000..893f02e3
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_3.ipynb
@@ -0,0 +1,754 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:94c613f9e33d60c6bbad037ec5805751242a2be2fb5357365540a6d5b86b31b7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 29 , Feedback Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.1 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 400.0 #Voltage gain\n",
+ "beta = 0.1 #feedback ratio\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A1v = Av / (1 + beta * Av) #Voltage gain with negative feedback\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage gain of an amplifier with negative feedback is \",round(A1v,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain of an amplifier with negative feedback is 9.76 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.2 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 100.0 #Voltage gain\n",
+ "A1v = 20.0 #Voltage gain with negative feedback \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The percentage of the negative feedback is \",beta * 100,\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage of the negative feedback is 4.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.3 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 1000.0 #Voltage gain\n",
+ "A1v = 10.0 #Voltage gain with negative feedback \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The fraction of the output that is feedback to the input is \",beta,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The fraction of the output that is feedback to the input is 0.099 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.4 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1o = Vo = 12.5 #Output voltage (in volts)\n",
+ "V1in = 1.5 #Input voltage with feedback (in volts)\n",
+ "Vin = 0.25 #Input voltage without feedback (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = Vo / Vin #Voltage gain without negative feedback\n",
+ "A1v = V1o / V1in #Voltage gain with negative feedback\n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of voltage gain without negative feedback is \",Av,\".\\nThe value of voltage gain with negative feedback is \",round(A1v,2),\".\\nThe value of beta is \",beta,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of voltage gain without negative feedback is 50.0 .\n",
+ "The value of voltage gain with negative feedback is 8.33 .\n",
+ "The value of beta is 0.1 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.5 , Page Number 731"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 60.0 #Voltage gain\n",
+ "A1v = 80.0 #Voltage gain with negative feedback\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (1 - Av/A1v ) / Av #feedback ratio \n",
+ "beta1 = 1/Av #feedback ratio which causes oscillation\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of feedback ratio is \",round(beta,3),\".\\nThe percentage of feedback which causes oscillation is \",round(beta1 * 100,1),\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of feedback ratio is 0.004 .\n",
+ "The percentage of feedback which causes oscillation is 1.7 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.6 , Page Number 732"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "A1v = 100.0 #Voltage gain with negative feedback\n",
+ "Vin = 50.0 * 10**-3 #Input voltage without feedback (in volts)\n",
+ "V1in = 0.6 #Input voltage with feedback (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V1o = A1v * V1in #Output voltage with feedback (in volts)\n",
+ "Vo = V1o #Output voltage without feedback (in volts) \n",
+ "Av = Vo / Vin #Voltage gain without feedback \n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of voltage gain without feedback is \",Av,\".\\nThe value of voltage gain with feedback is \",A1v,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of voltage gain without feedback is 1200.0 .\n",
+ "The value of voltage gain with feedback is 100.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.7 , Page Number 733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 800.0 #Voltage gain\n",
+ "beta = 0.05 #Feedback ratio \n",
+ "dAvbyAv = 20.0 #Percentage change in open loop gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dA1vbyA1v = 1 / (1 + beta*Av)*dAvbyAv #Percentage change in closed loop gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The percentage change in closed loop gain is \",round(dA1vbyA1v,1),\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage change in closed loop gain is 0.5 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.8 , Page Number 733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "A1v = 100.0 #Voltage gain with feedback\n",
+ "dA1vbyA1v = 0.01 #Percentage change in closed loop gain \n",
+ "dAvbyAv = 0.20 #Percentage change in open loop gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "betamultAvplus1 = dAvbyAv/dA1vbyA1v #Product of feedback ratio and voltage ratio plus one\n",
+ "Av = A1v * betamultAvplus1 #Voltage gain without feedback \n",
+ "beta = betamultAvplus1 / Av #Feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of Av is \",Av,\".\\nThe value of beta is \",beta,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Av is 2000.0 .\n",
+ "The value of beta is 0.01 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.9 , Page Number 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 100.0 #Voltage gain without feedback\n",
+ "BW = 200.0 * 10**3 #Bandwidth without feedback (in Hertz)\n",
+ "beta = 0.05 #Feedback ratio\n",
+ "BWn = 1.0 * 10**6 #New bandwidth without feedback (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "BW1 = (1 + beta*Av) * BW #Bandwidth with feedback (in Hertz) \n",
+ "A1v = Av/(1 + beta*Av) #Voltage gain with feedback\n",
+ "beta1 = (BWn/BW - 1)/Av #Amount of feedback required \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The new bandwidth is \",BW1 * 10**-3,\" kHz.\\nThe new gain is \",round(A1v,1),\".\"\n",
+ "print \"Amout of feedback required when BW = 1MHz is \",beta1 * 100,\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The new bandwidth is 1200.0 kHz.\n",
+ "The new gain is 16.7 .\n",
+ "Amout of feedback required when BW = 1MHz is 4.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.10 , Page Number 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 1500.0 #Voltage gain\n",
+ "BW = 4.0 * 10**6 #Bandwidth wihtout feedback (in Hertz)\n",
+ "A1v = 150.0 #Voltage gain with feedback\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (Av/A1v -1) / Av #Feedback ratio\n",
+ "BW1 = (1 + beta*Av) * BW #Bandwidth with feedback (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of feedback factor is \",beta * 100,\"%.\\nThe value of bandwidth with feedback is \",BW1 * 10**-6,\" MHz.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of feedback factor is 0.6 %.\n",
+ "The value of bandwidth with feedback is 40.0 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.11 , Page Number 736"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Rin = 4.2 * 10**3 #Input resistance (in ohm)\n",
+ "Av = 220.0 #Voltage gain without feedback\n",
+ "beta = 0.01 #Feedback ratio\n",
+ "f1 = 1.5 * 10**3 #Cut off frequency without feedback (in Hertz)\n",
+ "f2 = 501.5 * 10**3 #Cut off frequency with feedback (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1i = (1 + beta * Av) * Rin #Input resistance of feedback amplifier (in ohm)\n",
+ "f11 = f1 / (1 + beta * Av) #New cut off frequency without feedback (in Hertz) \n",
+ "f21 = (1 + beta * Av) * f2 #New cut off frequency with feedback (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of input resistance with feedback is \",R1i * 10**-3,\" kilo-ohm.\\nNew cut off frequency without feedback is \",round(f11),\" Hz.\\nNew cut off frequency with feedback is \",f21 * 10**-3,\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of input resistance with feedback is 13.44 kilo-ohm.\n",
+ "New cut off frequency without feedback is 469.0 Hz.\n",
+ "New cut off frequency with feedback is 1604.8 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.12 , Page Number 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 1000.0 #Voltage gain without feedback\n",
+ "beta = 0.01 #Feedback ratio\n",
+ "f1 = 50.0 #Cut off frequency without feedback (in Hertz)\n",
+ "f2 = 200.0 * 10**3 #Cut off frequency with feedback (in Hertz)\n",
+ "D = 0.05 #Distortion \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A1v = Av / (1 + beta * Av) #Voltage gain with feedback\n",
+ "f11 = f1 / (1 + beta * Av) #New cut off frequency without feedback (in Hertz) \n",
+ "f21 = (1 + beta * Av) * f2 #New cut off frequency with feedback (in Hertz) \n",
+ "D1 = D/(1 + beta * Av) #New Distortion\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nf11 is \",round(f11,1),\" Hz.\\nf21 is \",f21 * 10**-6,\" MHz.\\nDistortion with feedback is \",round(D1 * 100,2),\"%.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain with feedback is 90.9 .\n",
+ "f11 is 4.5 Hz.\n",
+ "f21 is 2.2 MHz.\n",
+ "Distortion with feedback is 0.45 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.13 , Page Number 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 100.0 #Voltage gain without feedback\n",
+ "N = 0.8 #Reduction in noise\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = ((1 - N)**-1 - 1)/Av #feedback ratio\n",
+ "A1v = Av / (1 + beta * Av) #Voltage gain with feedback\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Percentage of negative feedback is \",beta * 100,\"%.\\nVoltage gain with feedback is \",A1v,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage of negative feedback is 4.0 %.\n",
+ "Voltage gain with feedback is 20.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.14 , Page Number 739"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 300.0 #Voltage gain without feedback\n",
+ "Ri = 1.5 * 10**3 #Input resistance (in ohm)\n",
+ "Ro = 50.0 * 10**3 #Output resistance (in ohm)\n",
+ "beta = 1.0/15.0 #feedback ratio \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A1v = Av/ (1 + beta*Av) #Voltage gain with feedback \n",
+ "R1i = (1 + beta* Av)* Ri #Input resistance with feedback (in ohm) \n",
+ "R1o = Ro/(1 + beta * Av) #Output resistance with feedback (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nInput resistance with feedback is \",R1i * 10**-3,\" kilo-ohm.\\nOutput resistance with feedback is \",round(R1o * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain with feedback is 14.3 .\n",
+ "Input resistance with feedback is 31.5 kilo-ohm.\n",
+ "Output resistance with feedback is 2.4 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.15 , Page Number 741"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hfe = 100.0 #hfe \n",
+ "hie = 2.0 * 10**3 #hie (in ohm)\n",
+ "Re1 = 100.0 #Emitter resistance (in ohm)\n",
+ "R1 = 15.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 5.6 * 10**3 #Resistance (in ohm)\n",
+ "Rc = 470.0 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = hfe #Current gain\n",
+ "Av = Ai * Rc / hie #Voltage gain \n",
+ "Ri = (R1*R2*hie)/(R1*R2+R2*hie+R1*hie) #Input resistance (in ohm) \n",
+ "beta = Re1 / Rc #feedback ratio \n",
+ "A1v = Av / (1 + beta * Av) #Voltage ratio with feedback\n",
+ "R1i = Ri*(1 + beta * Av) #Input resistancewith feedback (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain without feedback is \",Av,\".\\nInput resistance without feedback is \",round(Ri),\" kilo-ohm.\\nVoltage gain with feedback is \",round(A1v,2),\".\\nInput resistance with feedback is \",round(R1i,1),\" kilo-ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain without feedback is 23.5 .\n",
+ "Input resistance without feedback is 1342.0 kilo-ohm.\n",
+ "Voltage gain with feedback is 3.92 .\n",
+ "Input resistance with feedback is 8051.1 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.16 , Page Number 743"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hfe = 99.0 #hfe\n",
+ "hie = 2.0 * 10**3 #hie (in ohm)\n",
+ "Rc = 22.0 * 10**3 #Load resistor of frist stage (in ohm) \n",
+ "R4 = 100.0 #Emitter resistance of first stage (in ohm)\n",
+ "R1 = 220.0 * 10**3 #Biasing resistor of second stage (in ohm)\n",
+ "R2 = 22.0 * 10**3 #Biasing resistor of second stage (in ohm)\n",
+ "R1c = 4.7 * 10**3 #Load resistance of second stage (in ohm)\n",
+ "R3 = 7.8 * 10**3 #Feedback resistor from collector of second stage to emitter of first stage (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ri = hie #Input resistance of first stage (in ohm)\n",
+ "Ro1 = (1/Rc + 1/R1 + 1/R2 + 1/hie)**-1 #Output resistance of first stage (in ohm)\n",
+ "Ri2 = hie #Input resistance of second stage (in ohm) \n",
+ "Ro2 = R1c * (R3 + R4)/(R1c + R3 + R4) #Output resistance of second stage (in ohm)\n",
+ "Av1 = hfe * Ro1 / hie #Voltage gain of first stage \n",
+ "Av2 = hfe * Ro2 / hie #Voltage gain of second stage \n",
+ "Av = Av1 * Av2 #Overall voltage gain without feedback\n",
+ "beta = R4 / (R3 + R4) #Feedback ratio\n",
+ "Ri1 = Ri*(1 + beta*Av) #Input resistance with feedback (in ohm)\n",
+ "R1o2 = Ro2 / (1 + beta * Av) #Output resistance with feedback (in ohm)\n",
+ "A1v = Av / (1 + beta * Av) #Overall voltage gain with feedback \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain without feedback is \",round(Av,1),\".\\nInput resistance of first stage without feedback is \",Ri * 10**-3,\" kilo-ohm.\\nInput resistance of second stage without feedback is \",Ri2 * 10**-3,\" kilo-ohm.\\nOutput resistance of first stage without feedback is \",round(Ro1 * 10**-3,2),\" kilo-ohm.\\nOutput resistance of second stage without feedback is \",round(Ro2 * 10**-3,2),\" kilo-ohm .\"\n",
+ "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nInput resistance with feedback is \",round(Ri1 * 10**-3,2),\" kilo-ohm.\\nOutput resistance with feedback is \",round(R1o2 * 10**-3,3),\" kilo-ohm.\"\n",
+ "\n",
+ "#Calculation error in book about value of Av."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain without feedback is 12126.0 .\n",
+ "Input resistance of first stage without feedback is 2.0 kilo-ohm.\n",
+ "Input resistance of second stage without feedback is 2.0 kilo-ohm.\n",
+ "Output resistance of first stage without feedback is 1.68 kilo-ohm.\n",
+ "Output resistance of second stage without feedback is 2.95 kilo-ohm .\n",
+ "Voltage gain with feedback is 78.5 .\n",
+ "Input resistance with feedback is 308.99 kilo-ohm.\n",
+ "Output resistance with feedback is 0.019 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_3.ipynb
new file mode 100644
index 00000000..8b4fe821
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_3.ipynb
@@ -0,0 +1,922 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 30 , Field-Effect Transistor Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.1 , Page Number 750"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of drain-to-source voltage is 2.5 V.\n",
+ "Value of Gate-to-source voltage is -2.5 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDD = 10.0 #Voltage (in volts)\n",
+ "RD = 1.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 500.0 #Source resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VD = VDD - ID * RD #Drain voltage (in volts)\n",
+ "VDS = VD - VS #Drain-Source voltage (in volts)\n",
+ "VGS = -VS #Gate-to-source voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of drain-to-source voltage is \",VDS,\" V.\\nValue of Gate-to-source voltage is \",VGS,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.2 , Page Number 751"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of resistance R1 is 1.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 56.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 1.0 * 10**6 #Gate resistance (in ohm)\n",
+ "IDSS = 1.5 * 10**-3 #Drain to ground current (in Ampere)\n",
+ "Vp = -1.5 #Voltage (in volts)\n",
+ "VDD = 20.0 #Supply voltage (in volts)\n",
+ "VD = 10.0 #Drain voltage (in volts) \n",
+ "R = 4.0 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ID = (VDD - VD) / RD #Drain current (in Ampere) \n",
+ "VGS = (1 - (ID / IDSS)**0.5)*Vp #Gate-to-source voltage (in volts)\n",
+ "VS = -VGS #Source voltage (in volts) \n",
+ "R1 = VS / ID - R #Resistance R1 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of resistance R1 is \",round(R1 * 10**-3,1),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.3 , Page Number 752"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RS is 933.0 ohm.\n",
+ "Value of RD is 5.7 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ID = 1.5 * 10**-3 #Drain current (in Ampere)\n",
+ "IDSS = 5.0 * 10**-3 #Drain-to-source current (in Ampere) \n",
+ "Vp = -2.0 #Voltage (in volts)\n",
+ "VDS = 10.0 #Drain-to-source voltage (in volts)\n",
+ "VDD = 20.0 #Supply voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VGS = (1 - ID/IDSS)*Vp #Gate-to-Source voltage (in volts)\n",
+ "VS = -VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm)\n",
+ "RD = (VDD - VDS) / ID - RS #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RS is \",round(RS),\" ohm.\\nValue of RD is \",round(RD * 10**-3,1),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.4 , Page Number 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Quiescent values of ID and VGS is 5.0 mA and -1.4 V.\n",
+ "D.C. voltage between drain and ground is 6.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEZCAYAAACaWyIJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VHXWwPHvoQsiorLgigILgiAoohQRNIICKuquZbGj\n62JZbFjADiwWLC8W7GJvKIoFRBGVqCwg0juICoJ0RIpICTnvH+cGhjhJJsnM3EnmfJ7nPszcuXPv\nyU2YM78uqopzzrn0VSbsAJxzzoXLE4FzzqU5TwTOOZfmPBE451ya80TgnHNpzhOBc86lOU8ErkQQ\nkb1EZISI/CYibyf4Wi+LyIBEXiNZRORCERldxPfOFpHj4x2TSz2eCFzMRGSxiHQI6fLnAH8B9lPV\nbgm+lgZbqESkn4i8VpxzqOobqto5hmv9KfmpalNV/bo413clgycCVxgKSF4viki5BF67DrBQVbML\n+8YEx1XQtcum47VdyeKJwMUk+GZ6CDBCRDaJyM0iUldEskXkXyKyBPg8OHaYiKwIqnG+EpEmEed5\nWUSeFJGRIrJRRCaKyN8iXn9ERFaJyAYRmSkih4tIf+AuoFtw7cuCY/8lInNF5FcR+VREDok4T7aI\n/EdEvgcW5PEztROR8SKyXkR+FpFLIl7eL58YHwuO3yAik0WkXcRr/UTkXRF5TUQ2AN1FpKWITAiu\ns1xEBotI+Yj3HC4iY0RknYisFJHbRKQzcFvEzzwtOLaaiLwQnGeZiAwQkTLBa5eKyP9EZJCIrAX6\nBfu+CV6XPO7vFcAFQO/gWh8Gxy8WkY7B47IicruILAruyWQRqR3zH5BLbarqm28xbcBPQIeI53WB\nbOBlYC+gYrD/UqAKUB54BJgW8Z6XgbXAMUBZ4HXgreC1zsBkYJ/geSOgVvC4L/BqxHnOBL4PjikD\n3AH8L+L1bGA0sG9OXLl+ljrARqBbEMd+wJEFxRi8fiFQPbjujcAKoELwWj9gO3BG8LwS0AJoFRxf\nB5gLXB+8XjV4fy+gArA30Crazxzsex94OrjfNYBvgSsi7vsOoGdwrUrBvm9iuL8vAf/N6/cN3ALM\nBA4NnjfDqulC/7v0rfiblwhcPPRT1T9UdRuAqr6sqr+r6g6gP3CkiFQNjlVguKpOVtWdwBtA8+C1\nHdgHY2MRKaOqC1R1ZfCasGe11FXA/cEx2cD9QHMROTjimPtV9becuHK5ABijqm+r6k5V/VVVZ8QQ\nI2r17utVNVtVBwEVsQ/VHONV9aPg2K2qOlVVJwXHLwGeA04Iju0KLFfVR1R1u6puVtVJ0X5mEakJ\nnAL0Cu73GuBR4LyIay9X1SeDa23N9TPnd39zrpeXfwN3qOr3wc81S1V/zed4V4J4InDxsDTngYiU\nEZGBQRXCBuxbJcABEcevinj8B/YtGFX9EngCeBJYJSLPRiSQ3OoAjwXVLeuBdcH+g6LFFUVt4Md8\nXo8aI0BQLTY3qPpaD1Rjz59vWeSJRKRhUM20Irgn9wL7By8fXEAckepgpawVET/3M1jJIEeeP3Mh\n729utYEfYjzWlTCeCFxh5NWTJnL/hcAZQEdVrQbUC/bn921z94lUB6vqMUAToCFWJRHNz1iVSPWI\nrYqqTowhXrAPzPqxxBRJRNoHMZ2rqvuqanVgA3v+fLmv+zRWHdQguCd3sPv/3s/A34gud8P4UmAb\nsH/Ez1xNVZvlc+095HN/C+oltRRoUMAxroTyROAKYxUFf3jujX1Y/SoiVYD7cr2eX6+jY0SkddCQ\nugXYCuzM4/BngNtzGqKDRtRzY/gZcrwBnCQi54pIORHZX0SOLChGrGolC1grIhVE5G5gnwKutTew\nCdgiIocBV0e89jFwoIhcLyIVRaSqiLQKXlsF1BURAVDVFcBnwKDguDIiUl9i7OtfwP1dRd4JCWAI\nMEBEGgSNzkeIyH6xXNelPk8ErjDuB+4MqiVuDPbl/ib5KrAE+AWYDUzIdUy0Pvo5z/fB6s9/BRZj\nDbYPRXufqn4APAAMDapbZmGNobnPGZWqLgVOBW7CqpWmAUfEEOOnwbYwiPEP7Ft9fj/fzVibxMbg\n5xuac4yqbgJOBk7HGo0XAhnB+4YF/64TkcnB40uwRuW52H0aBtQqIO5Y7u8LQJPgdzucPxsEvIMl\nog3A81hjtCsFRDUx42ZE5EXgNGB1ZNFVRK4F/oN9E/lYVfskJADnnHMxSWSJ4CWgS+QOETkRqz8+\nQlWbAg8n8PrOOedikLBEoKrfAOtz7b4a69K3IzhmTaKu75xzLjbJbiM4FDg+GKmZKSLHJPn6zjnn\nckn2HCzlgOqq2kZEWmKNT/n1VHDOOZdgyU4Ey4DhAKr6ndh8MPur6rrIg0Qk9JkfnXOuJFLVmMbs\nREp21dAHQAew0ZbY/Czroh0Y9twbsWx9+/YNPQaP0+MsqTF6nPHfiiphJQIReQubT2V/EVkK3A28\nCLwoIrOwibkuyecUzjnnkiBhiUBVz8/jpYsTdU3nnHOF5yOLiyEjIyPsEGLiccZXSYizJMQIHmeq\nSNjI4uIQEU3FuJxzLpWJCFoCGoudc86lGE8EzjmX5jwROOdcmvNE4Jxzac4TgXPOpTlPBM45l+Y8\nETjnXJrzROCcc2nOE4FzzqU5TwTOOZfmPBE451ya80TgnHNpzhOBc86lOU8EzjmX5jwROOdcmvNE\n4Jxzac4TgXPOpbmEJQIReVFEVgUL1ed+7SYRyRaR/fJ6/8iRiYrMOedcpESWCF4CuuTeKSIHAycD\nS/J78003wemnww8/JCg655xzQAITgap+A6yP8tIgoHdB7585E9q1g9at4e67YcuWuIfonHOOJLcR\niMiZwDJVnVnQsRUrQp8+MH06LFwITZrA8OHga9o751x8iSbwk1VE6gIjVLWZiFQGxgInq+pGEfkJ\nOEZV10V5n+aOa+xYuPZa+OtfYfBgaNQoYWE751yJJCKoqhT2feUSEUwe6gN1gRkiAlAbmCIirVR1\nde6D+/Xrt+txRkYGJ56YwbRp8MQTVmV0+eVw552w997JCd4551JNZmYmmZmZxT5P0koEUV77CTha\nVX+N8tqfSgSRVq6E3r2tlPDQQ9CtG0ihc6BzzpUuRS0RJLL76FvAeKChiCwVkctyHVLkDFSrFrz6\nKrz1FgwcCB06wOzZxQrXOefSVkJLBEVVUIkgUlYWPPss9O8PF14I/fpBtWqJjc8551JRypUIkqVc\nOejZE+bMgU2boHFjKy2kYH5zzrmUVOJLBLlNmmSJoWJFa1hu3jzOwTnnXIpK2xJBbq1awbffQvfu\n0LkzXHMNrI82rM055xxQChMBQJky0KMHzJsH2dlWXTRkiD12zjm3p1JXNRTN1KlWMsjKgiefhJYt\n43Zq55xLGV41lI8WLWDcOGs7OOMMKy2sWRN2VM45lxrSIhGAVRd17w7z59to5MMPh6eegp07w47M\nOefClRZVQ9HMmmVzF23YYL2LjjsuoZdzzrmEK2rVUNomArCxBm+/DTffDB07woMPQs2aCb+sc84l\nhLcRFIEInHee9S6qWROaNoVHH4UdO8KOzDnnkietSwS5zZ9v1UUrV9pU1xkZSQ/BOeeKzKuG4kTV\nFsC58UZo2xYefhgOOiiUUJxzrlC8aihORODss2HuXGjQAI480toOtm8POzLnnEsMTwR5qFIFBgyA\niRPh66+hWTP47LOwo3LOufjzqqEYjRgBN9xgk9gNGgR16oQdkXPO7cmrhhLs9NNtquvmzeHoo+Ge\ne2Dr1rCjcs654vNEUAiVKsFdd8HkyTZ/UdOm8PHHYUflnHPF41VDxTB6tHU3bdTIxh/Urx92RM65\ndOZVQyHo3NmmqmjXDlq3hrvvhi1bwo7KOecKJ6GJQEReFJFVIjIrYt9DIjJPRGaIyHARKdErDFes\nCH36wPTpsHAhNGli4xBKQIHGOeeABFcNiUh7YDPwqqo2C/adDHyhqtkiMhBAVW/N9b4SUTUUzdix\ntvZB7drw+ONWbeScc8mQklVDqvoNsD7XvjGqmrNW2LdA7UTGkGwnnmilgy5dbEbTW2+FzZvDjso5\n5/IWdhvBv4BRIccQd+XLQ69e1n6wfLktlTl0qFcXOecSaNOmIr814b2GRKQuMCKnaihi/x1AC1U9\nO8p7tG/fvrueZ2RkkFGCZ4AbN86qi6pXt8nsmjYNOyLnXGmQmZlJZmYmbNsGb7xB/6VLU3PSuWiJ\nQEQuBXoAHVX1T8OySnIbQV6ysuDZZ6FfP7joIvu3WoluJnfOpYSNG+GUU6BpU+S551KvjSAaEekC\n3AKcGS0JlFblytmayXPnWgmucWN49VWvLnLOFcPGjdYgecQR8PTTRT5NonsNvQWcABwArAL6ArcB\nFYBfg8MmqOp/cr2v1JUIcps0yRJDxYq2VGbz5mFH5JwrUTZssJJA8+b2IVKmjK9HUBJlZ8MLL8Cd\nd8K559psp9Wrhx2Vcy7l/fabjWg95hhreCxjlTsp2X3U5a9MGejRw5bKVLXqoiFDLEE451xUv/4K\nJ50Exx67qyRQXPmWCESkPNAJOB6oCyiwBPgaGK2qWcWOIPp106JEkNu0aVZdlJUFTz4JLVuGHZFz\nLqWsWwcnn2wDlh5+2FbSihD3qiERuQs4G5gATAKWYyWIA4FWQBvgXVW9p7AXLTCoNE0EYKWB116D\n226D006D++6DGjXCjso5F7rVqy0JdOkCAwf+KQlAYhLBGVi3z6gHiEgZoKuqflTYixYYVBonghwb\nNlgX0zfegL594aqroGzZsKNyzoVixQqrDjr7bOjfP2oSgCQuXi8ie2EJYFhhL1aIa6R9Isgxe7YN\nRtuwwaoDjzsu7Iicc0n1yy/QoYMNQLrrrnwPTWhjsYiUE5HTROR1YDFwXmEv5IqmaVObyK5PH+jW\nDbp3h5Urw47KOZcUS5bACSfA5ZcXmASKI89EICZDRJ4FfgIuA04G6kWbFsIljgicd571LqpVC5o1\ns4VwduwIOzLnXMIsWgTHHw/XXQe9eyf0Uvm1ESwD5gIvYm0Fv4vIT6paL6ER4VVDBZk/31ZGW7nS\nuhCX4GmYnHPRzJtnDcN33w1XXBHz2xJRNfQu0ADoBpwuIlUKe3KXGIcdBp99Zo3J3bvD+efDsmVh\nR+Wci4sZM6xN4L77CpUEiiPPRKCqN2CJYDDQEVgA1BCRbiKyd1Kic3kSsQ4E8+ZBgwY2yvyBB2D7\n9rAjc84V2bffQqdOtqrVJZck7bIx9xoSkQpAZ+B8oLOq7p+woLxqqNAWLYIbboDvv7fqok6dwo7I\nOVcoX38N55wDL74IXbsW6RRJnWtIRPZS1T8K/cbYz++JoIhGjoTrr4cjj4RHHoE6dcKOyDlXoNGj\nrXvo0KHQsWORT5Ow7qMicrqITBOR9SKySUQ2YTOJuhTUtSvMmQNHHQVHHw333ANb02ayb+dKoPfe\ng4svhg8/LFYSKI4CSwQi8gPwD2B2xFrDiQ3KSwRxsXgx3HgjzJwJjz1mU1Y451LIK6/YwuajRtm3\nt2JKWNWQiHwFdFDVnUUNrrA8EcTX6NHW3bRRIxt/UL9+2BE553jiCXjwQesCeNhhcTllIhNBG+C/\nwFggp0+KquqgQkcZa1CeCOJu2zZLAg89BFdfbZPaVa4cdlTOpSFV6xr60kswZgzUi9/QrEROMTEA\n2AxUAvYOtqqFvZALV8WKNk3F9OnWs6hJExg+3JfKdC6pVOGWW+Dtt+Gbb+KaBIojlhLBbFVtmqR4\ncq7pJYIEGzvWJrM76CDrshynkqlzLi87d8KVV1pvjo8/hv32i/slElkiGCUinYsQk0thJ55opYNT\nToF27ay0sHlz2FE5V0pt22azRi5ZYtVBCUgCxRFLIvgP8ImIbM3pPioiGwt6k4i8KCKrRGRWxL79\nRGSMiCwUkc9EZN/iBO+Kp3x56NXLprpescKWyhw61KuLnIurTZusy56IDfTZO/UmZkjY4vUi0h5r\nW3hVVZsF+x4E1qrqgyLSB6iuqrdGea9XDYVg3DirLqpe3UYnN01qhaBzpdDatXDqqTbC85lnEr66\nVNyrhkSkwE6G+R2jqt8A63PtPgN4JXj8CvD3GGJ0SdKuHUyebKPcO3Sw0sKGDWFH5VwJ9fPP9p+q\nQwd47rmUXmIwv6qh+0RkpIhcISItRORAEfmriBwtIleKyMfAvYW8Xk1VzRmVvAqoWaSoXcKUKwc9\ne1p71qZNVl306qu2lrJzLkZz51oS6NEjz/WFU0m5vF5Q1W4i0gBbjexeIGfWmiXAOOBaVf2xqBdW\nVRWRPOt/+vXrt+txRkYGGT7pflLVqAFDhsCkSZYYnn3Wxr/EYfCjc6XbxInw97/bYLEEzyCamZlJ\nZmZmsc+TsDYCABGpiy1qk9NGMB/IUNWVInIgMFZV/9Rx0dsIUkt2NrzwAtx5p1UbDRiQcp0enEsN\nn3xiH/4vvxzKnC4J6T4qIgeIyHUi8pSIPCki14hIcaaf/gjoHjzuDnxQjHO5JClTxkq48+ZZj6Im\nTay04NVFzkV49VW49FL46KMSN7FXfktVNga+BD4DpmJJ4yhs3eITVXV+vicWeQs4ATgAaw+4G/gQ\neAc4BFgM/FNVf4vyXi8RpLCpU613UVYWPPkktGwZdkTOhUgVHn7Y6k4//dQa1kIS97mGROQ94G1V\nfSfX/rOBCxK5gL0ngtSXnQ2vvWYTJ3btalOn1KgRdlTOJVl2Ntx8s83sOHo01K4dajiJqBpqljsJ\nAKjqe0Czwl7IlS5lyth6yfPnQ5UqcPjh8NRTNoreubSwbRtccIH1uR43LvQkUBz5JYLfi/iaSyPV\nqtmspl98Ae+8A8ccA//7X9hROZdgGzbY/Cw7dtg00tWrhx1RseRXNbQMGAREK2b0UtWEpT+vGiqZ\nVG2KiltusYWWHngAatUKOyrn4uyXX2y0cPv2tuJTCg0US0TV0BBsuum9c21VgeeLEqQr3UTg/POt\nd1HNmtCsmZUWduwIOzLn4mTOHGjb1qqEBg9OqSRQHAkdR1BUXiIoHebNg+uug5Ur7f+Mjwl0JVpm\nps0gOmgQXHhh2NFElYheQ4PzeZ+q6nWFvVisPBGUHqrw/vs2b1HbtrZCWgluU3PpauhQ+1bz1luh\nLTAfi0RUDU0BJkfZpgSbcwUSgbPOstJB/frQvLm1HWzfXvB7nQudqv3B9u5tPSJSOAkUh1cNuaRa\ntAhuuMGWyxw8GDp1Cjsi5/KQlWUjJydOtBXFDjoo7IgKlLDF68PgiaD0GzkSrr/eSgiDBkGdOgW/\nx7mk2bTJ2gOys2HYMKhaMpZpT+RSlc7FXdeu1gGjeXM4+mi45x7YujXsqJzDuoe2b2+NWSNGlJgk\nUBwFJgIRaRdl33GJCcelk0qV4K67bGDmlCm2ItrHH4cdlUtrM2bAscda99Bnn7X1XNNAgVVDIjJN\nVY8qaF9cg/KqobQ0ejRcey00amTjD+oXuEaec3H08cc2e+iTT8I//xl2NEVS1KqhPBemEZFjgbZA\nDRG5kd0jjKviVUouATp3hlmz4JFHoHVruPpquO02qFw57MhcqTd4sM2c+NFHViJIM/l9oFfAPvTL\nsucI443AOYkPzaWjihVtRtPp061nUZMmMHy49eJzLu6ysqwY+vTTMH58WiYBiK1qqK6qLk5OOLuu\n6VVDDoCxY60H30EH2Ze2Ro3CjsiVGhs3wnnn2Rwow4bBvvuGHVGxJbLXUEUReV5ExojI2GD7sggx\nOldoJ55opYNTTrG1wG+9FTZvDjsqV+ItXgzHHWf9lkeNKhVJoDhiKRHMBJ7GVinLmW1eVTVho4u9\nROCiWbnSBniOHWsLQv3znzZy2blCmTABzj7bvlVce22p+iNK2IAyEZmiqkcXObIi8ETg8jNunFUX\nVa9u1UVNm4YdkSsxXn8dbrzRFpc/9dSwo4m7RFYNjRCRniJyoIjsl7MVIUbn4qJdOxt7cM450KGD\n/b/esCHsqFxKy86G22+Hu++2ImUpTALFEUuJYDHwp4NUtV6RLypyG3ARkA3MAi5T1W0Rr3uJwMVk\nzRrrYjpqFAwcCBddZMtoOrfL5s1w8cWwbp11QTvggLAjSpgSM9eQiNQFvgQaq+o2EXkbGKWqr0Qc\n44nAFcqkSdCzJ1SoYOOBmjcPOyKXEhYvhjPOgFatbFHtChXCjiihElY1JCJVROQuEXk+eH6oiHQt\nSpCBjcAOoLKIlAMqA78U43zO0aqVTRJ56aU2MK1nT1i/PuyoXKi+/trGBfz73/D886U+CRRHLIXo\nl4Dt2ChjgOXAvUW9oKr+Cvwf8HNwrt9U9fOins+5HGXLQo8etvaBKjRuDEOGWPWwSzPPPQfnnguv\nvmoLypSinkGJEHOvocj5hURkhqoeWaQLitQHRgDtgQ3AMOBdVX0j4hjt27fvrvdkZGSQ4escukKa\nOtV6F2VlWXVRy5ZhR+QSbvt2W/Bi7Fj48ENo2DDsiBIqMzOTzMzMXc/79++fsO6j44GOwHhVPSr4\nIH9LVVsV9mLB+boBJ6vqv4PnFwNtVLVnxDHeRuDiIjsbXnvNGpS7drXpZEpxW2F6W73aSgH77ANv\nvGH/pplEdh/tB3wK1BaRN7GG3j6FvVCE+UAbEdlLRAQ4CZhbjPM5l6cyZaB7d6suqlLF5i566inY\nubPg97oSZOpUayhq185KAmmYBIoj3xKBiJQBzgW+ANoEu79V1TXFuqhIb6A71n10KvBvVd0R8bqX\nCFxCzJ5t1UUbNlh1Udu2Bb/Hpbg33rDqoKeeshJBGvORxc7FSBWGDoVbbrG1yB94AGrVCjsqV2hZ\nWdCnD3zwgW3NmoUdUegSWTU0RkRuFpGDfWSxKw1E4PzzrbqoZk37/Hj0UZuE0pUQa9ZAp05WxPvu\nO08CxVTUkcWqqn9LWFBeInBJNH++zT22YgU88QR4B7UUN3myTRp34YUwYID1G3ZAgqqGctoIVPXt\n4gRXWJ4IXLKp2uwDN95o7QYPP2xrILgU89JLNgXtM89YMnB7SEjVkKpmA72LHJVzJYSIfa7MmwcN\nGsCRR8KDD1q3dJcCtm2DK6+0Bp2vvvIkEGfeRuBchMqVrbZh4kSboeCII2DMmLCjSnNLl0L79rB2\nrU0q1aRJ2BGVOqHMPloQrxpyqWLkSLj+epvEbtAgW9DKJdHnn9vMoTfcYFVCPlVEvkrM7KOx8ETg\nUsnWrVZN9Nhj0KsX3HwzVKoUdlSlXHY23H+/DfZ44w1bs9QVKJHjCLoTvUTwamEvFnNQnghcClq8\n2BqTZ8607qZdizMHr8vb+vVWCli/Ht55x1vtCyGRieAJdieCvYAOwFRVPafQUcYalCcCl8JGj7YJ\nLRs2tIRQv37YEZUikyfbYtRnnmnFsPLlw46oREla1ZCI7Au8raqdC3uxQlzDE4FLadu2WRJ46CG4\n+mqb1K5y5bCjKsFUrUto377w9NPeK6iIEjmyOLctQMIaip0rCSpWtNkNpk+H77+3jizDh9vnmSuk\nTZtscNizz8L48Z4EQhBL1dCIiKdlgCbAO6panBlIC7qmlwhciTJ2rE1mV7s2PP44NGoUdkQlxMyZ\nNlHcCSdYa/xee4UdUYmWyDaCjIinWcASVV1a2AsVKihPBK4E2rEDBg+2NQ/+/W+4807Ye++wo0pR\nqvDCC1an9uijViJwxZbIRPA3YIWq/hE83wuoqaqLixJoTEF5InAl2IoVVm00dqy1IXTr5t3f97Bp\nE1x1lZUGhg2Dww4LO6JSI5FtBMOAyGU8soF3C3sh59LFgQfaUrlvvQUDB0KHDjZJpgOmTYOjj7ZV\ngiZN8iSQImJJBGVVddeMK6q6DfA+Xc4VoF076w15zjk2HqpXL1sQJy2p2tSunTpB//62uLy3B6SM\nWBLBWhE5M+dJ8Hht4kJyrvQoVw569oS5c61GpHFjKy0Up+Zz2bJlnHnmmTRs2JAGDRpwww03sCOV\nF1NYtw7+8Q94+WXrFXT++WFH5HKJJRFcBdwuIktFZClwK3BlYsNyrnSpUQOGDLGFtAYPtjnUpk8v\n/HlUlbPOOouzzjqLhQsXsnDhQjZv3swdd9wR/6Dj4euv4aijbNTd+PFw6KFhR+SiiHlAmYhUBVDV\nTQmNCG8sdqVbdrZ1mLnzTus5OWAAVK8e23u/+OIL/vvf//LVV1/t2rdp0ybq1avHsmXLqJQqkyBl\nZdkP9uyz9sOedlrYEaWFhA8oU9VN8UoCIrKviLwrIvNEZK6ItInHeZ0rCcqUgR49bO2D7GyrLhoy\nxB4XZM6cORx99J5LiFetWpVDDjmERYsWJSjiQlqyxJZ5Gz/eGoc9CaS8oowsjofHgFGq2hg4ApgX\nUhzOhWa//eCpp2DUKHjxRWjTxpbfzY/k0w81KysrzhEWwdtvQ8uWNlfQ6NHWhcqlvKQnAhGpBrRX\n1RcBVDVLVdO1L4VztGgB48ZZo/IZZ1hpYc2a6Mc2adKEKVOm7LFv48aNLF26lEPDrH/fuBG6d4e7\n74ZPPoFbbrGijysRYvpNichxInKhiHQPtkuKcc16wBoReUlEporI8yLi03W5tFamjH2Ozp9vXewP\nP9xKCzt37nlcx44d2bJlC6+99hoAO3fu5KabbuKCCy6gSpUqIUQOTJhgK/dUqgRTp9o4AVeixDKy\n+HXgb8B0IgaWqeq1RbqgyDHABKCtqn4nIo8CG1X17ohjtG/fvrvek5GRQUZGRlEu51yJNGsWXHut\njTt44gk47rjdry1btoyePXsyb9481qxZQ6dOnXj99dcpn+wpm3fsgHvusQbhp5+2LqIuqTIzM8nM\nzNz1vH///gmbYmIe0CRe3XhEpBYwIWepSxFpB9yqql0jjvFeQy7tqVqV+803Q8eOtm57rVp7HjNh\nwgR69OjBsGHDaNy4cfKC+/57uOgi6+700kveFpAiEtlraDYQt9+yqq4ElopIw2DXScCceJ3fudJC\nBM47z3oX1aoFTZvCI4/YF/Ecxx57LLNnz05eEshZN+DYY20VsU8+8SRQCsRSIsgEmgOTgG3BblXV\nM4p8UZEjgSFABeAH4LLIBmMvETj3Z/PnW3XRypU2KC3ptaUrVsDll8Pq1fDaa9bv1aWUZE1DvYuq\nZhb2YrE3LVBaAAAbhElEQVTyROBcdKrw/vs2b1HbtvDww0la0veddywLXXWVjYTzJSRTUtKWqkwG\nTwTO5W/LFlv34JlnoHdvuOEGqFAhARdat85W3Jk2zSZJatUqARdx8RL3NgIR+V/w72YR2ZRr21ic\nYJ1zxVO5snXYmTgRvvoKmjWDzz6L80U+/hiOOMIaKKZN8yRQinmJwLlSYORIuP56684/aBDUqVOM\nk23YYHVPY8fakOcTT4xbnC6xEj7XkIj8RUQOydkKeyHnXOJ07Qpz5lgiaNHC5nvburUIJxo92ooX\nFSvaCmKeBNJCLI3FZwD/B/wVWA3UAeap6uEJC8pLBM4V2eLF9oV+5kxbD75r1wLfYqWAm26CMWNs\nBryTT050mC4BElkiuAc4FlgYDALrCHxb2As555Kjbl3rWfTUU/bZfvrp8MMP+bxh1CgbpFC+vA1p\n9iSQdmJJBDtUdS1QRkTKqupY4JgEx+WcK6bOne1zvV07aN3a5oPbsiXigF9/tQmOeva01cOefhr2\n2SescF2IYkkE64NFab4B3hCRx4HNiQ3LORcPFSpAnz62GtrChdCkCQwfDvrue1YKqFbNskXHjmGH\n6kIUSxtBFWArljQuBPYB3lDVdQkLytsInEuIse/9yjWX/U7tnUt4fEhlGp3fIuyQXBwlpI1ARMoB\nI1V1p6ruUNWXVfXxRCYB51wCqMILL3Di1Ycx/epn6dK3Ncdd24Jbb4XNXr5Pe/kmAlXNArJFZN8k\nxeOci7dFi6zq55lnYMwYyj9wD716l2fWLFi+3KYMGjrUcoVLT7FUDX0EHAWMAX4PdquqXpewoLxq\nyLni277dJiMaNAhuu81GnJUr96fDxo2zWSSqV7fJ7Jo2DSFWFxdFrRr681/Fnw0Ptkj+Ke1cKpsw\nAa64Ag4+GCZPtj6leWjXzg559lno0MGWGejb19qRXXqIaYoJEfkLVgrIYyXV+PISgXNFtH493Hor\njBhhJYFu3WxhgxitWQO3327TDA0caEsOFOLtLmSJmHRORKSfiKwFFgALRWStiPTN6z3OuZCowptv\n2mLHZcvC3Lm2qk0hP8Vr1IDnn4cPPrBqovbtreupK93yayzuBRwHtFTV6qpaHWgFHCciNyYlOudc\nwRYssNHADz64e0jxvsXr39Gqlc1s2r07dOlibQjr18cpXpdy8ksElwAXqOpPOTtU9UdsLMEliQ7M\nOVeAP/6Au+6ySv7TT7eK/tat43b6smWhRw8rXGRnW++iIUPssStd8ksE5aK1CQT7Ymlkds4lgip8\n9JENE/7+e5gxI88eQfGw335WyBg1ymalbtMGvvsuIZdyIcnvL2dHEV9zziXKDz/Yh/4PP9jX8yRO\nDdGihXU1fe01OOMMK4Tcdx8ccEDSQnAJkl+J4IgoK5NtEpFNQLPiXlhEyorINBEZUdxzOVfq/f67\nrRXcujUcf7yVAkKYH6hMGWs3mD8fqlSxQslTT8HOnUkPxcVRnolAVcuqatU8tniUQa8H5uJjEpzL\nmyoMG2YV9D/+aAmgd+8ELVAcu2rV4JFH4MsvbV37Y46B//0v1JBcMcS8Qlk8iUht4FRgCOC9lJ2L\nZuZMG+E1YIDVx7z5Jhx0UNhR7aFpU1vRsk8fG7LQvTusWhV2VK6wQkkEwCPALYD3P3Aut3Xr4D//\nsS6h//wnTJ0KJ5wQdlR5ErEhC/Pm2Tr3TZvCo4/CDm9JLDGS3vtHRLoCq1V1mohk5HVcv379dj3O\nyMggIyPPQ50rHbZvtwr3e++1r9fz5lmXnRKialV44AG47DK49lp44QUblOb/dRMnMzOTzMzMYp8n\npikm4klE7gMuBrKAStj6Bu+p6iURx/gUEy59qNqcDjfdBPXq2dQQTZqEHVWxqNrYtl69oG1bm/su\nxWq1SqWiTjGR9ESwx8VFTgBuVtXTc+33RODSw4wZlgB++cUSwCmnhB1RXG3ZAvffb6tg9u4NN9wQ\nejt3qZbIxesTzT/xXfpZvhwuvxw6dYKzzrKG4VKWBAAqV7a27okT4euv4YgjYMyYsKNyuYVaIsiL\nlwhcqbVpEzz0EDz5pCWCO+5Iq/meR4yw8XBHHWUFoDp1wo6odCnJJQLnSr8dO2yFsIYN4aefrCfQ\ngw+mVRIAG408dy40bw5HHw333ANbt4YdlfNE4FwiqcJ771mfymHDYORIGxOQxl+FK1WyufImT7Z8\nePjhdltceLxqyLlEycy0RWK2bbN+lSef7Ku8RDF6NFx3HRx6KDz2GNSvH3ZEJZdXDTmXKqZMgc6d\nrQ3g2mvteadOngTy0LkzzJpli+C0bg133229jVzyeCJwLl7mz7eRwKefDn//uw0Iu/BCm6nN5atC\nBZumYvp0WLjQhlEMH241ay7xvGrIueL66Sfo398Ghd18sy3nVaVK2FGVaGPH2m2sXRsefxwaNQo7\nopLBq4acS7alS+Gqq2zqzUMOsUVi+vTxJBAHJ55opYMuXeC446ypZfPmsKMqvTwROFdYy5db3f+R\nR9rawAsWwH//W+x1gt2eype3KSpmzbJb3rgxDB3q1UWJ4InAuVgtX26joZo2tU+pefNg4EBfoivB\nDjwQXn0V3nrLbneHDjB7dthRlS6eCJwryLJl1r+xaVNb0X3uXBsWW7Nm2JGllXbtrAPWuedaMujV\nCzZsCDuq0sETgXN5WbIErr7aJsipUGF3AqhVK+zI0lbZsrZUw5w5tnpn48bwyiuQ7SubFIsnAudy\nW7DAJtU/6qjdbQAPP+wJIIXUqAHPPQcffmjTNrVvb43Lrmg8ETiXY/p0WxCmXTuoWxcWLbI5lGvU\nCDsyl4eWLW1m08susx5G11wD69eHHVXJ44nApTdVmx/5lFPg1FOtK+iPP0LfviVqdbB0VqYM/Pvf\nVnOnatVFQ4Z4dVFh+IAyl56ys+Gjj2xK6NWrbdWUiy+2GdFciTZtGvTsCVlZVm3UsmXYESVPiVyh\nLC+eCFzCbN1qs38+/LBNAX3LLbYwTNmyYUfm4ig7G15/3QainXaa1fClQy9fH1nsXH7WrLFBX3Xr\nwgcfwLPPwrffWl9ETwKlTpkycMklNtRj771t7qKnnoKdO8OOLDV5InCl27x5Ng1Ew4Y2JcSXX9qc\nQBkZPhtoGqhWDR55xH7t77xjTUDjx4cdVeoJJRGIyMEiMlZE5ojIbBG5Low4XCmVnW2T3HfpYpPW\n1KplM4M+/7x9NXRpp2lTm8iud2+bILZ7d1i5MuyoUkdYJYIdQC9VPRxoA/QUkcYhxeJKi02brHWw\nSRP7H9+tGyxeDP36+Shghwicf74VEmvWhGbN4NFHbRXRdJcSjcUi8gEwWFW/CJ57Y7GL3YIFVgH8\n+utWArjuOhth5FU/Lh/z59vcgStXwuDBVltY0pXYxmIRqQscBXwbbiSuRMnKskbfk0+G44+3qZ+n\nTYN337XnngRcAQ47DD77zAqM3btbaWHZsrCjCkeoiUBE9gbeBa5XVZ9t3BVs+XLr/VOvHjz4oHUN\n+flnuO8+WxPAuUIQgbPPtsFo9evbzOIPPADbt4cdWXKFVjUkIuWBkcAnqvporte0b9++u55nZGSQ\nURrKba5odu6EMWNscpmxY63u/+qr7X+tc3G0aJHNNL5okVUXdeoUdkT5y8zMJDMzc9fz/v37l5wB\nZSIiwCvAOlXtFeV1byNw1t3z5ZfhhRdsvp8rroDzzoOqVcOOzJViqjBypCWEo46yCWfr1Ak7qtiU\ntDaC44CLgBNFZFqwdQkpFpdKtm+H996zeX+aN4cVK2wV8+++gx49PAm4hBOB00+3qa6PPBJatIAB\nA2xQemmVEr2GcvMSQRqaPh1eegnefBMOPxwuv9wqbytXDjsyl+YWL4Ybb4QZM6y76emnhx1R3nyu\nIVfyrFxpH/yvvmpzB3fvDpdeCn/7W9iROfcno0dbd9OGDS0hNGgQdkR/VtKqhly6+v13+/A/9VSb\nL3jWLJsD4KefrDeQJwGXojp3tj/X9u2hdWu46y7YsiXsqOLDSwQu8XbsgM8/t9XHP/oI2raFiy6C\nM8+0/v/OlTDLlsHNN9uiOIMGwT/+kRpDV7xqyKWWnTth3DgYOtQaf+vXtxE73br5dA+u1PjyS6su\nql0bHn8cGjUKNx5PBC582dkwYYJN8zhsGPzlL/bBf955NgDMuVJoxw544gm4915bKe3OO23q6zB4\nInDh2LkT/vc/m9rhvfegenWb3rFbt/C/HjmXRCtWQJ8+NubxoYfsv0Cyq4s8Ebjk2bYNvvgC3n8f\nPvwQDjrIFng5+2z/8Hdpb9w4uOYa+040eLBNgZ0snghcYv36K4waZR/8Y8bYX/dZZ1krmVf7OLeH\nrCxbBK9fP+sX0a+fLZKTaJ4IXHyp2vTOI0fCiBE2s+eJJ1pPn65drf7fOZev1avh9tvtO9TAgXDx\nxYmtLvJE4IpvyxbIzIRPPrG/3O3b7UO/a1fo0AH22ivsCJ0rkb79Fnr2hEqVrGG5efPEXMcTgSs8\nVZtQZfRo2yZMsIlVTj3VtqZNU6NztHOlwM6dNn/iXXdZk9qAAdaOEE+eCFxsfvnFGno//9y2ihVt\nyGTnzvatPxkVmc6lsXXrLBkMHw733AP/+heUidMcD54IXHSrVsHXX9vIly+/hLVrra7/5JPhpJNs\noJdzLummTrXeRVlZttR2y5bFP6cnAmeWLoVvvrHtq6+sc3O7dvbh36EDHHFE/L5+OOeKJTsbXnsN\nbr3VmuLuu8+W3igqTwTpaOdOmwVr/Hjbxo2zBt927WzLyLAJ1cuWDTtS51w+NmywLqZvvGH/Xnll\n0f7beiJIB8uX2wItEydaN4QpU2wwV9u2u7dGjbyB17kSavZsqy7auNF6F7VtW7j3eyIobVavtkrE\nKVNg8mSYNMmWSGrZEtq0sa1VK9hvv7Ajdc7FkSq8/bbNbnrSSTb+oFat2N7riaCk2rkTfvwRZs60\nVbpyts2brStnixZwzDGWAOrV82/7zqWJTZusi+lLL8Edd9g4hPLl83+PJ4JUp2qTmM+ZY9vcuVa/\nP2eOtQ4dcYSNMsnZ/EPfOQfMn29TXa9caXMXZWTkfWyJSgTBQvWPAmWBIar6QK7XS24i2LQJvv8e\nFi60fxcssN/kggU2N+3hh0OTJvZvs2Y2aGuffcKO2jmXwlRtjsdevazd4KGHbA2E3EpMIhCRssAC\n4CTgF+A74HxVnRdxTOomgu3b7Zv94sVkfvopGZUqWdXODz/YtnmzLWbasCEceqg13jZubP/uu28o\nIWdmZpKR39eIFOFxxk9JiBE8zsLasgXuvx+efhpuucUSQ4UKu18vaiIoF88gY9QKWKSqiwFEZChw\nJjAvvzclXHa2zbC5cqX1vV+50nrp/PKLbcuWWR/9tWvhwAOhXj0yf/uNjL//3Vp0rrzSBmcdeGDK\nVemkyh9xQTzO+CkJMYLHWViVK1u7QffucMMN8OKLVl3UqVPxzhtGIjgIWBrxfBnQOi5n3rnTFkff\nvNmqaDZutG3DBvjtN1i/3rZ162xbu9a21avtedWq1jx/4IH271//aoupt29v3TTr1LH9OR18+/Wz\nzTnnkqhBA5sYeORIuPpqa1YcNKjo5wsjEcRW53PqqVYxlp1tH/BZWbbt2GHVM9u3W3fKP/7Yve3Y\nYYuh7723bdWqWf37PvvY7E777mv/Nm0KBxwA++9vW82a9jyyjOWccymua1erkHjoITj66KKfJ4w2\ngjZAP1XtEjy/DciObDAWkRRtIHDOudRWUhqLy2GNxR2B5cAkcjUWO+ecS56kVw2papaIXAOMxrqP\nvuBJwDnnwpOSA8qcc84lT0rNRywiN4lItohEnUBHRLqIyHwR+V5E+oQQ3wARmSEi00XkCxE5OI/j\nFovITBGZJiKTUjjOsO/nQyIyL4h1uIhEXRUnzPtZiBjDvpfnisgcEdkpIi3yOS7sv81Y4wz7fu4n\nImNEZKGIfCYiUQcBhXU/Y7k/IvJ48PoMETkq3xOqakpswMHAp8BPwH5RXi8LLALqAuWB6UDjJMdY\nNeLxtdio6GjHRf0ZUinOFLmfJwNlgscDgYGpdj9jiTFF7uVhQENgLNAin+PC/tssMM4UuZ8PAr2D\nx31S6W8zlvsDnAqMCh63Bibmd85UKhEMAnrn8/qugWiqugPIGYiWNKq6KeLp3sDafA4PbVRZjHGm\nwv0co6rZwdNvgSiD5ncJ5X7GGGMq3Mv5qrowxsPD/NuMJc7Q7ydwBvBK8PgV4O/5HJvs+xnL/dkV\nv6p+C+wrIjXzOmFKJAIRORNYpqoz8zks2kC0gxIaWBQicq+I/Ax0x74hRqPA5yIyWUR6JC+63WKI\nMyXuZ4R/AaPyeC30+xnIK8ZUu5f5SZV7mZ9UuJ81VXVV8HgVkNeHaBj3M5b7E+2YPL9oJa3XkIiM\nAaLNqn0HcBsQOUg6WoZNSqt2PnHerqojVPUO4A4RuRV4BLgsyrHHqeoKEakBjBGR+ar6TYrFmRL3\nMzjmDmC7qr6Zx2kSej/jEGPK3MsYhP63GcMpwr6fd+wRjKrmM7Yp4fcziljvT+7P0Tzfl7REoKon\nR9svIk2BesAMsTl6agNTRKSVqq6OOPQXrB0hx8FYlktKnFG8SR7fYFV1RfDvGhF5HyvKxfWPIw5x\npsT9FJFLsfrMjvmcI6H3Mw4xpsS9jPEcqfS3mZfQ76eIrBKRWqq6UkQOBFZHOy4Z9zOKWO5P7mNq\nB/uiCr1qSFVnq2pNVa2nqvWwH6hFriQAMBk4VETqikgFoBvwUTJjFZFDI56eCUyLckxlEakaPK6C\nlXRmJSfCXTEUGCepcT+7ALcAZ6rq1jyOCfV+xhIjKXAvc4laZx32vYwWUh77U+F+foRVqxL8+0Hu\nA0K8n7Hcn4+AS4LY2gC/RVR1/VkyW7tjbBH/kaAVHvgr8HHEa6dgo5IXAbeFENu72C96OvAe8Jfc\ncQJ/C16fDsxO1ThT5H5+DyzBEtU04KlUu5+xxJgi9/IfWJ3wH8BK4JNUu5exxpki93M/4HNgIfAZ\nsG8q3c9o9we4Ergy4pgngtdnkE9PMlX1AWXOOZfuQq8acs45Fy5PBM45l+Y8ETjnXJrzROCcc2nO\nE4FzzqU5TwTOOZfmPBGkMRGpKSJvisgPwVwp40Ukv8m1EJE6InJ+Ea51pog0LsL7/hVM8ztDRGaJ\nyBmFPUfYRCQzZ8plEbk9wdeqLCJrcwY6Rez/QETODR53EZFvxabXniYiQyWYqlxE2ojIxGD/XBHp\nm8d1monIi8Hfw9Ior08XkVYicp2IXJyIn9XFjyeCNCU2n8cHQKaq1lfVY4DzyH8GULDpQC4owiX/\nATQpZIy1gdux+VyOxKbTzW9iwljPm+yV+SIH69yW0AupbsFW//tHzj6xNRSOA0YEU7o8Dlyiqo1V\n9SjgDWxKY7AZK3sE+w8H3snjUrcAT6vqEuBnETk+4nqHAXur6iTgJWwqdJfCPBGkrw7ANlV9LmeH\nqv6sqk8ABMPXvxaRKcF2bHDYQKB98I3xehEpI7Z4y6TgW/sVuS8kIm2B04GHgvf9TUSaB988cxZ8\nibbwx1+ATcDvQXxbVHVxcM6o7w++fR8dPD5ARH4KHl8qIh+JyBfY5GBVROSliNLGWcFxnYKS0RQR\neSeYOiDyZzlMRL6NeF5XRGYGjzuKyNTgnC8Ew/8jDpWBwF7BPXgt2PlBUBqbLRGzV4rI5SKyIPjm\n/ryIDA721xCRd4P7PSm4t7m9hSX1HP8APlWbIqMPcK+qLsh5UW2Swpz5cWpgI35R86dlZEWkItBG\nVb/L43rnBftQmxJ9nYgcHiVOlyqSPXTbt9TYgOuAQfm8vhdQMXh8KPBd8PgEYETEcVcAdwSPKwLf\nAXWjnO8l4KyI5zOB9sHj/sAjUd5TBlusaAnwItC1oPcTseAJcADwU/D4Umxqg5ypAh6I/PmBfYPj\nvwL2Cvb1Ae6KEte0nJ8xOOZ2oBLwM9Ag2P8KcH2UmDblOlf1iPs9C6iOTWPwUxBTOeBr4PHguDex\nEhLAIcDcKPFVwD7Mc879KXBq8HgK0Cyf3/tdwK/A8OB3WzHKMW1y/Q3UBJazewGfuUCTiNf7A1eH\n/TfvW96blwjS1x5zi4jIE0G9bs5yexWAIcG33XeAnPr93BOFdQIuEZFpwERsjpYGeVxTgmtVA6rp\n7m+hrwDH5z5YVbNVtQtwDjbnyyMi0jfW90cxRlV/Cx53BJ6MuNZv2AdcE2B88PNcgn3Y5vYONtEX\nwD+Bt4FGWNJZVMiYrheR6cAErFquITaD5Veq+puqZgHD2H3fTwKeCOL7EKgqIpUjT6iq27FJx84V\nkQOA5lh10R5EZP/gd75ARG4K3jsAOAabX+cCLInkVgdYEXG9VdhcOyeJSHMgS1XnRhy/nN1VTy4F\nJbuu1KWOOcDZOU9U9RoR2R+b2RCgF7BCVS8WkbJAXjNvAlyjqmMid4jIPcBpdmrNWZs2r4mtchJE\nGWBqcNyHqtoviO074Dux+eNfwtZX+NP7A1nsrvKslOu43/N5X44xqlpQG8jbwDARGW7h6Q8icmQM\n597zAJEMLCG1UdWtIjI2iDn3fZKIfQK0Dj7s8/MW9u1egA9UdWewfw5wNDBLVdcBzYMksHfOG1X1\nR+AZEXkeWCMi1VV1fcS5NcrPl1M9tAorteQVv0tBXiJIU6r6JVBJRK6K2F2F3f9h9yGoK8a+GZcN\nHm8CInukjAb+k9MAKyINRaSyqt6pqkdFJIFNwTlR1Q3AehFpF7x2MdZona2qzYP39RORA2XPBc6P\nAhar6sZo7w8eL8a+0YKVJPIyBuiZ8yRoY5gIHCci9YN9VWTPKb0J4v8R2Il90A4Ndi8A6ua8N1dM\nkXZENFbvA6wPksBhWIlEseq1E0Rk3+DYsyPe/xlWrZcTd/M8fr5MrHTRk6C+PvAgtmDRYRH7dv3e\nReS0iP0NscT6G3tawp8XdBmOJf5u7L4nOQ7Efi8uVYVdN+VbeBv2n/ktbOrvb4EvgXOD1xpg09dO\nxxqINwb7ywFfBPuvx77t3YvV2c8KXtsnyrXaYt9Gp2DT9x6JVYfMwD5EqkV5zyHB+eZh9fKjgXrB\na1Hfj1XRzMBKFgOAH4P93Qnq2YPnVYCX2T1d99+D/ScCk4JzzCCiXSJXbDdhyeCQiH0dguvOBIYA\n5YP9kW0EA7E69New6rdRwfP3g/t/fHBcD6w6bGIQ5z3B/v2xD9oZwf18Kp/f7yPYErC5958a/Izz\ngXFYr6Gcto23sKQ2DUtIJ0d5fyVgYZT97wPjo+z/BDg87L933/LefBpq51KQiFRR1d+DEsFw4AVV\n/TDsuHKIyMtY99FvCzhuH+ALVW2ZlMBckXjVkHOpqV/QIDwLK9WkTBIIPAxcVeBR1lvrscSG4orL\nSwTOOZfmvETgnHNpzhOBc86lOU8EzjmX5jwROOdcmvNE4Jxzac4TgXPOpbn/B3m/W9+ewuSMAAAA\nAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x2683f70>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 1.8 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 270.0 #Source resistance (in ohm)\n",
+ "RG = 10.0 * 10**6 #Resistance (in ohm)\n",
+ "IDSS = 12.0 * 10**-3 #Drain-to-source current (in Ampere) \n",
+ "ID = 6.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDD = 15.0 #Supply voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VGS = - VS #Gate-to-Source Voltage \n",
+ "IDQ = 5.0 * 10**-3 #Drain current at Q point (in Ampere)\n",
+ "VGSQ = -1.4 #Gate-to-source voltage (in volts) \n",
+ "VD = VDD - IDQ * RD #Drain voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-4,0,100)\n",
+ "plot(x,12*(1 + x/4)**2,'r')\n",
+ "title(\"transfer characteristic\")\n",
+ "plot(x,x*(-5.0/1.40),'b')\n",
+ "xlabel(\"Gate-to-Source voltage VGS (V)\")\n",
+ "ylabel(\"Drain current ID(mA)\")\n",
+ "annotate(\"Q\",xy=(-1.62,6.0))\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Quiescent values of ID and VGS is \",IDQ * 10**3,\" mA and \",VGSQ,\" V.\"\n",
+ "print \"D.C. voltage between drain and ground is \",VD,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.5 , Page Number 755"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RD is 1.5 kilo-ohm.\n",
+ "Value of RS is 528.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VP = VGSoff = 5.0 #Voltage (in volts)\n",
+ "IDSS = 12.0 * 10**-3 #Drain-to-source current (in Ampere)\n",
+ "VDD = 12.0 #Drain voltage (in volts)\n",
+ "ID = 4.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDS = 6.0 #Drain-to-source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VGS = (1 - (ID / IDSS)**0.5)*VGSoff #Gate-to-source voltage (in volts)\n",
+ "VS = VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm)\n",
+ "RD = (VDD - VDS) / ID #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RD is \",RD * 10**-3,\" kilo-ohm.\\nValue of RS is \",round(RS),\" ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.6 , Page Number 756"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point is ID = 5.0 mA and VDS = 10.0 V.\n",
+ "Value of RD is 2.0 kilo-ohm and RS is 440.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IDSS = 10.0 * 10**-3 #Drain-to-source current (in Ampere)\n",
+ "VDD = 20.0 #Drain voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IDQ = IDSS / 2 #Drain current at Q point (in Ampere)\n",
+ "VDSQ = VDD / 2 #Drain-to-source voltage at Q point (in volts)\n",
+ "VGS = -2.2 #Gate-to-source voltage (in volts)\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "RD = (VDD - VDSQ) / ID #Drain resistance (in ohm)\n",
+ "VS = - VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point is ID = \",IDQ * 10**3,\" mA and VDS = \",VDSQ,\" V.\"\n",
+ "print \"Value of RD is \",RD * 10**-3,\" kilo-ohm and RS is \",RS,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.7 , Page Number 758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of VGS is -3.8 V. and value of VDS is 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VDD = 20.0 #Supply voltage (in volts)\n",
+ "RD = 2.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 1.5 * 10**3 #Source resistance (in ohm)\n",
+ "R1 = 2.0 * 10**6 #Resistance (in ohm)\n",
+ "R2 = 250.0 * 10**3 #Resitance (in ohm)\n",
+ "ID = 4.0 * 10**-3 #Drain current (in Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VG = VDD * R2 / (R1 + R2) #Gate voltage (in volts)\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VGS = VG - VS #Gate-to-source voltage (in volts)\n",
+ "VD = VDD - ID * RD #Drain voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of VGS is \",round(VGS,1),\" V. and value of VDS is \",VD - VS,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.8 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -6.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4.0 * 10**-3 #Transconductance (in Siemen)\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = -gm * RD #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",Av,\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.9 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -24.5 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.5 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 500.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 10.0 * 10**3 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = -gm * rL #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.10 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -26.7 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 13.3 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.0 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 40.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 20.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 100.0 * 10**6 #Gate resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = -gm * rL #Voltage gain \n",
+ "R1i = RG #input resistance (in ohm)\n",
+ "R1o = rL #output resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\"\n",
+ "print \"Input resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",round(R1o * 10**-3,1),\" kilo-ohm.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.11 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -16.67 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.0 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 50.0 * 10**3 #Drain resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = - gm * rL #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.12 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -48.9 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 100.0 * 10**3 #Drain resistance (in ohm) \n",
+ "gm = 1.6 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 44.0 * 10**3 #Resistance (in ohm)\n",
+ "Cgs = 3.0 * 10**-12 #Capacitance gate-to-source (in Farad)\n",
+ "Cds = 1.0 * 10**-12 #Capacitance drain-to-source (in Farad)\n",
+ "Cgd = 2.8 * 10**-12 #Capacitance gate-to-drain (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. load resistance (in ohm) \n",
+ "Av = -gm * rL #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),'.'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.13 , Page Number 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 0.844 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4500.0 * 10**-6 #Transconductance (in Ampere per volt)\n",
+ "RD = 3.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RL = 5.0 * 10**3 #Load resistance (in ohm) \n",
+ "Vin = 100.0 * 10**-3 #Input voltage (in volts)\n",
+ "ID = 2.0 * 10**-3 #Drain current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * RL / (RD + RL) #a.c. load resistance (in ohm)\n",
+ "vo = -gm * rL * Vin #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",abs(round(vo,3)),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.14 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain when RL is zero is -2.0 .\n",
+ "Voltage gain when Rl is 100 kilo-ohm is -1.97 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4.0 * 10**-3 #Transconductance (in Siemen)\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 10.0 * 10**6 #Gate resistance (in ohm)\n",
+ "rs = 500.0 #resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Voltage gain when Rl is zero\n",
+ "\n",
+ "rL = RD #a.c. load resistance (in ohm)\n",
+ "Av = -(gm * rL)/(1 + gm * rs) #Voltage gain1 \n",
+ "\n",
+ "#Voltage gain when Rl is 100 kilo-ohm\n",
+ "\n",
+ "RL = 100.0 * 10**3 #Load resistance (in ohm) \n",
+ "rL1 = RD * RL / (RD + RL) #a.c. load resistance (in ohm)\n",
+ "Av1 = -(gm * rL1)/(1 + gm * rs) #Voltage gain1 \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain when RL is zero is \",Av,\".\\nVoltage gain when Rl is 100 kilo-ohm is \",round(Av1,2),\".\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.15 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain for unbypassed Rs is -1.35 .\n",
+ "Voltage gain for bypassed Rs is -4.163 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 750.0 #Source resistance (in ohm)\n",
+ "RG = 1.0 * 10**6 #Gate resistance (in ohm)\n",
+ "IDSS = 10.0 * 10**-3 #Supply current (in Ampere)\n",
+ "Vp = -3.5 #Voltage (in volts)\n",
+ "IDQ = 2.3 * 10**-3 #Drain current at Q point (in Ampere)\n",
+ "VGSQ = -1.8 #Gate-to-source voltage at Q point (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "gmo = -2 * IDSS / Vp #Maximum transconductance (in Ampere per volt)\n",
+ "gm = gmo * (1 - VGSQ/Vp) #Transconductance at Q point (in Ampere per volt) \n",
+ "rL = RD #a.c. load resistance (in ohm)\n",
+ "Av = - gm * rL / (1 + gm * RS) #Unbypassed RS (in ohm)\n",
+ "Av1 = -gm * rL #Bypassed RS (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain for unbypassed Rs is \",round(Av,2),\".\\nVoltage gain for bypassed Rs is \",round(Av1,3),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.16 , Page Number 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 0.988 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 125.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 8000.0 * 10**-6 #Transconductance (in Siemen)\n",
+ "RS = 10.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 100.0 * 10**6 #Gate resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = RS / (RS + 1 / gm) #Voltage gain\n",
+ "R1i = RG #Input resistance (in ohm)\n",
+ "R1o = 1 / gm #Output resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,3),\".\\nInput resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",R1o,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.17 , Page Number 772"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 0.965 .\n",
+ "Input resistance is 0.5 Mega-ohm.\n",
+ "Output resistance is 175.4 ohm.\n",
+ "Output voltage is 1.77 mV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "vin = 2.0 * 10**-3 #Input voltage (in volts)\n",
+ "gm = 5500.0 * 10**-6 #Transconductance (in Siemen)\n",
+ "R1 = R2 = 1.0 * 10**6 #Resistance (in ohm)\n",
+ "RS = 5.0 * 10**3 #Source resistance (in ohm)\n",
+ "RL = 2.0 * 10**3 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = RS / (RS + 1/gm) #Voltage gain \n",
+ "R1i = R1 * R2 / (R1 + R2) #Input resistance (in ohm)\n",
+ "R1o = RS * 1/gm /(RS + 1/gm) #Output resistance (in ohm)\n",
+ "Vo = RL / (RL + R1o) * Av * vin #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,3),\".\\nInput resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",round(R1o,1),\" ohm.\\nOutput voltage is \",round(Vo * 10**3,2),\" mV.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.18 , Page Number 774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Amplifier voltage gain is 25.0 .\n",
+ "Input resistance is 333.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2500.0 * 10**-6 #Transconductance (in Amper per volt)\n",
+ "RD = 10.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 2.0 * 10**3 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = gm * RD #Voltage gain \n",
+ "R1i = RS * 1/gm /(RS + 1/gm) #Input resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Amplifier voltage gain is \",Av,\".\\nInput resistance is \",round(R1i),\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.19 , Page Number 775"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Input resistance is 100.0 ohm.\n",
+ "a.c. voltage gain is 3.75 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gmo = 5.0 * 10**-3 #Maximum transconductance (in Siemen)\n",
+ "RD = 1.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 200.0 #Source resistance (in ohm)\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1i = RS * 1/gmo /(RS + 1/gmo) #Input resistance (in ohm)\n",
+ "VS = ID * RS #Source voltage (in volts) \n",
+ "VGS = VS #Gate-to-Source voltage (in volts)\n",
+ "IDSS = 2 * ID #Supply current (in Ampere)\n",
+ "VGSoff = -2 * IDSS / ID #Gate-to-source cut off voltage (in volts)\n",
+ "gm = gmo * (1 - abs(VGS / VGSoff)) #Transconductance (in Siemen) \n",
+ "Av = gm * RD #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance is \",R1i,\" ohm.\\na.c. voltage gain is \",Av,\".\""
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_3.ipynb
new file mode 100644
index 00000000..d0e5134b
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_3.ipynb
@@ -0,0 +1,776 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3d2015ac31b05394e05afcfb5c1742d239465e40465a478e82205d7108590d8c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 31 , Sinusoidal Oscillators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.1 , Page Number 787"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 22.0 * 10**3 #Frequency (in Hertz)\n",
+ "C = 2.0 * 10**-9 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = (0.159/fo)**2/C #Inductance (in Henry) \n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Inductance is \",round(L,3),\" H.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inductance is 0.026 H.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.2 , Page Number 787"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.2 * 10**6 #Frequency (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f1o = fo * 2**0.5 #New frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"It will work at frequency of \",round(f1o * 10**-6,2),\" MHz when capacitance is reduced by 50%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "It will work at frequency of 3.11 MHz when capacitance is reduced by 50%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.3 , Page Number 789"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "L1 = 30.0 * 10**-6 #Inductance1 (in Henry)\n",
+ "L2 = 1.0 * 10**-8 #Inductance2 (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 #Net inductance (in Henry)\n",
+ "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillations is \",round(fo * 10**-6,1),\" MHz,\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillations is 2.9 MHz,\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.4 , Page Number 790"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L1 = 1000.0 * 10**-6 #Inductance1 (in Henry)\n",
+ "L2 = 100.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "M = 20.0 * 10**-6 #Mutual Inductance (in Henry)\n",
+ "C = 20.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 + 2 * M #Net inductance (in Henry)\n",
+ "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillations is \",round(fo * 10**-6,3),\" MHz,\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillations is 1.054 MHz,\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.5 , Page Number 790"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C = 1.0 * 10**-9 #Capacitance (in Farad)\n",
+ "L1 = 4.7 * 10**-3 #Inductance1 (in Henry)\n",
+ "L2 = 47.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 #Net inductance (in Henry)\n",
+ "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillations is \",round(fo * 10**-3,2),\" kHz,\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillations is 73.05 kHz,\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.6 , Page Number 791"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L1 = 2.0 * 10**-3 #Inductance1 (in Henry)\n",
+ "L2 = 20.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "fomin = 950.0 * 10**3 #Frequency minimum (in Hertz)\n",
+ "fomax = 2050.0 * 10**3 #Frequency maximum (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 #Net inductance (in Henry)\n",
+ "C1 = 1.0/(4 * math.pi**2*(L*fomin**2)) #Capacitance1 (in Farad)\n",
+ "C2 = 1.0/(4 * math.pi**2*(L*fomax**2)) #Capacitance2 (in Farad)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Range of capacitance required is \",round(C2 * 10**12,2),\" pF and \",round(C1 * 10**12,1),\" pF.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Range of capacitance required is 2.98 pF and 13.9 pF.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.7 , Page Number 792"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "L1 = 0.1 * 10**-3 #Inductance1 (in Henry)\n",
+ "L2 = 10.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "M = 20.0 * 10**-6 #Mutual Inductance (in Hnery) \n",
+ "fo = 4110.0 * 10**3 #Frequency (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 + 2*M #Net inductance (in Henry)\n",
+ "C = 1.0/(4 * math.pi**2 * L*fo**2) #Capacitance (in Farad)\n",
+ "beta = L2 / L1 #Feedback ratio\n",
+ "Av = 1/beta #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance required is \",round(C * 10**12,4),\" pF.\\nVoltage gain for sustained condition is \",Av,\".\"\n",
+ "\n",
+ "#Calculation error in the value of M used in formula , therefore incorrect value of C."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance required is 9.9969 pF.\n",
+ "Voltage gain for sustained condition is 10.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.8 , Page Number 793"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 0.001 * 10**-6 #Capacitance (in Farad) \n",
+ "C2 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "L = 5.0 * 10**-6 #Inductance (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = C2 / C1 #Voltage gain\n",
+ "C = C1 * C2 / (C1 + C2) #Net capacitance (in Farad)\n",
+ "fo = 1 /(2*math.pi*(L * C)**0.5) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Required voltage gain is \",Av,\".\\nFrequency of oscillation is \",round(fo * 10**-6,2),\" Mhz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Required voltage gain is 10.0 .\n",
+ "Frequency of oscillation is 2.36 Mhz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.9 , Page Number 793"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 0.1 * 10**-6 #Capacitance (in Farad)\n",
+ "C2 = 1.0 * 10**-6 #Capacitance (in Farad)\n",
+ "L = 470.0 * 10**-6 #Inductance (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = C1 * C2/ (C1 + C2) #Net capacitance (in Farad) \n",
+ "fo = 1 /(2*math.pi*(L * C)**0.5) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillation is \",round(fo * 10**-3,2),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillation is 24.35 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.10 , Page Number 794"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "C2 = 7500.0 * 10**-12 #Capacitance (in Farad)\n",
+ "fomin = 950.0 * 10**3 #Frequency minimum (in Hertz)\n",
+ "fomax = 2050.0 * 10**3 #Frequency maximum (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = C1 * C2/ (C1 + C2) #Net capacitance (in Farad) \n",
+ "L1 = 1.0/(4 * math.pi**2*(C*fomin**2)) #Inductance1 (in Henry)\n",
+ "L2 = 1.0/(4 * math.pi**2*(C*fomax**2)) #Inductance2 (in Henry)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The range of inductance required is from \",round(L2 * 10**6),\" micro-Henry to \",round(L1 * 10**6),\" micro-Henry.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The range of inductance required is from 61.0 micro-Henry to 284.0 micro-Henry.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.11 , Page Number 795"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 450.0 * 10**3 #Frequency(in Hertz)\n",
+ "#Let us assume \n",
+ "C1 = C2 = C = 10.0 * 10**-6 #Capacitance (in Farad)\n",
+ "C21 = 2 * C2 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo1 = fo * (3.0/4.0)**0.5 #New Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The oscillation frequency if C2 is doubled is \",round(fo1 * 10**-3,1),\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The oscillation frequency if C2 is doubled is 389.7 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.12 , Page Number 796"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 0.1 * 10**-6 #Capacitance (in Farad)\n",
+ "C2 = 1.0 * 10**-6 #Capacitance (in Farad) \n",
+ "C3 = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "L = 470.0 * 10**-6 #Inductance (in Henry)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = (1.0/C1 + 1.0/C2 +1.0/C3)**-1 #Capacitance (in Farad) \n",
+ "fo = 1/(2*math.pi *(L*C)**0.5) #Frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillation is \",round(fo * 10**-3,1),\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillation is 734.5 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.13 , Page Number 799"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L = 0.33 #Inductance (in Henry)\n",
+ "C1 = 0.065 * 10**-12 #Capacitance (in Farad) \n",
+ "C2 = 1.0 * 10**-12 #Capacitance (in Farad)\n",
+ "R = 5.5 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fs = 1/(2*math.pi*(L*C1)**0.5) #Series Resonant frequency (in Hertz)\n",
+ "Qfactor = 2*math.pi*fs*L/R #Q-factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Series resonant frequency is \",round(fs * 10**-6,2),\" MHz.\\nQ-factor of the crystal is \",round(Qfactor,1),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Series resonant frequency is 1.09 MHz.\n",
+ "Q-factor of the crystal is 409.7 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.14 , Page Number 802"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 5000.0 * 10**-6 #Transconductance (in mho)\n",
+ "rd = 40.0 * 10**3 #Resistance (in ohm)\n",
+ "R = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "fo = 1.0 * 10**3 #Frequency (in Hertz) \n",
+ "Av = 40.0 #Voltage gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1/(2*math.pi*(R)*6**0.5*fo) #Capacitance (in Farad)\n",
+ "rL = Av / gm #a.c. load resistance (in ohm) \n",
+ "RD = (rL * rd)/(rd-rL) #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of capacitor is \",round(C* 10**6,5),\" micro-Farad.\"\n",
+ "print \"Value of drain resistance is \",RD * 10**-3,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of capacitor is 0.0065 micro-Farad.\n",
+ "Value of drain resistance is 10.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.15 , Page Number 803"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.0 * 10**3 #Frequency (in Hertz)\n",
+ "mu = 50.0 #Amplification factor \n",
+ "rd = 5.0 * 10**3 #Resistance (in ohm) \n",
+ "Av = 40.0 #Voltage gain\n",
+ "R = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "gm = mu / rd #Transconductance (in mho)\n",
+ "rL = Av/ gm #a.c. load resistance (in ohm) \n",
+ "RD = (rL * rd)/(rd-rL) #Drain resistance (in ohm)\n",
+ "RC = 0.065/(fo) #RC product (in second)\n",
+ "C = RC / R #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of RD is \",RD * 10**-3,\" kilo-ohm.\\nValue of the RC product is \",RC,\" s.\\nValue of R is \",R * 10**-3,\" kilo-ohm.\\nValue of C is \",C * 10**9,\" nF.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of RD is 20.0 kilo-ohm.\n",
+ "Value of the RC product is 3.25e-05 s.\n",
+ "Value of R is 10.0 kilo-ohm.\n",
+ "Value of C is 3.25 nF.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.18 , Page Number 807"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.0 * 10**3 #Frequency (in Hertz)\n",
+ "hie = 2.0 * 10**3 #hie (in ohm)\n",
+ "R1 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 80.0 * 10**3 #Resistance (in ohm)\n",
+ "RC = 10.0 * 10**3 #Collector Resistance (in ohm)\n",
+ "R = 8.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1/(2*math.pi*R)*(1/(6 + 4*RC/R)**0.5)/fo #Capacitance (in Farad)\n",
+ "hfe = 23 + 29 * R/RC + 4* RC /R #Current gain \n",
+ "Ri = (1/R1 + 1/R2 + 1/hie)**-1 #Input resistance (in ohm)\n",
+ "R3 = R - Ri #Feedback resitor (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of capacaitor C is \",round(C * 10**6,3),\" micro-Farad.\\nValue of transistor gain is hfe >= \",hfe,\".\\nValue of feedback resistor R3 is \",round(R3 * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of capacaitor C is 0.003 micro-Farad.\n",
+ "Value of transistor gain is hfe >= 51.2 .\n",
+ "Value of feedback resistor R3 is 6.2 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.19 , Page Number 809"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 10.0 * 10**3 #Frequency (in Hertz)\n",
+ "R = 100.0 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1/(2*math.pi*R*fo) #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of the capacitor C is \",round(C * 10**12),\" pico-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of the capacitor C is 159.0 pico-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_3.ipynb
new file mode 100644
index 00000000..183fa27e
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_3.ipynb
@@ -0,0 +1,606 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 32 , Non-Sinusoidal Oscillators"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.1 , Page Number 816"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The upper end point is ic = 50.0 mA.\n",
+ "The lower end point is VCE = 10.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60d9af0>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n7H8BS89mPFZd97UAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x273e870>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Supply voltage (in volts)\n",
+ "VBB = 5.0 #Voltage across base (in volts)\n",
+ "RC = 200.0 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Upper end point\n",
+ "ic = VCC / RC #Collector current (in Ampere)\n",
+ "VCE = VCEsat = 0 #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#lower cut-off point\n",
+ "ic1 = 0 #Collector current (in Ampere) \n",
+ "VCE1 = VCC #Collector-to-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The upper end point is ic = \",ic * 10**3,\" mA.\\nThe lower end point is VCE = \",VCE1,\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,VCE1,100)\n",
+ "plot(x,ic*10**3 - ic*10**3/VCE1*x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.2 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Frequency of oscillation is 362.0 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = R2 = R = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = C2 = C = 100.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1/(1.38 * R * C) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillation is \",round(f * 10**-3),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.3 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time period of oscillation is 0.7 ms.\n",
+ "Frequency of oscillation is 1.42 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "C2 = 0.05 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 0.69*(R1*C1 + R2*C2) #Time periode of oscillation (in seconds)\n",
+ "f = 1/T #Frequency of oscillation (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period of oscillation is \",round(T * 10**3,1),\" ms.\\nFrequency of oscillation is \",round(f * 10**-3,2),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.4 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of C1 capacitor is 145.0 pico-Farad.\n",
+ "Value of C2 capacitor is 1304.0 pico-Farad.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T1 = 1.0 * 10**-6 #Pulse width (in seconds)\n",
+ "f = 100.0 * 10**3 #Frequency (in Hertz)\n",
+ "R1 = R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period of oscillation (in seconds) \n",
+ "C1 = T1 / 0.69 / R1 #Capacitance (in Farad)\n",
+ "T2 = T - T1 #Time period (in seconds) \n",
+ "C2 = T2 / 0.69 / R2 #Capacitance (in Farad)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of C1 capacitor is \",round(C1 * 10**12),\" pico-Farad.\\nValue of C2 capacitor is \",round(C2 * 10**12),\" pico-Farad.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.5 , Page Number 823"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rc : 3000.0 ohm.\n",
+ "RC1 : 3000.0 ohm.\n",
+ "IBsat : 0.00025 A.\n",
+ "IB : 0.0005 A.\n",
+ "R1 : 30.0 kilo-ohm.\n",
+ "R2 : 30.0 kilo-ohm.\n",
+ "C1 : 14976.0 pico-Farad.\n",
+ "C2 : 12077.0 pico-Farad.\n",
+ "Output waveform time constants :\n",
+ "t1 = 449.3 micro-second.\n",
+ "t2 : 362.3 micro-second\n",
+ "t11 : 44.9 micro-second\n",
+ "t12 : 36.2 micro-second.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T2A = 310.0 * 10**-6 #Time period (in seconds)\n",
+ "T2B = 250.0 * 10**-6 #Time period (in seconds)\n",
+ "VCC = 15.0 #Supply voltage (in volts)\n",
+ "ICsat = 5.0 * 10**-3 #Saturated collector current (in Ampere)\n",
+ "hFEmin = 20.0 #Current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RC = VCC / ICsat #Collector resistance (in ohm)\n",
+ "RC1 = RC2 = RC #Collector resistance of transistors Q1 and Q2 (in ohm) \n",
+ "IBsat = ICsat / hFEmin #Saturated Base current (in Ampere)\n",
+ "IB = 2 * IBsat #Base current (in Ampere)\n",
+ "R1 = R2 = R = VCC / IB #Resistance (in ohm)\n",
+ "C1 = T2A / 0.69 / R1 #Capacitance (in Farad)\n",
+ "C2 = T2B / 0.69 / R2 #Capacitance (in Farad)\n",
+ "t1 = R1 * C1 #Time constant1 (in seconds)\n",
+ "t2 = R2 * C2 #Time constant2 (in seconds)\n",
+ "t11 = RC1 * C1 #Time constant (in seconds)\n",
+ "t12 = RC1 * C2 #Time constant (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Rc : \",RC,\" ohm.\\nRC1 : \",RC1,\" ohm.\\nIBsat : \",IBsat,\" A.\\nIB : \",IB,\" A.\\nR1 : \",R1*10**-3,\" kilo-ohm.\\nR2 : \",R2*10**-3,\" kilo-ohm.\\nC1 : \",round(C1 * 10**12),\" pico-Farad.\\nC2 : \",round(C2*10**12),\" pico-Farad.\"\n",
+ "print \"Output waveform time constants :\\nt1 = \",round(t1 * 10**6,1),\" micro-second.\\nt2 : \",round(t2 * 10**6,1),\" micro-second\\nt11 : \",round(t11 * 10**6,1),\" micro-second\\nt12 : \",round(t12 * 10**6,1),\" micro-second.\" \n",
+ "\n",
+ "#In some places milli seconds is mentioned in place of micro second in book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.6 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The duty cycle of the waveform at the output (Q) of the monostable multivibrator is 10.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 20.0 * 10**3 #Frequency (in Hertz)\n",
+ "tp = 5.0 * 10**-6 #Pulse duration (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in seconds)\n",
+ "duty_cycle = tp / T #Duty cycle of monostable multivibrator \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The duty cycle of the waveform at the output (Q) of the monostable multivibrator is \",duty_cycle * 100,\"%.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.7 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of R3 is 7.246 kilo-ohm and value of C1 is 1.0 nF.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 100.0 * 10**3 #Frequency (in Hertz)\n",
+ "C1 = 0.001 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "duty_cycle = 0.5 #Duty cycle \n",
+ "T = 1/f #Time period (in seconds)\n",
+ "tp = duty_cycle * T #Pulse width (in seconds) \n",
+ "R3 = tp / 0.69 / C1 #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of R3 is \",round(R3 * 10**-3,3),\" kilo-ohm and value of C1 is \",C1 * 10**9,\" nF.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.8 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The pulse width is 24.2 micro-second.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.2 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "tp = 1.1 * R1 * C1 #Pulse width (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The pulse width is \",tp * 10**6,\" micro-second.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.9 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Resistance required is 9.09 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C = 1000.0 * 10**-12 #Capacitance (in Farad) \n",
+ "tp = 10.0 * 10**-6 #Pulse width (in seconds)\n",
+ "T = 60.0 * 10**-6 #time period (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1 = tp / (1.1 * C) #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance required is \",round(R1 * 10**-3,2),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.10 , Page Number 836"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "t1 is 8.05 micro-seconds.\n",
+ "t2 is 3.29 micro-seconds.\n",
+ "Duty cycle is 71.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 6.8 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 1000.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t2 = 0.7 * R2 * C1 #Time interval2 (in seconds)\n",
+ "t1 = 0.7 * (R1 + R2 ) * C1 #Time interval1 (in seconds) \n",
+ "T = t1 + t2 #Total time (in seconds)\n",
+ "duty_cycle = t1 / T * 100 #Duty cycle of the waveform \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"t1 is \",t1 * 10**6,\" micro-seconds.\\nt2 is \",t2 * 10**6,\" micro-seconds.\\nDuty cycle is \",round(duty_cycle),\"%.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.11 , Page Number 837"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Frequency is 1.03 kHz.\n",
+ "Duty cycle is 60.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 27.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 56.0 * 10**3 #Resistance (in ohm) \n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t2 = 0.7 * R2 * C1 #Time interval2 (in seconds)\n",
+ "t1 = 0.7 * (R1 + R2 ) * C1 #Time interval1 (in seconds) \n",
+ "T = t1 + t2 #Total time (in seconds)\n",
+ "f = 1 / T #Frequency (in Hertz)\n",
+ "duty_cycle = t1 / T * 100 #Duty cycle of the waveform \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency is \",round(f * 10**-3,2),\" kHz.\\nDuty cycle is \",round(duty_cycle),\"%.\" \n",
+ "\n",
+ "#In book it forgot to mention the duty_cycle."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.12 , Page Number 838"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time period is 0.02 ms.\n",
+ "t1 is 0.012 ms.\n",
+ "t2 is 0.008 ms.\n",
+ "R2 is 5.19 kilo-ohm.\n",
+ "R1 is 2.6 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 50.0 * 10**3 #Frequency (in Hertz)\n",
+ "duty_cycle = 0.6 #Duty cycle\n",
+ "C = 0.0022 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in seconds)\n",
+ "t1 = duty_cycle * T #time interval1 (in seconds)\n",
+ "t2 = T - t1 #time interval2 (in seconds)\n",
+ "R2 = t2 / (0.7 * C ) #Resistance (in ohm) \n",
+ "R1 = t1 / (0.7 * C) - R2 #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period is \",T * 10**3,\"ms.\\nt1 is \",t1 * 10**3,\" ms.\\nt2 is \",t2 * 10**3,\" ms.\\nR2 is \",round(R2 * 10**-3,2),\" kilo-ohm.\\nR1 is \",round(R1 * 10**-3,1),\" kilo-ohm.\""
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_3.ipynb
new file mode 100644
index 00000000..2f56c049
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_3.ipynb
@@ -0,0 +1,884 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 33 , Wave Shaping"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.2 , Page Number 853"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output peak voltage is 0.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "Vpk = 1.0 #Peak-to-peak voltage (in volts)\n",
+ "Tby2 = 0.1 #Half-period (in seconds)\n",
+ "tau = 0.25 #Time constant (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vc = 0.5 * math.exp(-Tby2/tau) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output peak voltage is \",round(Vc,1),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.3 , Page Number 854"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak value of input voltage is 10.0 kV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 250.0 * 10**-12 #Time constance (in seconds)\n",
+ "Vomax = 50.0 #Maximum output voltage (in volts) \n",
+ "tau = 0.05 * 10**-6 #time (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha = Vomax / RC #alpha (in volt per second)\n",
+ "Vp = alpha * tau #Peak voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The peak value of input voltage is \",Vp * 10**-3,\" kV.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.5 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following graph shows the output.\n",
+ "The part above the line is clipped out.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x82616f0>"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7e69970>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vi = 2.0 #positive clipping (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vomax = 5.0 #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following graph shows the output.\\nThe part above the line is clipped out.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0.001,2,400)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(2*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')\n",
+ "annotate(\"Clipping level\",xy=(0.575,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.6 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:22: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7ed1f70>"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHQFJREFUeJzt3Xu0nFWd5vHvkwsKogSIBHIjEEiQy0gijSxAcxpRufQE\nx2kVZ2wB17TIyGAr3W3r2Iuw7FFcOi2KzWUcUdAOwUYXAwitoJwYRFEhCSFXAgm5QSKQCxKQkPzm\nj71PqFTqnFPnnPetOnXq+axVi7rs2vXL4X3refd+L6WIwMzMbFizCzAzs8HBgWBmZoADwczMMgeC\nmZkBDgQzM8scCGZmBjgQzFqGpH+S9AdJG5pdiw1NDgRrCkkXSlok6UVJT0u6VtIBfXj/aklnFFhP\nof0VTdJE4DPAMRExttn12NDkQLCGk3Q5cBVwOfAm4BTgcOBeSSPr7CYAFVhW0f0VbSLwXEQ819c3\nShpRQj02BDkQrKEkvQmYBVwaET+LiJ0R8RTwQWAS8JHc7nuSvljxvg5Ja/P975O+IO+U9IKkv5U0\nSdIuSX8tab2kDTl46E9/NeqeK+n9+f5p+bPOyY/fJWl+vj9Z0i8kPZund37QNfKR9FlJ/1bV7zck\nfSPfP0DSd3Lt6yR9UdIwSWcCPwPG5vpuzO1nSlosabOk+yUdU9Hvakl/L+lR4IVc1648Mlsj6TlJ\nn5D0Z5IezX1c0/f/ozaUOBCs0U4FXg/8uPLJiHgRuBt4d9dT+baXiPgrYA3wFxHxxoj4WsXLHcBR\nwHuAz0p61wD769KZ+waYATwJvLPicWdF2/8FHAa8BZhACkCAW4BzJO0PIGk48AHgX/Pr3wNeASYD\n0/K/4b9FxH3A2cCGXN/HJE0BZgOXAaNJf7s7q0YD5+f3jQJ25udOzn+f84FvAJ8HzgCOAz4o6Z1Y\n23IgWKONBp6NiF01XnsGOLjicX+mcK6MiJci4jHgu8CHB9hfl7mkL36AdwBfrng8I79ORDwRET+P\niB0R8Szw9a52EbEGeAT4T/l9ZwDbI+K3ksaQvrw/nev/A3A16Yu7Vu0fAu7Kn7UT+BqwLylwIYXf\nNyNifUT8qeJ9X4yIVyLiXuAFYHZEPBsRG4B5pCCyNuVAsEZ7Fhgtqdayd1h+fSDWVtxfAxS1A/Y3\nwBRJhwAnAjcDEyQdDPwZ8EsASWMkzclTPluB77NnyM3mtZD6L7w2OjgcGAk8nadvNgPXA2/upp7D\n8r8PgEhXqVwLjKtos7b6TcDGivsv1Xi8fzefZ23AgWCN9mvgT8B/rnwyT6OcBfw8P/UisF9Fk0Or\n+unuMr0Tq+6vH2B/6cWI7cDDwN8AiyJiB/Agacf4yoh4Pjf9Eml65viIOAD4K/Zcz24DOiSNA95H\nCghIX95/Ag6OiAPz7YCIOKGbkjaQQgQASSJNT62vaNOfSxn78sdtzIFgDRURW4ErgWskvVfSSEmT\ngB+SvhS/n5suIM23HyjpUNIXcaWNpLn2al+QtK+k44ALgVsH2F+lucAn838h7Te4tOIxpC3sF4Ft\n+Uv/7yo7yFNBnaT9BU9GxPL8/NOkHcf/LOmNeWfy5B7m9H8InCvpjHxk1uXAy6SQGojBfKSVlcyB\nYA0XEV8l7cz8GrCVNB3zFPCuvOUNKRgWAquBfwfmsOfW65dJX/6bJX2m4vm5wErgPuCreYfsQPqr\nNJf0hf/L/PiXwBsqHkMKu+n533Un8CP23uqeDbyL10YHXT4K7AMsAZ4H/o09RzK7+4mIFaQjsq4B\n/gCcC/zHiHi1m9r3eP8A29gQpbJ+IEfS60kr0OtIC/n/i4jP1Wj3TdLOtO3AhRExv5SCbEjLo4wn\ngRHd7LA2s16UdsJKRLws6c8jYns+FO4BSadHxANdbfJx3EdFxNGS3g5cRzpJyczMGqzUKaO8Iw7S\nCGE4aRhcaSZwU277EDAqH35n1h+e7jAbgFIDIe8YW0DaYXd/RCypajKOPQ+NWweML7MmG5oiYnVE\nDPd0kVn/lT1C2BURJ5K+5N8pqaNGs+qjGryVZ2bWBA256FVEbJX0E+Ak9jzFfz3p2Oku49nzOGoA\nJDkkzMz6ISLqPpS4tBGCpNGSRuX7+5KuUVN9BNEdpEPtkHQKsCUiNlJDRLTs7Yorrmh6De1Yu+tv\n/s31N/fWV2WOEA4DbsqXKBgGfD8ifi7pYoCIuCEi7pZ0jqSVpJN5LiqxHjMz60GZh50uIp2gU/38\nDVWPLy2rBjMzq5/PVG6Ajo6OZpfQb61cO7j+ZnP9raW0M5WLJClaoU4zs8FEEjEYdiqbmVlrcSCY\nmRngQDAzs8yBYGZmgAPBzMwyB4KZmQEOBDMzyxwIZmYGOBDMzCxzIJiZGeBAMDOzzIFgZmaAA8HM\nzDIHgpmZAQ4EMzPLHAhmZgY4EMzMLHMgmJkZ4EAwM7PMgWBmZoADwczMMgeCmZkBDgQzM8scCGZm\nBjgQzMwscyCYmRlQYiBImiDpfkmLJT0m6bIabTokbZU0P9++UFY9ZmbWsxEl9r0D+HRELJC0P/Cw\npHsjYmlVu7kRMbPEOszMrA6ljRAi4pmIWJDv/xFYCoyt0VRl1WBmZvVryD4ESZOAacBDVS8FcKqk\nhZLulnRsI+oxM7O9lTllBECeLroN+FQeKVR6BJgQEdslnQ3cDkwpuyYzM9tbqYEgaSTwI+AHEXF7\n9esR8ULF/XskXSvpoIh4vrrtrFmzdt/v6Oigo6OjlJrNzFpVZ2cnnZ2d/X6/IqK4aio7lgTcBDwX\nEZ/ups0YYFNEhKSTgR9GxKQa7aKsOs3MhipJRETd+2nLHCGcBnwEeFTS/Pzc54GJABFxA/CXwCWS\nXgW2A+eXWI+ZmfWgtBFCkTxCMDPru76OEHymspmZAQ4EMzPLHAhmZgY4EMzMLHMgmJkZ4EAwM7PM\ngWBmZoADwczMMgeCmZkBDgQzM8scCGZmBjgQzMwscyCYmRngQDAzs8yBYGZmgAPBzMwyB4KZmQEO\nBDMzyxwIZmYGOBDMzCxzIJiZGeBAMDOzzIFgZmaAA8HMzDIHgpmZAQ4EMzPLHAhmZgY4EMzMLHMg\nmJkZUGIgSJog6X5JiyU9Jumybtp9U9LjkhZKmlZWPWZm1rMRJfa9A/h0RCyQtD/wsKR7I2JpVwNJ\n5wBHRcTRkt4OXAecUmJNZmbWjdJGCBHxTEQsyPf/CCwFxlY1mwnclNs8BIySNKasmszMrHsN2Ycg\naRIwDXio6qVxwNqKx+uA8Y2oyczM9lTmlBEAebroNuBTeaSwV5Oqx1Grn1mzZu2+39HRQUdHR0EV\nmpkNDZ2dnXR2dvb7/Yqo+f1bCEkjgbuAeyLi6hqvXw90RsSc/HgZMCMiNla1izLrNDMbiiQREdUb\n3d0q8ygjAd8BltQKg+wO4KO5/SnAluowMDOzxihthCDpdOCXwKO8Ng30eWAiQETckNt9CzgLeBG4\nKCIeqdGXRwhmZn3U1xFCqVNGRXEgmJn13aCZMjIzs9biQDAzM8CBYGZmmQPBzMwAB4KZmWUOBDMz\nAxwIZmaWORDMzAxwIJiZWeZAMDMzwIFgZmaZA8HMzAAHgpmZZQ4EMzMDHAhmZpY5EMzMDHAgmJlZ\n5kAwMzPAgWBmZpkDwczMAAeCmZllDgQzMwMcCGZmljkQzMwMcCCYmVnmQDAzM8CBYGZmmQPBzMyA\nkgNB0o2SNkpa1M3rHZK2Spqfb18osx4zM+veiHoaSToPeGd+2BkRd9bZ/3eBa4Cbe2gzNyJm1tmf\nmZmVpNcRgqSrgMuAxcAS4DJJX66n84iYB2zu7SPq6cvMzMpVzwjhXODEiNgJIOl7wALgcwV8fgCn\nSloIrAf+NiKWFNCvmZn1UT2BEMAo4Ln8eFR+rgiPABMiYruks4HbgSm1Gs6aNWv3/Y6ODjo6Ogoq\nwcxsaOjs7KSzs7Pf71dE7e92SdcCs4HxwFeA+0nTOzOAf4iIOXV9gDQJuDMiTqij7SrgbRHxfNXz\n0V2dZmZWmyQiou5p+Z5GCCuArwJjgfuAp0hTRZ+NiGcGVGUmaQywKSJC0smkgHq+t/eZmVnxuh0h\n7G6QtvDPz7d9SaOGWyJiRa+dS7eQRhSjgY3AFcBIgIi4QdIngUuAV4HtwGci4jc1+vEIwcysj/o6\nQug1EKo6n0Y6lPSEiBjej/r6xYFgZtZ3fQ2Eeg47HSFppqTZwL8Dy4D3D6BGMzMbhHraqfwe0jTR\nucBvgVuAOyLij40rb3ctHiGYmfVRYVNGkn5BCoEfNXtHrwPBzKzvSt2H0CwOBDOzvit8H4KZmbUH\nB4KZmQEOBDMzyxwIZmYGOBDMzCxzIJiZGeBAMDOzzIFgZmaAA8HMzDIHgpmZAQ4EMzPLHAhmZgY4\nEMzMLHMgmJkZ4EAwM7PMgWBmZoADwczMMgeCmZkBDgQzM8scCGZmBjgQzMwscyCYmRngQDAzs8yB\nYGZmQMmBIOlGSRslLeqhzTclPS5poaRpZdZjZmbdK3uE8F3grO5elHQOcFREHA18HLiu5HrMzKwb\npQZCRMwDNvfQZCZwU277EDBK0pgyazIzs9qavQ9hHLC24vE6YHyTaqlbBGzb1uwqbCjati0tX2bN\nMKLZBQCqelxzdVBHRbNJwBFwxYwrmNUxa6+2szpnceXcK/d6voj2v/0tnHXVLDa/tZz+3b592x+x\n5gqenj2LQw+FH/wATjuttepvVnt7TWdnJ52dnf1+v6LkzRFJk4A7I+KEGq9dD3RGxJz8eBkwIyI2\nVrWLsuusx+rV8Pa3w3XXwXnnwZVXwh13wEMPwete1+zqrFXt2AGnnw4zZsCXvgQ//SlcdBHMmwdT\npza7OmtlkoiI6o3ubjV7yugO4KMAkk4BtlSHwWDyiU/A5ZfD+98Pw4enQDjiCLjqqmZXZq3s61+H\ngw6Cr3wFRoyAc8+Ff/xH+PjHPX1kjVXqCEHSLcAMYDSwEbgCGAkQETfkNt8iHYn0InBRRDxSo5+m\njxDmzoWPfQyWLYORI197fvVqeNvbYMUKOPjgppVnLWrbNpg8GR54YM/RwM6dcMIJKSze+97m1Wet\nra8jhNKnjIowGALhAx+AM86ASy7Z+7ULLoC3vhU+85nG12Wt7frr4b774Lbb9n7t5pvh1lvhJz9p\nfF02NDgQSrBpU9p6W70aDjhg79fnzYOLL4bFi0F1/+nNYPr0NOX4nvfs/dr27TB+PCxaBOPGNb42\na32ttg+hJdx8M7zvfbXDANIOwZ074Te/aWxd1toefhg2b4Yzz6z9+n77wQc/CDfd1Ni6rH05EOow\ne3aaFuqOBBdemA4VNKvXnDnwkY/AsB7WwgsvTBskZo3gQOjF+vXw1FNpFNCTmTPTXG8LzMDZIHHX\nXWm56cnJJ8PWrbByZWNqsvbmQOjF3XenozxG9HIK37HHpv8uWVJ+Tdb6Vq6ELVvSEWo9GTYMzj4b\n7rmnMXVZe3Mg9OInP0nHhfdGSu18RIjV46670vLS03RRl3PPTRsmZmVzIPTglVfg/vvhrG6v17on\nB4LV65574Jxz6mt75pnpPIUXXyy3JjMHQg9+/3s46qj6TzibMSMdOfLyy+XWZa3t1Vfh179Oy0s9\nDjggnefy61+XW5eZA6EH8+b1vjO50hvekPYl/O535dVkrW/+fJg4sW9ntp9+eholmJXJgdCDBx6A\nd7yjb+/ximu9mTfPy5UNTg6EbuzaBb/6Vd9GCJBW9HnzyqnJhob+BMKpp6ar6r76ajk1mYEDoVtL\nlqQh/aGH9u19p50GDz6Yzlw2qxbRv5HnQQfB4YfDwoXl1GUGDoRuPfhg2irrq0MOSTefj2C1PPFE\n+u2MCRP6/t7TTvO0kZXLgdCNhx+Gk07q33tPOim936zaQJark09OR76ZlcWB0I2HH+79LNLuvO1t\n8Mhev+pgNrDlavp0L1dWLgdCDa+8kqZ8Tjyxf++fPt0jBKttIIFw3HGwapVPULPyOBBqWLwYjjwy\nXX64P6ZPTzv/vGPZKkWkLfz+BsI++6TzXB59tNi6zLo4EGoYyFYcpDNLDzsMli8vriZrfU8+Cfvv\nD2PG9L8PTxtZmRwINTzySFrxBsLTRlatqOXKgWBlcSDU8Oij6doxAzFtGixYUEw9NjQsWlTMcuVA\nsLI4EKpEwGOPwfHHD6yf449P+yLMuhSxXB13XJqK9P4pK4MDocr69bDvvjB69MD6Oe649AVg1qWI\nQOjaB/HEE8XUZFbJgVCliJUW0mUGtmxJN7OXXoK1a+Hoowfel0efVhYHQpXHHktb9wM1bFjqxyuu\nASxdmsJg5MiB9+XlysriQKiyeHExIwTwimuvKWrkCZ6OtPI4EKoUueIef7xXXEuKXq68oWFlcCBU\n2LUrDe2PPbaY/hwI1mXx4uKWq2OOgZUrYceOYvoz6+JAqLBuXTrL+E1vKqa/Y46BZcuK6cta2/Ll\naXkowr77wrhxKRTMilRqIEg6S9IySY9L+myN1zskbZU0P9++UGY9vVm+HKZOLa6/8ePTUUYvvFBc\nn9Z6/vSntLFx5JHF9Tl1Kjz+eHH9mQGMKKtjScOBbwFnAuuB30m6IyKWVjWdGxEzy6qjL1asKDYQ\nhg1LR5asWDGwayNZa3viCZg4MV2crihTpvhaWVa8MkcIJwMrI2J1ROwA5gDn1WinEmvok+XL04pW\npKlTUyBY+/JyZa2izEAYB6yteLwuP1cpgFMlLZR0t6SCdrv1T9FTRuAtOSt+5AlpuXIgWNHKDISo\no80jwISIeCtwDXB7ifX0asUKb8lZ8crY0PByZWUobR8Cab9B5U+JTyCNEnaLiBcq7t8j6VpJB0XE\n89WdzZo1a/f9jo4OOjo6Ci32pZfgmWdg0qRCu2XKFLj66mL7tNayfDlccEGxfY4dmw5W2LatuKPi\nrPV1dnbS2dnZ7/crop4N+X50LI0AlgPvAjYAvwU+XLlTWdIYYFNEhKSTgR9GxKQafUVZdXZZtAg+\n9KH005lF2rw57VDctg00aPaWWCONHp3ORzn00GL7nTYNvv1tOOmkYvu1oUMSEVH3N09pU0YR8Spw\nKfBTYAlwa0QslXSxpItzs78EFklaAFwNnF9WPb15/PFiLjxW7cAD03HjTz9dfN82+G3ZAi+/PLBf\nSevO1KneP2XFKnPKiIi4B7in6rkbKu7/C/AvZdZQryefhMmTy+l78uTU/9ix5fRvg9eqVen8gzJG\nh0cd5ctgW7F8pnL25JPFnjhU6Ygj0heDtZ8yl6sjj0z9mxXFgZCtWpW+uMvgFbd9eUPDWokDIfOW\nnJXBy5W1EgcC6fdpn3qq+ENOu3hLrn2VGQjjx8OmTelaSWZFcCAAGzbAwQeno4HK4C259lVmIAwf\nDhMmpI0ZsyI4EEgrbVn7DyBtyT37bDr80NrHzp2wZk15I09Iy603NqwoDgReOzSwLMOHp1Dwllx7\nWbcO3vxmeP3ry/uMI4/0dKQVx4FAucP6Lp42aj+NWK48QrAiORBoXCB4S669eLmyVuNAoPx9COAt\nuXbkEYK1GgcCnjKycjRiQ8MjBCtS2wfC9u2wdSscdli5n+MVt/00YkPjoIPS0UybN5f7OdYe2j4Q\nVq1KhwUOK/kv0TW0L/kq3jaINGKEIHn0acVxIKwq9zjxLgcemFbe5/f66R8birZvTz9gU/RvINTi\n0acVpe0DYc0aOPzw8j9HSj+Us2ZN+Z9lzbd2bTqLuOyRJ6QNmtWry/8cG/raPhC6VtxGmDgxfZ4N\nfWvWNG65mjDBy5UVo+0DYc2a9EXdCBMmeITQLrxcWStq+0DwCMHK4OXKWlHbB0Kjt+S84rYHL1fW\nito6EHbuhKefhnHjGvN5Htq3j7VrGxcIY8bAli2+mq4NXFsHwjPPpBN7Xve6xnyeh/bto5E7lYcN\nSxs169Y15vNs6GrrQGjkPC+klfbpp9PIxIauiMYvW542siK0dSA0cp4XYJ99YPToFAo2dD33XPoN\nhDe+sXGf6UCwIrR9IDRyKw68H6EdNGO58kmPVoS2DoRG7vjr4v0IQ18zliuPEKwIbR0IHiFYGRo9\nFQkOBCtGWweCRwhWhkbvUAZPGVkx2joQPEKwMniEYK2q1ECQdJakZZIel/TZbtp8M7++UNK0Muup\n9NJL6Ydxxoxp1CcmXnGHvmYEwqhR6XDmbdsa+7k2tJQWCJKGA98CzgKOBT4s6S1Vbc4BjoqIo4GP\nA9eVVU+1devSeQGNuDxxZ2fn7vutNrSvrL0VNaP+IqeM6q2/6/Lqg21jw8tPaynz6/BkYGVErI6I\nHcAc4LyqNjOBmwAi4iFglKSGbLM3cp63cqE65JD0wykvvdSYzx6oVl8hGl3/zp2wcSOMHVtMf32p\nfzBOR3r5aS1lBsI4oHJ7ZV1+rrc240usabcNGxp3DaNKw4al32/esKHxn23l27QpXQ5l5MjGf7an\nI22gygyEen89WP1834A0KxAgbT2uX9+cz7ZybdhQ3Oigr8aO9YaGDYyipF99l3QKMCsizsqPPwfs\nioivVLS5HuiMiDn58TJgRkRsrOrLP01vZtYPEVG90d2tESXW8XvgaEmTgA3Ah4APV7W5A7gUmJMD\nZEt1GEDf/kFmZtY/pQVCRLwq6VLgp8Bw4DsRsVTSxfn1GyLibknnSFoJvAhcVFY9ZmbWs9KmjMzM\nrLUM6jOV6zmxbbCSNEHS/ZIWS3pM0mXNrqk/JA2XNF/Snc2upa8kjZJ0m6SlkpbkacmWIelzeflZ\nJGm2pAb9lFP/SLpR0kZJiyqeO0jSvZJWSPqZpFHNrLE73dT+1bzsLJT0Y0kHNLPGntSqv+K1yyXt\nknRQb/0M2kCo58S2QW4H8OmIOA44Bfhki9Xf5VPAEhp09FfBvgHcHRFvAf4DsLTJ9dQt73v7a2B6\nRJxAmnY9v5k11eG7pPW10j8A90bEFODn+fFgVKv2nwHHRcRbgRXA5xpeVf1q1Y+kCcC7gafq6WTQ\nBgL1ndg2aEXEMxGxIN//I+nLqEkHJPaPpPHAOcD/Ze/Dgwe1vDX3joi4EdI+rYjY2uSy+mIbaaNi\nP0kjgP2AQX2wckTMAzZXPb375NP83/c1tKg61ao9Iu6NiF354UM06Byp/ujmbw/wz8Df19vPYA6E\nek5sawl5a28aaaFqJV8H/g7Y1VvDQegI4A+SvivpEUnflrRfs4uqV0Q8D/xvYA3pKL0tEXFfc6vq\nlzEVRw5uBBp89bDCfAy4u9lF9IWk84B1EfFove8ZzIHQilMUe5G0P3Ab8Kk8UmgJkv4C2BQR82mx\n0UE2ApgOXBsR00lHsQ3W6Yq9SJoM/A0wiTSy3F/Sf21qUQMU6QiWlluvJf1P4JWImN3sWuqVN34+\nD1xR+XRv7xvMgbAeqLza0ATSKKFlSBoJ/Aj4QUTc3ux6+uhUYKakVcAtwBmSbm5yTX2xjrR19Lv8\n+DZSQLSKk4AHI+K5iHgV+DHp/0mr2SjpUABJhwGbmlxPn0i6kDRt2mphPJm0MbEwr8PjgYclHdLT\nmwZzIOw+sU3SPqQT2+5ock11kyTgO8CSiLi62fX0VUR8PiImRMQRpJ2Zv4iIjza7rnpFxDPAWklT\n8lNnAoubWFJfLQNOkbRvXpbOJO3cbzV3ABfk+xcALbNhJOks0pTpeRHxcrPr6YuIWBQRYyLiiLwO\nryMdoNBjIA/aQMhbRV0nti0Bbo2IljlKBDgN+Ajw5/mwzfl5AWtVLTfUB/4H8K+SFpKOMvpSk+up\nW0QsBG4mbRh1zQH/n+ZV1DtJtwAPAlMlrZV0EXAV8G5JK4Az8uNBp0btHwOuAfYH7s3r77VNLbIH\nFfVPqfjbV6pr/fWJaWZmBgziEYKZmTWWA8HMzAAHgpmZZQ4EMzMDHAhmZpY5EMzMDHAgmPWLpAMk\nXdLsOsyK5EAw658Dgf/e7CLMiuRAMOufq4DJ+QzWrzS7GLMi+Exls36QdDhwV/7xGrMhwSMEs/5p\nxUuCm/XIgWBmZoADway/XgDe2OwizIrkQDDrh4h4DviVpEXeqWxDhXcqm5kZ4BGCmZllDgQzMwMc\nCGZmljkQzMwMcCCYmVnmQDAzM8CBYGZmmQPBzMwA+P+c7puEaHGu0gAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7ca1f50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import xlim,ylim,plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Vp = 10.0 #Peak to peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vi = 4.0 #Input voltage (in volts)\n",
+ "Vo = 1.0 #Maximum output voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,11,400)\n",
+ "y = numpy.sin(x)\n",
+ "xlim((0,14))\n",
+ "ylim((0,3))\n",
+ "plot(x,5*y - 4)\n",
+ "plot(x,(1*x)/x,\"--\")\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"t\")\n",
+ "ylabel(\"Vo\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.7 , Page Number 862"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the graph :\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x7ed13b0>"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7e73810>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,ylabel,xlabel,title,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the graph :\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(-3*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')\n",
+ "annotate(\"Clipping level\",xy=(0.575,-2.9))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.8 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the output :\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7cc8310>"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nSUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7caa690>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,ylabel,xlabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 5.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vpos = 3.0 #Positive clipping voltage (in volts)\n",
+ "Vneg = -2.0 #Negative clipping voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the output :\"\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(3*t)/t,'--')\n",
+ "plot(t,(-2*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.9 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output waveform is as follows :\n",
+ "The parts below and above the clipping levels are clipped off.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7d25710>"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nyJEW5s0AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x798b430>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vpos = 3.0 #Positive clipping voltage (in volts)\n",
+ "Vneg = -2.0 #Negative clipping voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output waveform is as follows :\\nThe parts below and above the clipping levels are clipped off.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 10*y)\n",
+ "plot(t,(-2*t)/t,'--')\n",
+ "plot(t,(3*t)/t,'--')\n",
+ "ylim( (-11,11) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.10 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 5.3 kilo-ohm.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x76bb7f0>"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEZCAYAAACaWyIJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADlhJREFUeJzt3X2sZAdZx/Hvz24FoRRoSGhLF5bwYrQaKZKKgnYEwQWU\nCiYgCQjRAKlioUKFgrF3YwI1VWwCgX/AQlDeAojUILIFxrdIsbWFFkpoY1vb0hcL2ABS3XYf/5ih\nvWz3bu/cO3vPzH2+n+Rmz7ydeTI5O997ZubOSVUhSerrh4YeQJI0LEMgSc0ZAklqzhBIUnOGQJKa\nMwSS1JwhkKTmDIFaSfKyJJcn+W6Sm5K8I8mD13nba5M8bY6zzHV90kYZArWR5LXAOcBrgaOBJwOP\nAvYmOXIdqyggcxxp3uuTNsQQqIUkRwMrwKuq6tNVdVdVXQe8ANgFvDjJe5L88arbjJJcP11+H/BI\n4IIk307yuiS7kuxP8vIkNyb5+jQ237/9TOs77A+CtIYdQw8gbZGfA+4PfGz1mVX13SSfBJ4B/O9a\nN66qlyR5KvDbVfVZgCS7phePgMcCjwE+m+SyqvoMk9/4D/odLgdbnzQU9wjUxcOA26pq/0Euu2l6\n+UbtqarvVdUVwPnAi1Zd5ks/WniGQF3cBjwsycG2+eOnl2/U9auW/3O6PmlpGAJ18a9MXvr59dVn\nJjkK2A1cCHwXeMCqi489YB1rfVXvIw9YvnG6vNH1SVvKEKiFqrod2AO8LckvJzly+hr/h5n8Rv8+\n4DLg2UkemuRY4DUHrOYWJu8DHOgPk/xIkhOBlwEfmp6/0fVJW8oQqI2qOhd4I/CnwO3A54HrgKdX\n1T4mMfgicC3wKeCD/OBv7W9h8qT/rSS/v+r8fwCuZrJXcW5VXTg9f6Prk7ZUPDCNtDHTPYr/AHas\n8Sa0tBTcI5Ck5gyBtDnuUmvp+dKQJDXnHoEkNbfQXzGRxN0VSdqAqlr3X7Uv/B5BVfkzp5+zzz57\n8Bm204+Pp4/lov7MauFDIEk6vAyBJDVnCBoZjUZDj7Ct+HjOj4/lsBb646NJapHnk6RFlITaTm8W\nS5IOL0MgSc0ZAklqzhBIUnOGQJKaMwSS1JwhkKTmDIEkNWcIJKk5QyBJzRkCSWrOEEhSc4OHIMkR\nSS5NcsHQs0hSR4OHAHg18BXArxmVpAEMGoIkJwDPBt4FrPsrUyVJ8zP0HsGfA2cC+weeQ5La2jHU\nHSf5FeDWqro0yWit662srNy9PBqNPJKRJB1gPB4zHo83fPvBjlCW5M3AS4A7gfsDRwMfrarfXHUd\nj1AmSTOa9QhlC3GoyiSnAK+rql894HxDIEkzWuZDVfqML0kDWIg9grW4RyBJs1vmPQJJ0gAMgSQ1\nZwgkqTlDIEnNGQJJas4QSFJzhkCSmjMEktScIZCk5gyBJDVnCCSpOUMgSc0ZAklqzhBIUnOGQJKa\nMwSS1JwhkKTmDIEkNWcIJKk5QyBJzRkCSWrOEEhSc4ZAkprbMfQA2hqveQ3cdBMcd9zQk2wPn/88\nfOQjcMIJQ0+y/C66CM48E574xKEn6csQNHHVVfDAB8KuXUNPsj2cfz7cccfQU2wPt98O11wDz3/+\n0JP0laoaeoY1JalFnm+ZvOIV8KQnTf7V5h1/PFx88eRfbc4ll0y2y0suGXqS7SMJVZX1Xt/3CCSp\nOUMgSc0ZAklqzhBIUnOGQJKaMwSS1JwhkKTmDIEkNWcIJKm5QUOQZGeSzyX5cpIrkpw+5DyS1NHQ\n3zW0Dzijqi5LchRwSZK9VXXlwHNJUhuD7hFU1c1Vddl0+TvAlYDf3iJJW2hh3iNIsgs4Cbho2Ekk\nqZeFCMH0ZaGPAK+e7hlIkrbI0O8RkORI4KPAX1bVxw+8fGVl5e7l0WjEaDTastkkaRmMx2PG4/GG\nbz/o8QiSBHgv8I2qOuMgl3s8gjnxeATz5fEI5sfjEczfsh2P4CnAi4FfTHLp9Gf3wDNJUiuDvjRU\nVf/M8DGSpNZ8Epak5gyBJDVnCCSpOUMgSc0ZAklqzhBIUnOGQJKaMwSS1JwhkKTmDIEkNWcIJKk5\nQyBJzRkCSWrOEEhSc4ZAkpozBJLUnCGQpOYMgSQ1ZwgkqTlDIEnNGQJJas4QSFJzhkCSmjMEktSc\nIZCk5gyBJDVnCCSpOUMgSc0ZAklqzhBIUnOGQJKaMwSS1JwhkKTmDIEkNWcIJKk5QyBJzQ0agiS7\nk3w1yVVJXj/kLJLU1Y71XCnJqcAvTE+Oq+qCzd5xkiOAtwO/BNwI/FuST1TVlZtdtyRp/e5zjyDJ\nOcDpwJeBrwCnJ3nLHO77ZODqqrq2qvYBHwROncN6JUkzWM8ewXOAJ1TVXQBJ3gNcBpy1yft+BHD9\nqtM3AD+zyXVKkma0nhAU8BDgG9PTD5met1nrWsfKysrdy6PRiNFoNIe7lqTtYzweMx6PN3z7NUOQ\n5B3A+4E3A/+e5HNAgFOAN2z4Hu9xI7Bz1emdTPYKfsDqEEiS7u3AX5L37Nkz0+0PtUfwNeBc4Hjg\nQuA6Ji8Jvb6qbp510IO4GHhckl3A14EXAi+aw3olSTNY883iqjqvqn6WyR7AVcDzmYThlUkev9k7\nrqo7gVcBf8/kTegP+YkhSdp69/mpoemnes6pqicAvwE8D5jLE3ZV/V1V/WhVPbaq5vFJJEnSjNbz\n8dEdSZ6b5P3Ap4CvMtk7kCRtA4d6s/iZTPYAngN8AfgA8Iqq+s4WzSZJ2gKHerP4DUye/F9XVd/c\nonkkSVtszRBU1dO2chBJ0jD89lFJas4QSFJzhkCSmjMEktScIZCk5gyBJDVnCCSpOUMgSc0ZAklq\nzhBIUnOGQJKaMwSS1JwhkKTmDIEkNWcIJKk5QyBJzRkCSWrOEEhSc4ZAkpozBJLUnCGQpOYMgSQ1\nZwgkqTlDIEnNGQJJas4QSFJzhkCSmjMEktScIZCk5gyBJDVnCCSpucFCkOTcJFcm+WKSjyV58FCz\nSFJnQ+4RfBo4sap+CvgacNaAs0hSW4OFoKr2VtX+6cmLgBOGmkWSOluU9wh+C/jk0ENIUkc7DufK\nk+wFjj3IRW+sqgum13kT8H9V9f7DOYsk6eAOawiq6hmHujzJy4BnA09f6zorKyt3L49GI0aj0XyG\nk6RtYjweMx6PN3z7wxqCQ0myGzgTOKWq7ljreqtDIEm6twN/Sd6zZ89Mtx/yPYK3AUcBe5NcmuQd\nA84iSW0NtkdQVY8b6r4lSfdYlE8NSZIGYggkqTlDIEnNGQJJas4QSFJzhkCSmjMEktScIZCk5gyB\nJDVnCCSpucG+YmK9vve9oSfYHu68E+66a+gpto+qybbp9rl5d9wxeTw1nIUPwTHHDD3B9rBv3+Q/\n22mnDT3J9nDbbXDiiZAMPcny278f7ne/oafoLbXAKU5SizyfJC2iJFTVun9N8T0CSWrOEEhSc4ZA\nkpozBJLUnCGQpOYMgSQ1ZwgkqTlDIEnNGQJJas4QSFJzhkCSmjMEktScIZCk5gyBJDVnCCSpOUMg\nSc0ZAklqzhBIUnOGQJKaMwSS1JwhkKTmDIEkNWcIJKm5QUOQ5LVJ9ic5Zsg5JKmzwUKQZCfwDOC6\noWaQJA27R/BW4A8GvH9JEgOFIMmpwA1V9aUh7l+SdI8dh2vFSfYCxx7kojcBZwHPXH31tdazsrJy\n9/JoNGI0Gs1nQEnaJsbjMePxeMO3T1XNb5r13GHyE8BngP+ZnnUCcCNwclXdesB1a6vnk6Rll4Sq\nWvMX7Htdf+gn2iTXAD9dVd88yGWGQJJmNGsIFuHvCHyml6QBDb5HcCjuEUjS7JZxj0CSNCBDIEnN\nGQJJas4QSFJzhkCSmjMEktScIZCk5gyBJDVnCCSpOUMgSc0ZAklqzhBIUnOGQJKaMwSS1JwhaGQz\nh7LTvfl4zo+P5bAMQSP+Z5svH8/58bEcliGQpOYMgSQ1t/CHqhx6BklaRrMcqnKhQyBJOvx8aUiS\nmjMEktTcwoYgye4kX01yVZLXDz3PsktybZIvJbk0yReGnmeZJPmLJLckuXzVecck2Zvka0k+neQh\nQ864TNZ4PFeS3DDdPi9NsnvIGZdFkp1JPpfky0muSHL69PyZts+FDEGSI4C3A7uBHwdelOTHhp1q\n6RUwqqqTqurkoYdZMucz2RZXewOwt6oeD3xmelrrc7DHs4C3TrfPk6rqUwPMtYz2AWdU1YnAk4Hf\nnT5XzrR9LmQIgJOBq6vq2qraB3wQOHXgmbaDdX+KQPeoqn8CvnXA2c8F3jtdfi/wa1s61BJb4/EE\nt8+ZVdXNVXXZdPk7wJXAI5hx+1zUEDwCuH7V6Rum52njCrgwycVJXj70MNvAw6vqlunyLcDDhxxm\nm/i9JF9M8m5faptdkl3AScBFzLh9LmoI/Ezr/D2lqk4CnsVk9/Hnhx5ou6jJZ7DdZjfnncCjgScA\nNwF/Nuw4yyXJUcBHgVdX1bdXX7ae7XNRQ3AjsHPV6Z1M9gq0QVV10/Tf/wL+msnLb9q4W5IcC5Dk\nOODWgedZalV1a00B78Ltc92SHMkkAu+rqo9Pz55p+1zUEFwMPC7JriQ/DLwQ+MTAMy2tJA9I8qDp\n8gOBZwKXH/pWug+fAF46XX4p8PFDXFf3Yfpk9X3Pw+1zXZIEeDfwlao6b9VFM22fC/uXxUmeBZwH\nHAG8u6reMvBISyvJo5nsBQDsAP7Kx3P9knwAOAV4GJPXW/8I+Bvgw8AjgWuBF1TVfw814zI5yON5\nNjBi8rJQAdcAr1z1GrfWkOSpwD8CX+Kel3/OAr7ADNvnwoZAkrQ1FvWlIUnSFjEEktScIZCk5gyB\nJDVnCCSpOUMgSc0ZAmlGSR6c5LSh55DmxRBIs3so8DtDDyHNiyGQZncO8JjpAVT+ZOhhpM3yL4ul\nGSV5FPC3VfWTQ88izYN7BNLsPICKthVDIEnNGQJpdt8GHjT0ENK8GAJpRlX1DeBfklzum8XaDnyz\nWJKac49AkpozBJLUnCGQpOYMgSQ1ZwgkqTlDIEnNGQJJas4QSFJz/w+YE2ojS8AWzAAAAABJRU5E\nrkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6827490>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 8.0 #Peak voltage (in volts) \n",
+ "Vo = 2.7 #Maximum acceptance voltage (in volts)\n",
+ "Io = 1.0 * 10**-3 #maximum output current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR1 = Vp - Vo #Maximum voltage drop across R1 (in volts) \n",
+ "R1min = VR1 / Io #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",R1min * 10**-3,\" kilo-ohm.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "k = numpy.arange(0.0001, 5.0, 0.0005)\n",
+ "k1= numpy.arange(5.0, 10.0, 0.0005)\n",
+ "k2= numpy.arange(10.0, 15.0, 0.0005)\n",
+ "k3= numpy.arange(15.0, 20.0, 0.0005)\n",
+ "\n",
+ "m=numpy.arange(-2.7,2.7, 0.0005)\n",
+ "x1=(0.001*m)/m\n",
+ "x5=(5*m)/m\n",
+ "x10=(10*m)/m\n",
+ "x15=(15*m)/m\n",
+ "\n",
+ "plot(k,-2.7*k/k,'b')\n",
+ "plot(k1,2.7*k1/k1,'b')\n",
+ "plot(k2,-2.7*k2/k2,'b')\n",
+ "plot(k3,2.7*k3/k3,'b')\n",
+ "plot(x1,m,'b')\n",
+ "plot(x5,m,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "ylim( (-5,5) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.11 , Page Number 868"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x769e750>"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nsM46bRu247gNs7eUrd2yljK1YbqMM4xKu2WZEz0sXA3TbZi9YfJk+PrXy53owW2YwynNzL7XV7fM\nym2YvaGs7Za13H13soxCr7dhemY/hF5f3TIrt2H2hrK2W9ay0UZuw6ylNDP7MqxumZXbMLtb2dst\naynDapie2dfQazcTbxW3YXa3K64od7tlLV4Nc3ClSPZlWt0yq8MO803Ju1XZ2y1r8WqYg+v5Mk6v\n3ky8VSptmCecANtvX3Q0Vq9p05LlPsrebllLr7dhuowziF69mXirVNowPQvqLqeeWq7VLbOq3JT8\nnHOKjqRz9PTMvqyrW2blNszu4nbL+vTyapie2Q9Q1tUts3IbZndxu2V9vBrmO/X0zN7tlvV75hkY\nP95tmJ3O7ZbZ9Gobpmf2VcpyM/FWWX11t2F2g7KvbpmV2zAX6tlk73bL7NyG2fnKcjPxVqm0YXod\nqB4t45TtZuKt4tUwO5vbLRvTi22YLuOkynYz8Vbxapidze2Wjam0YZZ9Ncyem9lHwCabwHe/69Ut\nG+E2zM7kdsvm9Fobpmf2eHXLZrkNszOddRbssosTfaPchtmDM3u3WzbPq2F2FrdbtkYv3ZS842b2\nkraX9IikP0s6Os+xAJ5/3qtbtoJXw+wsbrdsjcpNycvahplbspc0AvgJsD2wLrCPpFxvCHjGGe1t\nt+zv72/PQDkZKv5uaMPs5eNfrVPbLbvt+Fe3YXZb7K2Q58x+E+DxiJgREf8Efgnsktdg8+bBz36W\nJKl26fZ/MEPF/4lPJPX7665rXzxZ9fLxr5g2LTmpuNtu+ceTVTce/69+NVkc8Zpr+osOpe3yTPar\nAjOrnj+bbsuFV7dsLa+G2RkmT3a7ZStVbkp+771FR9J+eSb7tp759Y0cWm+ffZKWtT//uehIymnO\nHJgyBb7ylaIj6S0TJyb/rt96q+hI2iu3bhxJmwKTImL79PkxwIKIOLHqPcW1ApmZdbGs3Th5JvuR\nwKPANsDzwJ+AfSLi4VwGNDOzmkbmteOImC/pUOB/gRHA2U70ZmbFKPSiKjMza4/Clkto9wVXrSZp\nhqT7JU2V9Kei4xmOpHMkzZY0vWrbcpKul/SYpOskdeyC0DXinyTp2fTvYKqkjrxluqSxkm6S9KCk\nByRNTLd3xfEfIv5uOf5jJN0p6T5JD0k6Pt3eLce/VvyZjn8hM/v0gqtHgW2B54C76LJ6vqSngA0j\n4m9Fx1IPSZ8AXgXOj4j1020/AOZExA/SL9xlI+Lfi4yzlhrxHwfMjYgfFhrcMCStBKwUEfdJWgK4\nB9gV+BJdcPyHiH9PuuD4A0haLCJeT88l/gE4EtiZLjj+UDP+bchw/Iua2bf1gqscZTobXqSIuBV4\nacDmnYHKogjnkfwH7kg14ocu+DuIiL9ExH3p41eBh0muOemK4z9E/NAFxx8gIl5PH44mOYf4El1y\n/KFm/JDh+BeV7Nt6wVVOAvi9pLslfbnoYBq0YkTMTh/PBlYsMpgGHSZpmqSzO/XH8GqSxgETgDvp\nwuNfFf8f001dcfwlLSLpPpLjfFNEPEgXHf8a8UOG419Usu+Fs8KbR8QE4DPAIWmZoWuly49229/L\nacCawHhgFvDfxYYztLQEMgX4RkTMrX6tG45/Gv+vSeJ/lS46/hGxICLGA6sBW0r65IDXO/r4DxJ/\nHxmPf1HJ/jlgbNXzsSSz+64REbPS318ALiMpTXWb2Wk9FkkrA38tOJ5MIuKvkQLOooP/DiSNIkn0\nF0TE5enmrjn+VfFfWIm/m45/RUS8DFwNbEgXHf+Kqvg3ynr8i0r2dwMfkDRO0mhgL+DKgmLJTNJi\nkpZMHy8OfBqYPvSnOtKVwBfTx18ELh/ivR0n/Q9asRsd+ncgScDZwEMR8eOql7ri+NeKv4uO//KV\nEoekRYFPAVPpnuM/aPyVL6rUsMe/sD57SZ8BfszCC66OLySQBkhak2Q2D8mFab/o9PglXQxsBSxP\nUvf7LnAFcAmwOjAD2DMi/l5UjEMZJP7jgD6SH2EDeAr4alUNtmNI2gK4BbifhaWCY0iuKu/4418j\n/mOBfeiO478+yQnYRdJfF0TESZKWozuOf634zyfD8fdFVWZmJdBz96A1M7N3c7I3MysBJ3szsxJw\nsjczKwEnezOzEnCyNzMrASd76zqSlpb0tarnq0i6NKexdpQ0KX28q6R1ql77Ybcvk2Hl4WRv3WhZ\n4OuVJxHxfETskdNYR5CsQQLJqojrVr12GnBUPTuRtGyL4zLLxMneutEJwFrpDRtOlLSG0puaSDpA\n0uXpzSieknSopCMl3SvpjkrSlbSWpGvSVUtvkfTBgYNIGguMjojZkjYDdgJOSsddMyL+DIyrc7XH\nuyRdKOmT6fIDZm3lZG/d6GjgiYiYEBFH8+41vT9MslbIxsB/Aq9ExAbAHcD+6Xt+BhwWERuRzM7/\nZ5BxNgfuBYiI20nWUjkyHfep9D1TgY/XEfPawMXAocCDko4ZsLaMWa5yu+G4WY6GmxnfFBGvAa9J\n+jtwVbp9OvCRdPG6zYBLqybZowfZz+okS8cONfbzwLjhAo6IBSSrFV4taXmSn06ekfTxiLh7uM+b\nNcvJ3nrRvKrHC6qeLyD5N78I8FJ6P4LhDEzuAxeT0sBtafmnsorraRHxs3T70sDeJCssziO5LWFH\nrhRpvcfJ3rrRXGDJBj4ngIiYm9bzPxcRv05r6OtHxP0D3v80sMWAcZca8J6Vgf7qDRExk+RuTgsH\nli4ENiVZZXG/iHiigfjNGuaavXWdiHgRuE3SdEknksysK7PrgXccGvi48nxf4KD0Vm8PkNyPdKDb\ngA2qnv8SOCo92btmum0CybmA4fwKWDsijnWityJ4iWOzIUi6Edi3cmeyAa+tDZwcEYN9UZh1FM/s\nzYZ2MnBwjdcOBn7QxljMGuaZvZlZCXhmb2ZWAk72ZmYl4GRvZlYCTvZmZiXgZG9mVgJO9mZmJfD/\nAaTWw6sIdNJsAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x63429b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vi = 3.0 #Input voltage (in volts) \n",
+ "Vo = Vi - 2.0 #Output voltage (in volts) \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0,2,100)\n",
+ "t1 = numpy.linspace(2,4,100)\n",
+ "t2 = numpy.linspace(4,9,100)\n",
+ "t3 = numpy.linspace(9,11,100)\n",
+ "t4 = numpy.linspace(11,21,100)\n",
+ "t5 = numpy.linspace(21,23,100)\n",
+ "t6 = numpy.linspace(23,28,100)\n",
+ "t7 = numpy.linspace(28,30,100)\n",
+ "t8 = numpy.linspace(30,32,100)\n",
+ "\n",
+ "ylim((0,5))\n",
+ "plot(t1,0.5*t1 -1,'b')\n",
+ "plot(t2,(1*t2)/t2,'b')\n",
+ "plot(t3,1 -0.5*(t3-9))\n",
+ "plot(t5,0.5*(t5-21),'b')\n",
+ "plot(t6,(1*t6)/t6,'b')\n",
+ "plot(t7,1-0.5*(t7-28),'b')\n",
+ "plot(t8,(0*t8/t8),'b')\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"time (t) ->\")\n",
+ "ylabel(\"Output voltage (Vo) ->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.12 , Page Number 869"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:27: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x775f510>"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\npvtxRpEAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6342f30>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import ylim,xlim,plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VSmax = 20.0 #peak voltage (in volts)\n",
+ "VD2 = 0.7 #Voltage drop across diode D2 (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vomin = 5.0 - VD2 #Minimum output voltage (in volts) \n",
+ "Vomax = 10.7 #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0,4,100)\n",
+ "t1 = numpy.linspace(4,10,100)\n",
+ "t2 = numpy.linspace(10,20,100)\n",
+ "t3 = numpy.linspace(20,24,100)\n",
+ "t4 = numpy.linspace(24,30,100)\n",
+ "t5 = numpy.linspace(30,40,100)\n",
+ "\n",
+ "ylim((0,15))\n",
+ "xlim((0,40))\n",
+ "plot(t,(4.3*t)/t,'b')\n",
+ "plot(t1,4.3 + 6.4/6*(t1 - 4))\n",
+ "plot(t2,(10.7*t2)/t2,'b')\n",
+ "plot(t3,(4.3*t3)/t3,'b')\n",
+ "plot(t4,4.3 + 6.4/6*(t4 - 24),'b')\n",
+ "plot(t5,(10.7*t5)/t5,'b')\n",
+ "\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"t (in ms) ->\")\n",
+ "ylabel(\"Vo (in volt) ->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.13 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:15: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x6373a70>"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n5XxxE9AAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6342ef0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 48.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,2 * math.pi,100)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,24 + 24*y)\n",
+ "plot(x,(24*x)/x,'--')\n",
+ "xlabel(\"Time(t)\")\n",
+ "ylabel(\"Output voltage (Vo)\")\n",
+ "title(\"Output waveform\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.14 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x64a0b30>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6264e10>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title,subplot\n",
+ "\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vi = 10.0 #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "#Positive Clipping\n",
+ "subplot(211)\n",
+ "k1= numpy.arange(0.0001, 0.500, 0.0005)\n",
+ "k2= numpy.arange(0.500, 1.000, 0.0005)\n",
+ "k3= numpy.arange(1.000,1.500, 0.0005)\n",
+ "k4= numpy.arange(1.500,2.000, 0.0005)\n",
+ "m = numpy.arange(-10,10,0.0005)\n",
+ "\n",
+ "x5=(0.0500*m)/m\n",
+ "x10=(0.500*m)/m\n",
+ "x15=(1.000*m)/m\n",
+ "x25=(1.500*m)/m\n",
+ "\n",
+ "plot(k1,10*k1/k1,'b')\n",
+ "plot(k2,-10*k2/k2,'b')\n",
+ "plot(k3,10*k3/k3,'b')\n",
+ "plot(k4,-10*k4/k4,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "plot(x25,m,'b')\n",
+ "\n",
+ "ylim( (-12,12) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('Positive Clipping')\n",
+ "title('Output Waveform 1')\n",
+ "\n",
+ "#Negative Clipping\n",
+ "subplot(212)\n",
+ "k1= numpy.arange(0.0001, 0.500, 0.0005)\n",
+ "k2= numpy.arange(0.500, 1.000, 0.0005)\n",
+ "k3= numpy.arange(1.000,1.500, 0.0005)\n",
+ "k4= numpy.arange(1.500,2.000, 0.0005)\n",
+ "m = numpy.arange(-20,0,0.0005)\n",
+ "\n",
+ "x5=(0.500*m)/m\n",
+ "x10=(0.500*m)/m\n",
+ "x15=(1.000*m)/m\n",
+ "x25=(1.500*m)/m\n",
+ "\n",
+ "plot(k1,0*k1/k1,'b')\n",
+ "plot(k2,-20*k2/k2,'b')\n",
+ "plot(k3,0*k3/k3,'b')\n",
+ "plot(k4,-20*k4/k4,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "plot(x25,m,'b')\n",
+ "\n",
+ "ylim( (-22,0) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform 2')"
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_3.ipynb
new file mode 100644
index 00000000..cb56befb
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_3.ipynb
@@ -0,0 +1,119 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3fc338a030e4c2c109e9bc75c84604c2cf87b091971f96fe505c5b211472f4a5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 34 , Time Base Circuits"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 34.1, Page Number 883"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "C = 0.4 * 10**-6 #Capacitance (in Farad)\n",
+ "n = 0.57 #Ratio of peak-peak voltage to the supply voltage \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1 / (2.3 * R * C * math.log10(1/(1-n))) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of sweep is \",round(f,2),\" Hz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of sweep is 29.66 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 34.2 , Page Number 883"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 0.62 #Ratio of peak-peak voltage to the supply voltage \n",
+ "R = 5.0 * 10**3 #Resistance (in ohm)\n",
+ "C = 0.05 * 10**-6 #Capacitor (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 2.3 * R * C * math.log10(1/(1-n)) #Time period of oscillation (in seconds)\n",
+ "f = 1/T #Frequency of oscillation (in Hertz) \n",
+ "f1 = 50.0 #New frequency (in Hertz)\n",
+ "T1 = 1/f1 #New time period of oscillation (in seconds)\n",
+ "R1 = T1 / (2.3 * C * math.log10(1/(1-n))) #New Resistance (in ohm)\n",
+ "f2 = 50.0 #Another new frequency (in Hertz)\n",
+ "C2 = 0.5 * 10**-6 #Capacitance (in Farad) \n",
+ "T2 = 1/f2 #Another new time period (in seconds)\n",
+ "R2 = T2 / (2.3 * C2 * math.log10(1/(1-n))) #New Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The time period and frequency of oscillation in case 1 is \",round(T * 10**3,2),\" ms and \",round(f),\" Hz.\"\n",
+ "print \"New value of R is \",round(R1 * 10**-3),\" kilo-ohm.\"\n",
+ "print \"Value of R with C is 0.5 micro-Farad is \",round(R2 * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time period and frequency of oscillation in case 1 is 0.24 ms and 4139.0 Hz.\n",
+ "New value of R is 414.0 kilo-ohm.\n",
+ "Value of R with C is 0.5 micro-Farad is 41.4 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_3.ipynb
new file mode 100644
index 00000000..436d3a0b
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_3.ipynb
@@ -0,0 +1,660 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 35 , Operational Amplifiers (OP - Amps)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.1 , Page Number 895"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common-mode rejection ratio is 90.0 dB.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Adm = 200000.0 #Differential gain\n",
+ "Acm = 6.33 #Common mode gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "CMRR = 20 * math.log10(Adm / Acm) #Common-mode rejection ratio (in Decibels) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The common-mode rejection ratio is \",round(CMRR),\" dB.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.2 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common-mode gain is 0.949 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "CMRR = 90.0 #Common-mode rejection ratio (in Decibels)\n",
+ "Adm = 30000.0 #Differential gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Acm = 10**(-CMRR/20.0) * Adm #Common-mode gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The common-mode gain is \",round(Acm,3),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.3 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum operating frequency for the amplifier is 796.0 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second)\n",
+ "Vpk = 100.0 * 10**-3 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fmax = Slew_rate / (2 * math.pi * Vpk) #Maximum operating frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum operating frequency for the amplifier is \",round(fmax * 10**-3),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.4 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum operating frequency for TLO 741 is 7.958 kHz.\n",
+ "The maximum opearing frequency for TLO 81 is 206.9 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Slew_rate1 = 0.5 * 10**6 #Slew rate (in volt per second)\n",
+ "Slew_rate2 = 13.0 * 10**6 #Slew rate (in volt per second)\n",
+ "Vpk = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fmax = Slew_rate1 / (2 * math.pi * Vpk) #Maximum operating frequency1 (in Hertz)\n",
+ "fmax1 = Slew_rate2 / (2 * math.pi * Vpk) #Maximum operating frequency2 (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum operating frequency for TLO 741 is \",round(fmax * 10**-3,3),\" kHz.\\nThe maximum opearing frequency for TLO 81 is \",round(fmax1 * 10**-3,1),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.5 , Page Number 899"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum allowable input voltage (Vin) is 40.0 mV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 200.0 #Closed loop voltage gain\n",
+ "Vout = 8.0 #Output voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vin = - Vout / ACL #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum allowable input voltage (Vin) is \",abs(Vin * 10**3),\" mV.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.6 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum possible output value could be between 10.0 V and -10.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 150.0 #Closed loop voltage gain\n",
+ "Vin = 200.0 * 10**-3 #Input a.c. voltage (in volts) \n",
+ "V = 12.0 #Voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = ACL * Vin #Output voltage (in volts)\n",
+ "Vpkplus = V -2.0 #maximum positive peak voltage (in volts)\n",
+ "Vpkneg = -V + 2.0 #maximum negative peagk voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum possible output value could be between \",Vpkplus,\" V and \",Vpkneg,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.7 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of output voltage increases from 1.0 V to 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in volts)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in volts)\n",
+ "vinmin = 0.1 #Input voltage minimum (in volts)\n",
+ "vinmax = 0.4 #Input voltage maximum (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain\n",
+ "Voutmin = ACL * vinmin #Minimum output voltage (in volts)\n",
+ "Voutmax = ACL * vinmax #Maximum output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of output voltage increases from \",Voutmin,\" V to \",Voutmax,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.8 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage of the inverting amplifier is 2.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "V1 = 1.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain \n",
+ "vo = ACL * V1 #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage of the inverting amplifier is \",vo,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.9 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Closed-loop gain is 10.0 .\n",
+ "Input impedance is 10.0 kilo-ohm.\n",
+ "Output impedance is 80.0 ohm.\n",
+ "Common-mode rejection ratio is 10000.0 .\n",
+ "Maximum operating frequency is 15.9 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "ACM = 0.001 #Common-mode gain \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second) \n",
+ "Vpk = 5.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain\n",
+ "Zin = R1 #Input impedance of the circuit (in ohm)\n",
+ "Zout = 80.0 #Output impedance of the circuit (in ohm)\n",
+ "CMRR = ACL / ACM #Common mode rejection ratio \n",
+ "fmax = Slew_rate / (2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Closed-loop gain is \",ACL,\".\\nInput impedance is \",Zin * 10**-3,\" kilo-ohm.\\nOutput impedance is \",Zout,\" ohm.\\nCommon-mode rejection ratio is \",CMRR,\".\\nMaximum operating frequency is \",round(fmax * 10**-3,1),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.10 , Page Number 904"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Closed loop gain is 11.0 .\n",
+ "CMRR is 11000.0 .\n",
+ "Maximum operating frequency is 14.47 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second) \n",
+ "Vpk = 5.5 #Peak voltage (in volts)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm) \n",
+ "ACM = 0.001 #Common mode gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = (1 + R2/R1) #Closed loop voltage gain \n",
+ "CMRR = ACL / ACM #Common-mode rejection ratio \n",
+ "vin = 1.0 #Voltage (in volts)\n",
+ "Vout = ACL * vin #Output voltage (in volts)\n",
+ "Vpk = 5.5 #Peak-to-peak voltage (in volts) \n",
+ "fmax = Slew_rate/(2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Closed loop gain is \",ACL,\".\\nCMRR is \",CMRR,\".\\nMaximum operating frequency is \",round(fmax * 10**-3,2),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.11 , Page Number 905"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ACL is 1.0 .\n",
+ "CMRR is 1000.0 .\n",
+ "fmax is 26.5 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 1.0 #Closed loop gain\n",
+ "Acm = 0.001 #Common mode gain \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in Volt per second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "CMRR = ACL / Acm #Common-mode rejection ratio \n",
+ "vin = 1.0 #Voltage (in volts)\n",
+ "Vout = ACL * vin #Output voltage (in volts)\n",
+ "Vpk = 3.0 #Peak-to-peak voltage (in volts) \n",
+ "fmax = Slew_rate/(2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"ACL is \",ACL,\".\\nCMRR is \",CMRR,\".\\nfmax is \",round(fmax * 10**-3,1),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.12 , Page Number 906"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 3.52 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 0.1 #Voltage (in volts)\n",
+ "V2 = 1.0 #Voltage (in volts)\n",
+ "V3 = 0.5 #Voltage (in volts) \n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R4 = 22.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = (-R4/R1*V1) + (-R4/R2*V2) + (-R4/R3*V3) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",abs(Vout),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.13 , Page Number 907"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:20: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x639d870>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6287db0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylabel,xlabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#V1 = 2 * sin(wt) #Voltage (in volts)\n",
+ "V2 = 5.0 #Voltage (in volts)\n",
+ "V3 = -100.0 * 10**-3 #Voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "#Vo = 4 * V1 + V2 + 0.1 * V3 #Output voltage\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,10,200)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,-15 + 8*y)\n",
+ "plot(x,(-15*x)/x,'')\n",
+ "title(\"output waveform\")\n",
+ "ylabel(\"output voltage (Vo)\")\n",
+ "xlabel(\"t\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.14 , Page Number 908"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = -2.0 #Voltage (in volts)\n",
+ "V2 = 2.0 #Voltage (in volts)\n",
+ "V3 = -1.0 #Voltage (in volts) \n",
+ "R1 = 200.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 250.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 500.0 * 10**3 #Resistance (in ohm)\n",
+ "Rf = 1.0 * 10**6 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = (-Rf/R1*V1) + (-Rf/R2*V2) + (-Rf/R3*V3) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",Vout,\" V.\""
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_3.ipynb
new file mode 100644
index 00000000..82205bce
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_3.ipynb
@@ -0,0 +1,195 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:18142c4d926311a435ed592a7ec40be6e57bd0d23bda115aad3c84afb60326d1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 36 , Basic Op-Amp Applications"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.1 , Page Number 920"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "f1 = 159.0 #Frequency (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1.0/(2*math.pi*R2*f1) #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance required in the circuit is \",round(C * 10**6,2),\" micro-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance required in the circuit is 0.01 micro-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.2 , Page Number 921"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in ohm)\n",
+ "Rf = 51.0 * 10**3 #Resistance (in ohm)\n",
+ "Cf = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1.0/(2*math.pi*Rf*Cf) #Frequency (in Hertz)\n",
+ "fmin = 10* f #Minimum frequency required (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The cut-off frequency of an integrator circuit is \",round(f),\" Hz.\"\n",
+ "print \"Minimum non-linear operating frequency is \",round(fmin),\" Hz.\"\n",
+ "\n",
+ "#Printing mistake about the value of Cf. It should be 0.01 micro-Farad."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The cut-off frequency of an integrator circuit is 312.0 Hz.\n",
+ "Minimum non-linear operating frequency is 3121.0 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.3 , Page Number 922"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitor (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f2 = 1.0/(2*math.pi*R1*C1) #Frequency (in Hertz)\n",
+ "fmax = f2 / 10.0 #Maximum linear operating freqeuncy (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Cut-off frequency is \",round(f2,1),\" Hz.\"\n",
+ "print \"Maximum linear operating frequency is \",round(fmax),\" Hz.\"\n",
+ "\n",
+ "#Printing mistake in book about the value of f2."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut-off frequency is 1591.5 Hz.\n",
+ "Maximum linear operating frequency is 159.0 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.4 , Page Number 924"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = R2 = 51.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = C2 = C = 0.001 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo = 1.0/(2*math.pi*R1*C1) #Resonant frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The frequency of oscillations is \",round(fo,1),\" Hz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of oscillations is 3120.7 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_2.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_2.png
new file mode 100644
index 00000000..e07115cd
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_2.png
Binary files differ
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_2.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_2.png
new file mode 100644
index 00000000..22df6b70
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_2.png
Binary files differ
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_2.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_2.png
new file mode 100644
index 00000000..5acc571a
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_2.png
Binary files differ
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER11_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER11_1.ipynb
new file mode 100644
index 00000000..d57ed06a
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER11_1.ipynb
@@ -0,0 +1,561 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 11 - Carburetion and Carburettors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.1 PAGE 399"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Suction at throat = 4447.61 N/m**2 \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "d=0.1#..................#Cylinder bore in m\n",
+ "l=0.12#................#Cylinder stroke in m\n",
+ "N=1800#..................#Engine rpm\n",
+ "d2=0.028#................#Throat diameter in m\n",
+ "Cda=0.8#................#Co efficient of air flow\n",
+ "etaV=0.75#..................#Volumetric efficiency\n",
+ "rhoa=1.2#................#Density of air in kg/m**3\n",
+ "n=4#.......................#No of cylinders\n",
+ "#Calculations\n",
+ "Vs=(pi/4)*d*d*l*n#.................#Stroke Volume in m**3\n",
+ "Va=etaV*Vs#.......................#Actual volume per stroke in m**3\n",
+ "Vas=Va*(N/2)*(1/60)#.............#Actual volume sucked per second\n",
+ "ma=Vas*rhoa#.........................#Air consumed in kg/sec\n",
+ "delp=((ma/(Cda*(pi/4)*d2*d2))**2)/(2*rhoa)#.............#Suction at throat in N/m**2\n",
+ "print \"Suction at throat = %0.2f N/m**2 \"%delp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.2 PAGE 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Suction at the throat = 539.13 N/m**2 \n",
+ "Throat area = 7.72 cm**2 \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "# Initialisation of Variables\n",
+ "cp=5#.................#Consumption of petrol in kg/h\n",
+ "afr = 16#...............#Air fuel ratio\n",
+ "Af=2*10**(-6)#..............#Fuel orifice area in m**2\n",
+ "z=0.005#................#Distance between tip of jet and level of petrol in float chamber in m\n",
+ "spgrp=0.75#..............#Specific gravity of petrol\n",
+ "rhow=1000#.................#Density of water in kg/m**3\n",
+ "rhoa=1.2#....................#Density of air in kg/m**3\n",
+ "Cda=0.8#...............#Coefficient of discharge for venturi throat\n",
+ "g=9.81#...............#Acceleration due to gravity in m/sec**2\n",
+ "#Calculations\n",
+ "mf=cp/3600#.................#Fuel consumed in kg/sec\n",
+ "delp=(((mf/(Af*Cda))**2)*(1/(2*spgrp*rhow)))+(g*z*spgrp*rhow)#\n",
+ "print \"Suction at the throat = %0.2f N/m**2 \"%delp\n",
+ "ma=mf*afr#................#Air flow rate\n",
+ "Atsqr=((ma/Cda)**2)*(1/(2*rhoa*delp))#....................#Throat area in m**2\n",
+ "print \"Throat area = %0.2f cm**2 \"%(sqrt(Atsqr)*10**4)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.3 PAGE 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diameter of the fuel jet = 1.32 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,sqrt\n",
+ "# Initialisation of Variables\n",
+ "pc=7.2#.................#Petrol consumed in kg/h\n",
+ "spgrp=0.75#................#Specific gravity of fuel\n",
+ "rhow=1000#.................#Density of water in kg/m**3\n",
+ "t1=300#...................#Temperature of air in Kelvin\n",
+ "afr=15#....................#Air fuel ratio\n",
+ "d2=0.024#....................#Diameter of choke tube in m\n",
+ "z=0.0042#...................#The height of the jet above petrol level in float chamber in m\n",
+ "Cda=0.8#....................#Coefficient of discharge for air\n",
+ "Cdf=0.7#.....................#Coefficient of discharge for fuel\n",
+ "p1=1.013#.....................#Atmospheric pressure in bar\n",
+ "g=9.81#.......................#Acceleration due to gravity in m/s**2\n",
+ "R=287#........................#Gas constant in J/kg.K\n",
+ "#calculations\n",
+ "mf=pc/3600#....................#Rate of fuel consumption in kg/sec\n",
+ "rhof=spgrp*rhow#...............#Density of fuel in kg/m**3\n",
+ "rhoa=(p1*10**5)/(R*t1)#............#Density of air in kg/m**3\n",
+ "ma=mf*afr#.......................#Air flow rate \n",
+ "delpa=((ma/(Cda*(pi/4)*d2**2))**2)*(1/(2*rhoa))#....................#Suction in N/m**2\n",
+ "df=sqrt((mf/sqrt(2*rhof*(delpa-(g*z*rhof))))*(1/(Cdf*(pi/4))))#.................#Diameter of fuel jet in m\n",
+ "print \"Diameter of the fuel jet = %0.2f mm\"%(df*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.4 PAGE 402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Suction at the throat = 7.67 cm of Water \n",
+ "Throat area = 2.86 cm \n",
+ "Velocity of air across the venturi throat = 8.34 m/s \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "pc=5.45#......................#Petrol consumption in kg/h\n",
+ "afr=15#......................#Air fuel ratio\n",
+ "af=2*10**(-6)#................#Fuel jet orifice area in m**2\n",
+ "z=0.00635#...................#Distance between tip of fuel jet and level of petrol in the float chamber in m\n",
+ "Cda=0.8#............................#Coefficient of discharge of venturi throat\n",
+ "rhoa=1.29#........................#Density of air in kg/m**3\n",
+ "spgrp=0.72#........................#Specific gravity of fuel\n",
+ "rhow=1000#.........................#Density of water in kg/m**3\n",
+ "g=9.81#..............................#Acceleration due to gravity in m/s**2\n",
+ "Cdf=0.75#........................#Coefficient of discharge of the fuel\n",
+ "#calculations\n",
+ "mf=pc/3600#....................#Fuel consumed in kg/sec\n",
+ "rhof=spgrp*rhow#...............#Density of fuel in kg/m**3\n",
+ "delp=(((mf/(af*Cdf))**2)*(1/(2*rhof)))+(g*z*rhof)#......................#Depression in venturi throat in N/m**2\n",
+ "h2odep=delp/(g*1000)#................................#Depression in venturi throat in cm of Water\n",
+ "print \"Suction at the throat = %0.2f cm of Water \"%(h2odep*100)\n",
+ "ma=mf*afr#................#Air flow rate\n",
+ "At=sqrt(((ma/Cda)**2)*(1/(2*rhoa*delp)))#....................#Throat area in m**2\n",
+ "dt=sqrt(At/(pi/4))#........................................#Throat diameter in m\n",
+ "print \"Throat area = %0.2f cm \"%(dt*100)\n",
+ "Ct=sqrt((2*g*z*rhof)/rhoa)#..........................#Velocity of air across the venturi throat in m/sec\n",
+ "print \"Velocity of air across the venturi throat = %0.2f m/s \"%(Ct)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.5 PAGE 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Throat pressure = 0.76 bar \n",
+ "Air fuel ratio when the air cleaner is fitted : 13.69\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "afr=15#.....................#Air fuel ratio\n",
+ "p1=1#.........................#Atmospheric pressure in bar\n",
+ "p2=0.8#.......................#Pressure at venturi throat in bar\n",
+ "pd=30#....................#Pressure drop to air cleaner in mm of Hg\n",
+ "rhohg=13600#....................#Density of Hg in kg/m**3\n",
+ "af=240#........................#Air flow at sea level in kg/h\n",
+ "g=9.81#.....................#Acceleration due to gravity in m/s**2\n",
+ "#calculations\n",
+ "delpa=p1-p2#........................#When there is no air cleaner\n",
+ "pt=1-(rhohg*g*(pd/1000)*10**(-5))-delpa#..........................#Throat pressure in bar\n",
+ "print \"Throat pressure = %0.2f bar \"%pt\n",
+ "afrn=afr*sqrt(delpa/(p1-pt))#...............................#Air fuel ratio when the air cleaner is fitted\n",
+ "print \"Air fuel ratio when the air cleaner is fitted : %0.2f\"%afrn"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.6 PAGE 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Throat diameter = 0.03 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "As=4.6#........................#Air supply in kg/min\n",
+ "p1=1.013#.......................#Atmospheric pressure in bar\n",
+ "t1=298#......................#Atmospheric temperature in Kelvin\n",
+ "C2=80#........................#Air flow velocity in m/s\n",
+ "Cv=0.8#....................#Velocity co efficient\n",
+ "ga=1.4#........................#Degree of freedom of gas\n",
+ "R=0.287#........................#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "cp=R*(ga/(ga-1))#.......................#Specific heat capacity of air in kJ/kgK\n",
+ "p2=((1-(((C2/Cv)**2)*(1/(2*cp*1000*t1))))**(ga/(ga-1)))*p1#...................#Throat pressure in bar\n",
+ "rho1=(p1*10**5)/(R*1000*t1)#\n",
+ "rho2=rho1*(p2/p1)**(1/ga)#\n",
+ "ma=As/60#...................#Air flow in kg/s\n",
+ "A2=ma/(rho2*C2)#.................#Throat area in m**2\n",
+ "d2=sqrt((4*A2)/pi)#................#Throat diameter in m\n",
+ "print \"Throat diameter = %0.2f m\"%d2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.7 PAGE 404"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Throat diameter = 3.53 cm \n",
+ "Orifice diameter = 0.0023 cm \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "As=6#........................#Air supply in kg/min\n",
+ "fs=0.45#..........................#Fuel supply in kg/min\n",
+ "p1=1.013#.......................#Atmospheric pressure in bar\n",
+ "t1=300#......................#Atmospheric temperature in Kelvin\n",
+ "rhof=740#......................#Density of fuel in kg/m**3\n",
+ "C2=92#........................#Air flow velocity in m/s\n",
+ "Cda=0.8#....................#Velocity co efficient\n",
+ "Cdf=0.6#.........................#Coefficient of discharge for fuel\n",
+ "ga=1.4#........................#Degree of freedom of gas\n",
+ "r=0.75#......................#ratio of pressure drop across venturi and of that of choke\n",
+ "R=0.287#........................#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "ma=As/60#.................................#Air flow in kg/s\n",
+ "mf=fs/60#.................................#Fuel flow in kg/s\n",
+ "cp=R*(ga/(ga-1))#.......................#Specific heat capacity of air in kJ/kgK\n",
+ "p2=((1-(((C2/Cda)**2)*(1/(2*cp*1000*t1))))**(ga/(ga-1)))*p1#...................#Throat pressure in bar\n",
+ "v1=(R*t1*1000)/(p1*10**5)#\n",
+ "v2=v1*(p1/p2)**(1/ga)#................#specific volume in m**3/kg\n",
+ "A2=(ma*v2)/(C2)#.................#Throat area in m**2\n",
+ "d2=sqrt((4*A2)/pi)#................#Throat diameter in m\n",
+ "print \"Throat diameter = %0.2f cm \"%(d2*100)\n",
+ "pdv=p1-p2#..........#Pressure drop at venturi in bar\n",
+ "pdj=r*pdv#.............#Pressure drop at jet in bar\n",
+ "Af=((mf/Cdf)*(1/sqrt(2*rhof*pdj*10**5)))#.............#Area of orifice in m**2\n",
+ "df=sqrt((4*Af)/pi)#................#Orifice diameter in m\n",
+ "print \"Orifice diameter = %0.4f cm \"%(df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.8 PAGE 404"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diameter of choke = 29.61 mm \n",
+ "Diameter of the fuel jet = 1.68 mm \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "Vs=1489*10**(-6)#.......................#Capacity of engine in m**3\n",
+ "N=4200#...............#Engine rpm at which max speed is developed\n",
+ "etaV=0.75#.....................#Volumetric efficiency\n",
+ "afr=13#........................#air fuel ratio\n",
+ "Ct=85#..........................#Theoretical air speed at peak power in m/s\n",
+ "C2=Ct#\n",
+ "Cda=0.82#....................#Coefficient of discharge for the venturi\n",
+ "Cdf=0.65#....................#Coefficient of discharge of main petrol jet\n",
+ "spgr=0.74#..................#Specific gravity of petrol\n",
+ "z=0.006#.................................#Level of petrol surface below choke\n",
+ "p1=1.013#......................#Atmospheric pressure in bar\n",
+ "t1=293#.........................#Atmospheric temperature in Kelvin\n",
+ "r=0.4#.............................#Ratio of diameter of emulsion tube to choke diameter\n",
+ "R=0.287#.............................#Gas constant in kJ/kgK\n",
+ "ga=1.4#..............................#Degree of freedom for air\n",
+ "g=9.81#..............................#Acceleration due to gravity in m/s**2\n",
+ "rhow=1000#...........................#Density of water in kg/m**3\n",
+ "#calculations\n",
+ "rhof=rhow*spgr#............................#Density of fuel in kg/m**3\n",
+ "Va=(etaV*Vs*N)/(60*2)#.....................#Volume of air induced in m**3/s\n",
+ "ma=(p1*10**5*Va)/(R*t1*1000)#...............#mass flow of air in kg/s\n",
+ "cp=R*(ga/(ga-1))#.......................#Specific heat capacity of air in kJ/kgK\n",
+ "p2=((1-(((C2)**2)*(1/(2*cp*1000*t1))))**(ga/(ga-1)))*p1#...................#Throat pressure in bar\n",
+ "pt=p2#\n",
+ "vt=Va*(p1/p2)**(1/ga)#.....................#Volume flow of air at choke in m**3/s\n",
+ "At=vt/(Ct*Cda)#...................#Area of emulsion tube in m\n",
+ "D=sqrt((4*At*10**6)/(pi*(1-r**2)))#...................#Diameter of choke in mm\n",
+ "print \"Diameter of choke = %0.2f mm \"%D\n",
+ "mf=ma/afr#..................#Mass flow of fuel in kg/s\n",
+ "delpa=(p1-p2)*10**5#\n",
+ "df=sqrt((mf/sqrt(2*rhof*(delpa-(g*z*rhof))))*(1/(Cdf*(pi/4))))#.................#Diameter of fuel jet in m\n",
+ "print \"Diameter of the fuel jet = %0.2f mm \"%(df*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.9 PAGE 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air fuel ratio when the nozzle lip is neglected : 11.35\n",
+ "Air fuel ratio when nozzle lip is taken into account : 11.39\n",
+ "Minimum velocity of air = 8.58 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "da=0.018#..........................#Throat Diameter in m\n",
+ "df=0.0012#......................#Diameter of fuel orifice in m\n",
+ "Cda=0.82#.................#Coefficient of air flow\n",
+ "Cdf=0.65#......................#Coefficient of fuel flow\n",
+ "z=0.006#........................#Level of petrol surface below the throat\n",
+ "rhoa=1.2#.......................#density of air in kg/m**3\n",
+ "rhof=750#.........................#density of fuel in kg/m**3\n",
+ "g=9.81#........................#Acceleration due to gravity in m/s**2\n",
+ "delp=0.065*10**5#...................#Pressure drop in N/m**2\n",
+ "#Calculations\n",
+ "afr1=(Cda/Cdf)*((da/df)**2)*sqrt(rhoa/rhof)#..................#Air fuel ratio when the nozzle lip is neglected\n",
+ "print \"Air fuel ratio when the nozzle lip is neglected : \",round(afr1,2)\n",
+ "afr2=afr1*sqrt(delp/(delp-(g*z*rhof)))#.....................#Air fuel ratio when nozzle lip is taken into account\n",
+ "print \"Air fuel ratio when nozzle lip is taken into account : \",round(afr2,2)\n",
+ "C2=sqrt((2*g*z*rhof)/rhoa)#.........................#Minimum velocity of air in m/s\n",
+ "print \"Minimum velocity of air = %0.2f m/s\"%C2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.10 PAGE 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Fuel consumption = 46.66 kg/h \n",
+ "Velocity of air at the throat = 132.52 m/s \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "d=0.11#..................#Engine bore in m\n",
+ "l=0.11#..................#Engine length in m\n",
+ "da=0.042#................#Throat diameter of the choke tube in m\n",
+ "N=3000#..................#Engine rpm\n",
+ "etaV=0.75#...............#Volumetric efficiency\n",
+ "Ra=287#..................#Gas constant for air in J/kgK\n",
+ "Rv=97#...................#Gas constant for fuel vapour in J/kgK\n",
+ "t=273#....................#Temperature in Kelvin\n",
+ "p=1.013#...................#Pressure in bar\n",
+ "delpa=0.12#.................#Pressure depression in bar\n",
+ "t2=273+15#...................#Temperature at throat\n",
+ "n=8#........................#No of cylinders\n",
+ "mO=32#.......................#Mass of Oxygen molecule in amu\n",
+ "mC=12#........................#Mass of Carbon molecule in amu\n",
+ "mH=1#.......................#Mass of Hydrogen molecule in amu\n",
+ "cC=84#......................#Composition of carbon in %\n",
+ "cH2=16#.....................#Composition of Hydrogen in % \n",
+ "#Calculations\n",
+ "Vfm=(pi/4)*d*d*l*n*(N/2)*etaV#.....................#Volume of fuel mixture supplied in m**3/min\n",
+ "afr=((cC*(mO/mC))+(cH2*(mO/(4*mH))))/23#..................#Air fuel ratio\n",
+ "va=(Ra*t)/(p*10**5)#.....................#Volume of 1 kg of air in m**3/kg\n",
+ "vf=(Rv*t)/(p*10**5)#......................#Volume of 1 kg of fuel vapour in m**3/kg\n",
+ "fc=(Vfm/((afr*va)+vf))*60#...............#Fuel consumption in kg/h\n",
+ "print \"Fuel consumption = %0.2f kg/h \"%fc\n",
+ "rhoa=((p-delpa)*10**5)/(Ra*t2)#...............#Density of air at the throat in kg/m**3\n",
+ "Ca=(afr*(fc/3600))/((pi/4)*da*da*rhoa)#................#Velocity of air at the throat in m/s\n",
+ "print \"Velocity of air at the throat = %0.2f m/s \"%Ca"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 11.11 PAGE 407"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air fuel ratio at the altitude : 11.26\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "a=4500#.................#Altitude\n",
+ "afr=14#...............#Air fuel ratio at sea level\n",
+ "t1=25#...........#Temperature at sea level in Celsius\n",
+ "p1=1.013#...........#Pressure at sea level in bar\n",
+ "#Calculations\n",
+ "t2=t1-(0.0064*a)#.........................#Temperature at the given altitude using the given formula in Celsius\n",
+ "p2=p1/(10**(a/19300))#....................#Pressure at the given altitude using the given formula in bar\n",
+ "afr2=afr*sqrt((p2*(t1+273))/(p1*(t2+273)))#...................#Air fuel ratio at the altitude\n",
+ "print \"Air fuel ratio at the altitude : %0.2f\"%afr2"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER12_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER12_1.ipynb
new file mode 100644
index 00000000..4d60b522
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER12_1.ipynb
@@ -0,0 +1,444 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER-12 Fuel injection systems for C.I. Engines "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.1 PAGE 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volume of Fuel Injected per Cycle = 0.05 cc \n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "\n",
+ "n=6#...............#No of cylinders\n",
+ "BP=125#...............#Brake Power in kW\n",
+ "N=3000#..............#Engine rpm\n",
+ "bsfc=200#............#Brake Specific Fuel Consumption g/kWh\n",
+ "spgr=0.85#.............#Specific Gravity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "fc=(bsfc/1000)*BP#.........#Fuel consumption in kg/h\n",
+ "fcpc=fc/n#..................#Fuel consumption per cylinder\n",
+ "FCPC=(fcpc/60)/(N/2)#................#Fuel Consumption per cycle in kg\n",
+ "VFIC = (FCPC*1000)/spgr#...................#Volume of fuel injected per cycle in cc\n",
+ "print \"Volume of Fuel Injected per Cycle = %0.2f cc \"%VFIC"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.2 PAGE 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diameter of Nozzle Orifice = 8.13e-04 m \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "n=6#...............#No of cylinders\n",
+ "N=1500#............#Engine rpm\n",
+ "BP=220#.............#Brake Power in kW\n",
+ "bsfc=0.273#..........#Brake Specific Fuel Consumption in kg/kWh\n",
+ "theta=30#.............#The Period of Injection in degrees of crank angle\n",
+ "spgr=0.85#............#Specific Gravity of fuel\n",
+ "Cf=0.9#................#Orifice discharge co-efficient\n",
+ "ip=160#...............#Injection pressure in bar\n",
+ "cp=40#.................#Pressure in combustion chamber in bar\n",
+ "rhow=1000#................#Density of water in kg/m**3\n",
+ "#Calculations\n",
+ "vf = Cf*sqrt((2*(ip-cp)*10**5)/(spgr*rhow))#.............#Actual fuel velocity of injection in m/sec\n",
+ "qf=(bsfc*BP)/(spgr*rhow*3600)#..................# Volume of fuel injected per sec in m**3\n",
+ "d=sqrt (qf/((pi/4)*n*vf*(theta/360)*(60/N)*(N/120)))#...........#Diameter of nozzle orifice\n",
+ "print \"Diameter of Nozzle Orifice = %0.2e m \"%d"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.3 PAGE 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volume of Fuel Injected per Cycle = 0.13 cm**3 \n",
+ "Diameter of orifice = 0.40 mm \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "n=1#............#No of cylinders\n",
+ "N=650#............#Engine rpm\n",
+ "theta=28#...........#Crank Travel in degree\n",
+ "fc=2.2#...........#Fuel consumption in kg/h\n",
+ "spgr=0.875#............#Specific Gravity\n",
+ "ip=150#................#Injection Pressure in bar\n",
+ "cp=32#.................#Combustion chamber Pressure in bar\n",
+ "Cd=0.88#...............#co-efficient of discharge of orifice\n",
+ "rhow=1000#...........#Density of water in kg/m**3\n",
+ "#Calculation\n",
+ "fcpc = fc/60#..............#Fuel consumption per cylinder\n",
+ "fipc = fcpc/(N/2)#.........#Fuel Injected per cycle in kg\n",
+ "vfpc = fipc/(spgr*rhow)#....#volume of fuel injected per cycle\n",
+ "print \"Volume of Fuel Injected per Cycle = %0.2f cm**3 \"%(vfpc*10**6)\n",
+ "tfic=(theta/360)*(60/N)#....#Time for Fuel Injection per Cycle in sec\n",
+ "mf = fipc/tfic#...............#Mass of fuel injected per cycle in kg/s\n",
+ "vf = Cd*sqrt((2*(ip-cp)*10**5)/(spgr*rhow))#.............#Actual fuel velocity of injection in m/sec\n",
+ "d=sqrt((mf*4)/(pi*vf*spgr*rhow))\n",
+ "print \"Diameter of orifice = %0.2f mm \"%(d*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.4 PAGE 423"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diameter of orifice = 0.56 mm \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "N=2000#............#Engine rpm\n",
+ "theta=30#...........#Crank Travel in degree\n",
+ "sfc=0.272#...........#Fuel consumption in kg/kWh\n",
+ "ip=120#................#Injection Pressure in bar\n",
+ "cp=30#.................#Combustion chamber Pressure in bar\n",
+ "Cd=0.9#...............#co-efficient of discharge of orifice\n",
+ "rhow=1000#...........#Density of water in kg/m**3\n",
+ "api = 32#..............#API in degree\n",
+ "pw=15#..................#Power Output in kW\n",
+ "#Calculation\n",
+ "spgr= 141.5/(131.5+api)#............#Specific Gravity\n",
+ "fcpc = (sfc*pw)/((N/2)*60)#..............#Fuel consumption per cycle in kg\n",
+ "tfic=(theta/360)*(60/N)#....#Time for Fuel Injection per Cycle in sec\n",
+ "mf = fcpc/tfic#...............#Mass of fuel injected per cycle in kg/s\n",
+ "vf = Cd*sqrt((2*(ip-cp)*10**5)/(spgr*rhow))#.............#Actual fuel velocity of injection in m/sec\n",
+ "d=sqrt((mf*4)/(pi*vf*spgr*rhow))\n",
+ "print \"Diameter of orifice = %0.2f mm \"%(d*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.5 PAGE 424"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Fuel consumption = 0.28 kg/kWh \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "N=1800#............#Engine rpm\n",
+ "theta=32#...........#Crank Travel in degree\n",
+ "ip=118.2#................#Injection Pressure in bar\n",
+ "cp=31.38#.................#Combustion chamber Pressure in bar\n",
+ "Cd=0.9#...............#co-efficient of discharge of orifice\n",
+ "rhow=1000#...........#Density of water in kg/m**3\n",
+ "api = 32#..............#API in degree\n",
+ "pw=11#..................#Power Output in kW\n",
+ "d=0.47#...................#Fuel Injection orifice diameter in mm\n",
+ "#Calculation\n",
+ "spgr= 141.5/(131.5+api)#............#Specific Gravity\n",
+ "tfic=(theta/360)*(60/N)#....#Time for Fuel Injection per Cycle in sec\n",
+ "vf = Cd*sqrt((2*(ip-cp)*10**5)/(spgr*rhow))#.............#Actual fuel velocity of injection in m/sec\n",
+ "mf=vf*spgr*rhow*(pi/4)*(d/1000)**2#\n",
+ "tncp=(N/2)*60#...............#Total no of cycles per hour\n",
+ "FIPC=mf*tfic#.................#Mass of fuel injected per cycle in kg/cycle\n",
+ "fc=FIPC*tncp*(1/pw)#...................#Fuel consumption in kg/kWh\n",
+ "print \"Fuel consumption = %0.2f kg/kWh \"%fc"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.6 PAGE 424"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Orifice Area Required per injector = 0.0136 cm**2 \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "n=8#......#No of cylinders\n",
+ "pw=386.4#...........#Power output in kW\n",
+ "N=800#.............#Engine rpm\n",
+ "fc=0.25#.............#Fuel Consumption in kg/kWh\n",
+ "theta=12#..............#Crank Travel in degree (for injection)\n",
+ "spgr=0.85#...........#Specific Gravity\n",
+ "patm=1.013#............#Atmospheric pressure\n",
+ "cf=0.6#................#Co-efficient of discharge for injector\n",
+ "pcB=32#................#Pressure in cylinder in beginning in bar\n",
+ "piB=207#...............#Pressure in injector in beginning in bar\n",
+ "pcE=55#...............#Pressure in cylinder at the end in bar\n",
+ "piE=595#................#Pressure in injector at the end in bar\n",
+ "rhow=1000#..............#density of water in kg/m**3\n",
+ "#calculations\n",
+ "pwpc = pw/n#......................#Output per cylinder\n",
+ "fcpc = (pwpc*fc)/60#.............#Fuel consumption per cylinder in kg/min\n",
+ "fipc = fcpc/(N/2)#................#Fuel injected per cycle in kg\n",
+ "tfic = (theta*60)/(360*N)#...........#Time for fuel Injection per cycle\n",
+ "mf = fipc/tfic#......................#Mass of fuel injected per second\n",
+ "pdb = piB-pcB#....................#Pressure difference at beginning\n",
+ "pde = piE-pcE#...................#Pressure difference at end\n",
+ "apd = (pdb+pde)/2#\n",
+ "Ao=mf/(cf*sqrt(2*apd*10**5*spgr*rhow))#\n",
+ "print \"Orifice Area Required per injector = %0.4f cm**2 \"%(Ao*10000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.7 PAGE 425"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mass of fuel injected into each cylinder per second = 1.10 kg/s\n",
+ "Diameter of the fuel orifice = 0.55 mm \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "n=6#...............#No of cylinders\n",
+ "afr=20#...........#Air fuel ratio\n",
+ "d = 0.1#...............#cylinder bore in mm\n",
+ "l=0.14#..............#Cylinder length in mm\n",
+ "etav=0.8#............#Volumetric Efficiency\n",
+ "pa=1#.................#Pressure at the beginning of the compression in bar\n",
+ "ta = 300#.............#Temperature at the beginning of the compression in Kelvin\n",
+ "theta = 20#...............#Crank travel in degree for injection\n",
+ "N = 1500#...................#engine rpm\n",
+ "rhof=960#.................#Fuel density in kg/m**3\n",
+ "cf=0.67#................#Co efficient of discharge for injector\n",
+ "pi=150#....................#injection pressure in bar\n",
+ "pc=40#....................#combustion pressure in bar\n",
+ "R=287#........................#gas constant for air in kJ/kg.K\n",
+ "#calculations\n",
+ "V=(pi/4)*d**2*l*etav#......................#Volume of air supplied per cylinder per cycle in m**3\n",
+ "ma=(pa*10**5*V)/(R*ta)#.....................#Mass of this air at suction conditions in kg/cycle\n",
+ "mf=ma/afr#............................#Mass of fuel in kg/cycle\n",
+ "fipc = (theta*60)/(360*N)#...........#Time taken for fuel injection per cycle in seconds\n",
+ "MF = mf/fipc#........................#Mass of fuel injected into each cylinder per second\n",
+ "print \"The mass of fuel injected into each cylinder per second = %0.2f kg/s\"%MF\n",
+ "vf=cf*sqrt((2*(pi-pc)*10**5)/rhof)#.............#fuel velocity injection in m/s\n",
+ "d0=sqrt((MF*4)/(pi*vf*rhof))#..................#diameter of fuel orifice in m\n",
+ "print \"Diameter of the fuel orifice = %0.2f mm \"%(d0*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.8 PAGE 425"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total displacement of plunger = 0.26 cc\n",
+ "Effective stroke of plunger = 0.69 mm \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "Vpbes=7#.................#Volume of fuel in the pump barrel before commencement of effective stroke in cc\n",
+ "df=3#.................#Diameter of fuel line from pump to injector in mm\n",
+ "lf=700#.................#Length of fuel line from pump to injector in mm\n",
+ "Vfiv=2#................#Volume of fuel in the injection valve in cc\n",
+ "Vfd=0.1#.................#Volume of fuel to be delivered in cc\n",
+ "p1=150#..............#Pressure at which fuel is delivered in bar\n",
+ "p2=1#.................#atmospheric pressure in bar\n",
+ "cc=78.8*10**(-6)#..........#Co - efficient of compressibility per bar\n",
+ "dp=7#..............#Diameter of plunger in mm\n",
+ "#calculations\n",
+ "V1=Vpbes+(pi/4)*((df/10)**2)*(lf/10)+Vfiv#...................#Total initial fuel volume\n",
+ "delV=cc*(p1-p2)*V1#................#Change in volume due to compression\n",
+ "displu=delV+Vfd#.....................#Total displacement of plunger\n",
+ "print \"Total displacement of plunger = %0.2f cc\"%displu\n",
+ "lp=(displu*4)/(pi*(dp/10)**2)#.............#Effective stroke of plunger\n",
+ "print \"Effective stroke of plunger = %0.2f mm \"%lp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 12.9 PAGE 426"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time required for spray penetration at an injection pressure of 235 bar = 11.98 milliseconds:\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, pi\n",
+ "# Initialisation of Variables\n",
+ "p1=145#...........#injection pressure in bar\n",
+ "p2=235#.........#Injection pressure in bar (2nd case)\n",
+ "t1=16#.............#spray penetration time in milliseconds\n",
+ "s1=22#................#spray penetration length in cm\n",
+ "s2=22#.................#spray penetration length in cm (2nd case)\n",
+ "pc=30#.................#combustion chamber pressure in bar\n",
+ "#calculations\n",
+ "delp1=p1-pc#\n",
+ "delp2=p2-pc#\n",
+ "t2=(s2/s1)*t1*sqrt(delp1/delp2)#..........#Spray time in seconds for 2nd case\n",
+ "#Given that s=t*sqrt(delp)\n",
+ "print \"The time required for spray penetration at an injection pressure of 235 bar = %0.2f milliseconds:\"%t2"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER15_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER15_1.ipynb
new file mode 100644
index 00000000..2a5367b8
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER15_1.ipynb
@@ -0,0 +1,76 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 15 - Engine Cooling"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 15.1 PAGE 499"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mass of cooling water required = 3668.50 kg/h for petrol engine \n",
+ "The mass of cooling water required = 2674.95 kg/h for diesel engine \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "BP=90#.................#Brake Power in kW\n",
+ "deltw=27#.................#Raise in temperature of water \n",
+ "etaP=0.25#...................#Efficiency of petrol engine\n",
+ "etaD=0.3#....................#Efficiency od diesel engine\n",
+ "Pec=32#......................#Percentage of energy going to coolant in petrol engine\n",
+ "Dec=28#......................#Percentage of energy going to coolant in diesel engine\n",
+ "cp=4.187#..........#specific heat of water at constant pressure\n",
+ "#Calculations\n",
+ "hsP = BP/etaP#............#Heat supplied in kW or kJ/s\n",
+ "ecP=hsP*(Pec/100)#.............#Energy going to cooling water in kg/s\n",
+ "mwP=ecP/(cp*deltw)#.............#Mass of cooling water required\n",
+ "hsD = BP/etaD#............#Heat supplied in kW or kJ/s\n",
+ "ecD=hsD*(Dec/100)#.............#Energy going to cooling water in kg/s\n",
+ "mwD=ecD/(cp*deltw)#.............#Mass of cooling water required\n",
+ "print \"The mass of cooling water required = %0.2f kg/h for petrol engine \"%(mwP*3600)\n",
+ "print \"The mass of cooling water required = %0.2f kg/h for diesel engine \"%(mwD*3600)"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER16_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER16_1.ipynb
new file mode 100644
index 00000000..fe10d009
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER16_1.ipynb
@@ -0,0 +1,306 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 16 - Supercharging of IC Engines"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 16.1 PAGE 525"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Power required to run the supercharger = 90.47 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "pwu=735#............#Power developed by naturally aspirated engine in kW\n",
+ "afru=12.8#.............#Air fuel ratio for naturally aspirated engine\n",
+ "bsfc=0.350#......#Brake specific fuel consumption in kg/kWh\n",
+ "metau=0.86#...........#Mechanical efficiency of naturally aspirated engine\n",
+ "pi=730#...........#Inlet pressure in mm of Hg absolute\n",
+ "tm=325#...........#Mixture temperature in Kelvin\n",
+ "pr=1.6#.............#Pressure ratio of supercharged engine\n",
+ "etaa=0.7#.............#Adiabatic efficiency of supercharged engine\n",
+ "metas=0.9#..............#Mechanical efficiency of supercharged engine\n",
+ "afrs=12.8#.............#Air fuel ratio for supercharged engine\n",
+ "rhohg=13600#.............#Density of mercury in kg/m**3\n",
+ "R=0.287#...................#Gas constant in kJ/kgK\n",
+ "ga=1.4#................#Degree of freedom for gas\n",
+ "cp=1.005#..................#Specific heat of the fuel\n",
+ "g=9.81#................#Acceleration due to gravity in m/s**2\n",
+ "#calculations\n",
+ "t2=tm*(pr)**((ga-1)/ga)#..............#Ideal temperature for the supercharged engine\n",
+ "t2a=tm+(t2-tm)/etaa#................#Actual temperature for the supercharged engine\n",
+ "wa=cp*(t2a-tm)#.....................#Work of the supercharger\n",
+ "wsup=cp*(t2a-tm)/metas#..............#Work required to drive the supercharger in kJ/kg of air\n",
+ "#When unsupercharged\n",
+ "p1=(pi/1000)*((g*rhohg)/1000)#..............#Inlet pressure in kN/m**2\n",
+ "rhounsup=p1/(R*tm)#\n",
+ "maunsup=(bsfc*pwu*afrs)/3600#...................#Air consumption in kg/s for unsupercharged engine\n",
+ "#When supercharged\n",
+ "rhosup=(pr*p1)/(R*t2a)#\n",
+ "masup=maunsup*(rhosup/rhounsup)#..................#Air consumption in kg/s\n",
+ "Psup=masup*wsup#...............#Power required to run the supercharger in kW\n",
+ "print \"The Power required to run the supercharger = %0.2f kW \"%Psup"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 16.2 PAGE 526"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Engin Capacity = 0.02 m**3 \n",
+ "The Brake mean effective pressure = 8.34 bar\n",
+ "The Increase of pressure required = 0.47 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "p1=1.0132#..............#Mean pressure at sea level in bar\n",
+ "t1=283#................#Mean temperature at sea level in Kelvin\n",
+ "BP=260#....................#Brake Power output in kW\n",
+ "etaV=0.78#..................#Volumetric efficiency at sea level free air condition\n",
+ "sfc=0.247#............#Specific Fuel consumption in kg/kW.h\n",
+ "afr=17#...................#Air fuel ratio\n",
+ "N=1500#...................#Engine rpm\n",
+ "at=2700#.................#Altitude in mts\n",
+ "p2=0.72#................#Pressure in bar at the given altitude\n",
+ "Psup=0.08#.................#8% power of engine is taken by the supercharger\n",
+ "R=287#...................#Gas constant in J/kgK\n",
+ "t2=32+273#..............#Temperature in Kelvin at the given altitude\n",
+ "#calculations\n",
+ "mf=(sfc*BP)/60#.............#Fuel consumption in kg/min\n",
+ "ma = mf*afr#..................#Air consumption in ig/min\n",
+ "acps = ma/(N/2)#............#Air consumption per stroke in kg\n",
+ "Vs=(acps*R*t1)/(etaV*p1*10**5)#................#Engine capacity in m**3\n",
+ "print \"The Engin Capacity = %0.2f m**3 \"%Vs\n",
+ "pmb=(BP*6)/(Vs*10*(N/2))#........#Brake Mean Effective Pressure in bar\n",
+ "print \"The Brake mean effective pressure = %0.2f bar\"%pmb\n",
+ "gp=BP/(1-Psup)#.................#Gross power produced by supercharged engine in kW\n",
+ "masup=ma*gp/BP#......................#Mass of air required for supercharged engine in kg\n",
+ "matc=masup/(N/2)#..............#Mass of air taken per cycle\n",
+ "pressure=(matc*R*t2)/(etaV*10**5*Vs)#\n",
+ "print \"The Increase of pressure required = %0.2f bar\"%(pressure-p2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 16.3 PAGE 527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Net increase in Brake Power = 17.60 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "ec=3600*10**(-6)#.............#Engine capacity in m**3\n",
+ "pw=13#...............#Power developed in kW per m**3 of free air induced per minute\n",
+ "etaV=0.82#............#Volumetric Efficiency\n",
+ "N=3000#................#Engine rpm\n",
+ "p1=1.0132#...........................#Initial Air pressure in bar\n",
+ "t1=298#........................#Initial Temperature in Kelvin\n",
+ "pr=1.8#.....................#Pressure ratio in rotary compressor\n",
+ "etaC=0.75#.................#Isentropic efficiency of compressor\n",
+ "etaM=0.8#....................#Mechanical efficiency\n",
+ "ga=1.4#.....................#Degree of freedom for the gas\n",
+ "td=4#.......................#The amount by which the temperature is kess than delivery temperature from compressor\n",
+ "R=287#......................#Gas constant in J/kg.K\n",
+ "cp=1.005#.....................#Specific heat capacity\n",
+ "#Calculations\n",
+ "Vs=(ec*N)/2#....................#Swept volume in m**3/min\n",
+ "Vu=Vs*etaV#....................#Unsupercharged volume induced per min\n",
+ "rcdp=pr*p1#........#Rotary compressor delivery pressure\n",
+ "t2=t1*(pr)**((ga-1)/ga)#..............#Ideal temperature for the supercharged engine\n",
+ "t2a=t1+(t2-t1)/etaC#................#Actual temperature for the supercharged engine\n",
+ "ta=t2a-td#............................#Temperature of air at intake to the engine cylinder\n",
+ "V1=(rcdp*Vs*t1)/(p1*ta)#.................#Equivalent volume at 1.0132 bar and 298 K\n",
+ "Vinc=V1-Vs#...........................#Increase in induced Volume of air in m**3/min\n",
+ "ipincai=pw*Vinc#.......................#Increase in IP from air induced in kW\n",
+ "ipinciip=((rcdp-p1)*10**5*Vs)/(60*1000)#...........#Increase in IP due to increased induction pressure kW\n",
+ "ipinctot=ipincai+ipinciip#...............#Total increase in Input Power in kW\n",
+ "bpinc=ipinctot*etaM#....................#Increase in Brake Power of the engine in kW\n",
+ "ma=(rcdp*10**5*Vs)/(60*R*ta)#...................#Mass of air delivered by the compressor kg/s\n",
+ "pc=(ma*cp*(t2a-t1))/etaM#....................#Power required by the compressor\n",
+ "bpincnet=bpinc-pc#..........................#Net Increase in BP\n",
+ "print \"The Net increase in Brake Power = %0.2f kW \"%bpincnet"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 16.4 PAGE 528"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Engine Capacity = 0.02 m**3:\n",
+ "The Brake mean effective pressure = 8.41 bar\n",
+ "The Increase of pressure required = 0.47 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "p1=1.0132#..............#Mean pressure at sea level in bar\n",
+ "t1=283#................#Mean temperature at sea level in Kelvin\n",
+ "BP=250#....................#Brake Power output in kW\n",
+ "etaV=0.78#..................#Volumetric efficiency at sea level free air condition\n",
+ "sfc=0.245#............#Specific Fuel consumption in kg/kW.h\n",
+ "afr=17#...................#Air fuel ratio\n",
+ "N=1500#...................#Engine rpm\n",
+ "at=2700#.................#Altitude in mts\n",
+ "p2=0.72#................#Pressure in bar at the given altitude\n",
+ "Psup=0.08#.................#8% power of engine is taken by the supercharger\n",
+ "R=287#...................#Gas constant in J/kgK\n",
+ "t2=32+273#..............#Temperature in Kelvin at the given altitude\n",
+ "#calculations\n",
+ "mf=(sfc*BP)/60#.............#Fuel consumption in kg/min\n",
+ "ma = mf*afr#..................#Air consumption in ig/min\n",
+ "acps = ma/(N/2)#............#Air consumption per stroke in kg\n",
+ "Vs=(acps*R*t1)/(etaV*p1*10**5)#................#Engine capacity in m**3\n",
+ "print \"The Engine Capacity = %0.2f m**3:\"%Vs\n",
+ "pmb=(BP*6)/(Vs*10*(N/2))#........#Brake Mean Effective Pressure in bar\n",
+ "print \"The Brake mean effective pressure = %0.2f bar\"%pmb\n",
+ "gp=BP/(1-Psup)#.................#Gross power produced by supercharged engine in kW\n",
+ "masup=ma*gp/BP#......................#Mass of air required for supercharged engine in kg\n",
+ "matc=masup/(N/2)#..............#Mass of air taken per cycle\n",
+ "pressure=(matc*R*t2)/(etaV*10**5*Vs)#\n",
+ "print \"The Increase of pressure required = %0.2f bar\"%(pressure-p2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 16.5 PAGE 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The indicated mean effective pressure = 4.55 bar \n",
+ "The total aspirated air mass flow into the engine = 6.73 kg/min \n",
+ "Air flow into the compressor = 16.79 kg/min\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "t1=298#.................#Temperature of the air while entering the compressor in Kelvin\n",
+ "qrej=1210#..............#Amount of heat rejected in cooler in kJ/min\n",
+ "t2=273+65#...............#Temperature of the air leaving the cooler in Kelvin\n",
+ "p2=1.75#.................#Pressure of the air leaving the cooler in bar\n",
+ "n=6#.....................#No of cylinders\n",
+ "d=0.1#...................#Bore of the cylinder in m\n",
+ "l=0.11#...................#Stroke of the cylinder in m\n",
+ "etaV=0.72#................#volumetric efficiency\n",
+ "N=2000#...............#Engine rpm\n",
+ "Tout=150#..................#Torque Output in Nm\n",
+ "etaM=0.8#..................#Mechanical efficiency\n",
+ "R=287#.......................#Gas constant for air in J/kgK\n",
+ "cp=1.005#...................#Specific capacity of air\n",
+ "#calculations\n",
+ "BP=(2*pi*N*Tout)/(60*1000)#...........#Brake power in kW\n",
+ "IP=BP/etaM#..........#Input Power in kW\n",
+ "Vc=(pi/4)*d*d*l#...................#Cylinder Volume in m**3\n",
+ "pmi=(6*IP)/(n*Vc*(N/2)*10)#................#Indicated mean effective pressure\n",
+ "print \"The indicated mean effective pressure = %0.2f bar \"%(pmi)\n",
+ "Vs=Vc*6*(N/2)#.........................#Engine Swept Volume in m**3/min\n",
+ "Vaa=Vs*etaV#..........................#Aspirated volume of air into engine in m**3/min\n",
+ "maa=(p2*10**5*Vaa)/(R*t2)#..............#Aspirated air mass flow into the engine in kg/min\n",
+ "print \"The total aspirated air mass flow into the engine = %0.2f kg/min \"%maa\n",
+ "t2a=((((BP/cp)/(qrej/(60*cp)))*t2)-t1)/(((BP/cp)/(qrej/(60*cp)))-1)#\n",
+ "mc=((BP/cp)/(t2a-t1))*60#........................#Air flow into the compressor in kg/min\n",
+ "print \"Air flow into the compressor = %0.2f kg/min\"%mc"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER17_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER17_1.ipynb
new file mode 100644
index 00000000..b366831e
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER17_1.ipynb
@@ -0,0 +1,2533 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 17 - Testing and performance of I.C. engines"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.1 PAGE 570"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power developed = 13.30 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "Pmi=6#.....................#Mean effective pressure in bar\n",
+ "N=1000#....................#Engine rpm\n",
+ "d=0.11#.....................#Diameter of piston in m\n",
+ "l=0.14#.....................#Stroke length in m\n",
+ "n=1#........................#No of cylinders\n",
+ "k=1#........................#k=1 for two stroke engine\n",
+ "#Calculations\n",
+ "V=l*(pi/4)*d*d#.............#Volume of the cylinder in m**3\n",
+ "IP=(n*Pmi*V*k*10*N)/6#.........#Indicated Power developed in kW\n",
+ "print \"Indicated power developed = %0.2f kW\"%IP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.2 PAGE 571"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The bore of the engine = 87.96 mm\n",
+ "The stroke of the engine = 131.94 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=4#........................#No of cylinders\n",
+ "P=14.7#....................#Power developed in kW\n",
+ "N=1000#....................#Engine speed in rpm\n",
+ "Pmi=5.5#....................#Mean effective pressure in bar\n",
+ "lbyd=1.5#...................#Ratio of stroke to bore\n",
+ "k=0.5#.......................#For four stroke engine\n",
+ "#Calculations\n",
+ "d=((P*6)/(n*Pmi*N*k*10*(pi/4)*lbyd))**(1/3)#......................#Calculation of bore in m\n",
+ "l=lbyd*d#................................#Calculation of stroke in m\n",
+ "print \"The bore of the engine = %0.2f mm\"%(d*1000)\n",
+ "print \"The stroke of the engine = %0.2f mm\"%(l*1000)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.3 PAGE 572"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake Power = 2.51 KW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "Db=0.6#.....................#Diameter of the brake wheel in m\n",
+ "d=0.026#......................#Diameter of the rope in m\n",
+ "W=200#.......................#Dead load on the brake in N\n",
+ "S=30#......................#Spring balance reading in N\n",
+ "N=450#......................#Engine speed in rpm\n",
+ "#Calculations\n",
+ "BP=((W-S)*pi*(Db+d)*N)/(60*1000)#...............#Brake Power in KW\n",
+ "print \"Brake Power = %0.2f KW\"%(BP)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.4 PAGE 572"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since it is given that the stroke is equal to bore, their value is = 138.67 mm\n",
+ "The engine displacement = 0.00 m**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=4#........................#No of cylinders\n",
+ "k=0.5#......................#For four stroke engine\n",
+ "Tb=160#.....................#Max brake torque in Nm\n",
+ "N=3000#......................#Engine rpm\n",
+ "Pm=9.6#....................#Brake mean effective pressure in bar\n",
+ "#Calculations\n",
+ "D=((2*pi*N*Tb*6)/(60*1000*Pm*(pi/4)*N*k*10))**(1/3)#.....................#Bore of engine in m\n",
+ "L=D#...................#Given that the stroke is equal to bore\n",
+ "Disp=(pi/4)*D*D*L#....................................#Displacement in m**3\n",
+ "print \"Since it is given that the stroke is equal to bore, their value is = %0.2f mm\"%(D*1000)\n",
+ "print \"The engine displacement = %0.2f m**3\"%(Disp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.5 PAGE 572"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since the stroke and bore are equal, their value is = 290.90 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=6#.....................#No of cylinders\n",
+ "Pmb=6#....................#Brake mean effective pressure in bar\n",
+ "N=1000#..................#Engine rpm\n",
+ "k=0.5#.......................#For four stroke engine\n",
+ "Wce=820#.................#Work during compression and expansion in kW\n",
+ "Wie=50#...................#Work during intake and exhaust in kW\n",
+ "f=150#......................#Rubbing friction in engiine in kW\n",
+ "WnetT=40#...................#Net work done by turbine in kW\n",
+ "#Calculations\n",
+ "BP=Wce-(Wie+f+WnetT)#.....................#Net work available or brake power in kW\n",
+ "D=((BP*6)/(n*Pmb*(pi/4)*N*k*10))**(1/3)#......................#Bore of engine in m\n",
+ "L=D#.........................................#Given that bore is equal to stroke\n",
+ "print \"Since the stroke and bore are equal, their value is = %0.2f mm\"%(D*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.6 PAGE 573"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Ratio of the power input of the engine with methane fuel to that with octane : 1.12\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "Cm=50150#............................#Heating value of methane in kJ/kg\n",
+ "Co=44880#............................#Heating value of octane in kJ/kg\n",
+ "#Calculations\n",
+ "#Since Energy supplied is proportional to mass of fuel supplied time calorific value of the fuel supplied\n",
+ "ratioP=Cm/Co#.........................#Ratio of the power input of the engine with methane fuel to that with octane\n",
+ "print \"Ratio of the power input of the engine with methane fuel to that with octane : %0.2f\"%ratioP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.7 PAGE 573"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Brake power = 250.00 kW\n",
+ "Brake thermal efficiency = 33.07 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "N=2000#...........................#Engine rpm\n",
+ "k=0.5#..............................#Four stroke engine\n",
+ "Disp=0.025#........................#Engine displacement in m**3\n",
+ "Pmb=6#..............................#Brake mean effective pressure in bar\n",
+ "mf=0.018#............................#Fuel consumption in kg/s\n",
+ "Cf=42000#............................#Calorific value of fuel in kJ/kg\n",
+ "#Calcuations \n",
+ "BP=(Pmb*Disp*N*k*10)/(6)#................#Brake power in kW\n",
+ "etaBT=BP/(mf*Cf)#.................#Brake thermal efficiency\n",
+ "print \"The Brake power = %0.2f kW\"%(BP)\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etaBT*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.8 PAGE 574"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake power developed by engine = 9.16 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "T=175#.......................#Torque due to brake load in Nm\n",
+ "N=500#.........................#Engine speed in rpm\n",
+ "#calcuations\n",
+ "BP=(2*pi*N*T)/(60*1000)#.......................#Brake power developed by engine in kW\n",
+ "print \"Brake power developed by engine = %0.2f kW\"%(BP)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.9 PAGE 575"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 47.71 kW\n",
+ "Brake power = 42.88 kW\n",
+ "Mechanical efficiency = 89.88 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=0.3#.............................#Bore of engine cylinder in m\n",
+ "L=0.45#............................#Stroke of engine cylinder in m\n",
+ "N=300#.............................#Engine rpm\n",
+ "Pmi=6#.............................#Indicated mean effective pressure in bar\n",
+ "Nbl=1.5#...........................#Net brake load in kN\n",
+ "Db=1.8#............................#Diameter of brake drum in m\n",
+ "d=0.02#............................#Brake rope diameter\n",
+ "k=0.5#.............................#Four stroke engine\n",
+ "n=1#...............................#No of cylinders\n",
+ "#Calculations\n",
+ "IP=(n*Pmi*L*(pi/4)*D*D*N*k*10)/6#......................#Indicated power in kW\n",
+ "BP=(Nbl*pi*(Db+d)*N)/60#...............................#Brake power in kW\n",
+ "etam=BP/IP#.............................................#Mechanical efficiency\n",
+ "print \"Indicated power = %0.2f kW\"%(IP)\n",
+ "print \"Brake power = %0.2f kW\"%(BP)\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etam*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.10 PAGE 576"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake specific fuel consumption = 0.27 kJ/hW-h\n",
+ "Brake thermal efficiency : 30.78 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "Db=0.7#.............................#Diameter of brake pulley in m\n",
+ "d=0.025#............................#Diameter of the rope in m\n",
+ "W=50#...............................#Load on the tight side of the rope in kg\n",
+ "S=50#...............................#Spring balance reading in N\n",
+ "N=900#..............................#Engine rpm\n",
+ "mf=4#...............................#Rate of fuel consumption in kg/h\n",
+ "C=44000#............................#Calorific value of fuel in kJ/kg\n",
+ "g=9.81#.............................#Acceleration due to gravity in m/s**2\n",
+ "#Calculations\n",
+ "BP=(((W*g)-S)*pi*(Db+d)*N)/(60*1000)#........................#Brake power in kW\n",
+ "bsfc=mf/BP#...................................................#Brake specific fuel consumption in kJ/hW-h\n",
+ "print \"Brake specific fuel consumption = %0.2f kJ/hW-h\"%bsfc\n",
+ "etathB=(BP*3600)/(mf*C)#.............................................#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency : %0.2f %%\"%(etathB*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.11 PAGE 576"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated thermal efficiency = 42.52 %\n",
+ "Brake power = 100.53 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=4#.......................#No of cylinders\n",
+ "k=0.5#.....................#Four stroke engine\n",
+ "r=8#.......................#Compression ratio\n",
+ "d=0.1#.....................#Engine bore in m\n",
+ "l=0.1#.....................#Engine stroke in m\n",
+ "etaV=0.75#.................#Volumetric efficiency\n",
+ "N=4800#....................#Engine rpm\n",
+ "afr=15#....................#Air fuel ratio\n",
+ "C=42000000#................#Calorific value of fuel\n",
+ "rhoa=1.12#.................#Atmospheric density in kg/m**3\n",
+ "Pmi=10#....................#Mean effective pressure in bar\n",
+ "etamech=0.8#...............#Mechanical efficiency\n",
+ "#Calculations \n",
+ "IP=(n*Pmi*l*(pi/4)*d*d*N*k*10)/6#.................#Indicated power in kW\n",
+ "Ac=n*(pi/4)*d*d*l*(N/2)*(etaV/60)#.....................#Air consumption in m**3/s\n",
+ "ma=Ac*rhoa#........................................#Mass flow of air in kg/s\n",
+ "mf=ma/afr#.........................................#Mass flow of fuel in kg/s\n",
+ "etath=(IP*1000)/(mf*C)#...................................#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "BP=IP*etamech#.....................................#Brake Power in kW\n",
+ "print \"Brake power = %0.2f kW\"%BP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.12 PAGE 577"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The volumetric efficiency = 84.48 %\n",
+ "Brake specific fuel consumption = 0.28 kg/kWh\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "N=1800#...................#Engine rpm\n",
+ "l=0.11#...................#Engine stroke in m\n",
+ "d=0.085#..................#Engine bore in m\n",
+ "ma=0.56#..................#Air flow rate in kg/min\n",
+ "BP=6#.....................#Brake power developed in kW\n",
+ "afr=20#...................#Air fuel ratio\n",
+ "C=42550#..................#Calorific value of fuel in kJ/kg\n",
+ "rhof=1.18#................#Density of fuel in kg/m**3\n",
+ "#calculations\n",
+ "V=(pi/4)*d*d*l*(N/2)#.....................#Volume displacemt in m**3/min\n",
+ "Ma=V*rhof#.................................#Mass of air in kg/min\n",
+ "etaV=ma/Ma#................................#Volumetric efficiency\n",
+ "fc=ma/afr#.................................#Fuel concumption\n",
+ "bsfc=(fc*60)/BP#...........................#Brake specific fuel consumption in kg/kWh\n",
+ "print \"The volumetric efficiency = %0.2f %%\"%(etaV*100)\n",
+ "print \"Brake specific fuel consumption = %0.2f kg/kWh\"%(bsfc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.13 PAGE 578"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mechanical efficiency = 63.59 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "pmicover=6.5#....................#Mean effective pressure on cover side in bar\n",
+ "pmicrank=7#......................#Mean effective pressure on crank side in bar\n",
+ "D=0.2#...........................#Engine bore in m\n",
+ "l=0.35#..........................#Engine stroke in m\n",
+ "drod=0.02#.........................#Diameter of piston rod in m\n",
+ "W=1370#............................#Dead load on the brake in N\n",
+ "S=145#.............................#Spring balance reading in N\n",
+ "Db=1.2#............................#Brake wheel diameter in m\n",
+ "d=0.02#............................#Brake rope diameter in m\n",
+ "k=0.5#.............................#Four stroke engine\n",
+ "N=420#.......................#Engine rpm\n",
+ "#calculations\n",
+ "Acover=(pi/4)*D*D#.......................#Area of cylinder on the cover side in m**2\n",
+ "Acrank=(pi/4)*((D**2)-(drod**2))#..........#Effective area of cylinder on the crank end side in m**2\n",
+ "IPcover=(pmicover*l*Acover*N*k*10)/6#................#Indicated power on the cover end side in kW\n",
+ "IPcrank=(pmicrank*l*Acrank*N*k*10)/6#................#Indicated power on the crank end side in kW\n",
+ "IPtotal=IPcover+IPcrank#....................#TOtal\n",
+ "BP=((W-S)*pi*(Db+d)*N)/(60*1000)#...................#Brake power in kW\n",
+ "etamech=BP/IPtotal#..................................#Mechanical efficiency\n",
+ "print \"The mechanical efficiency = %0.2f %%\"%(etamech*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.14 PAGE 579"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Engine bore = 152.98 mm\n",
+ "Engine stroke = 229.47 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "BP=14.7#........................#Brake power in kW\n",
+ "p1=0.9#.........................#Suction pressure in bar\n",
+ "etamech=0.8#....................#Mechanical efficiency\n",
+ "r=5#............................#Compression ratio\n",
+ "p3=24#..........................#maximum explosion pressure in bar\n",
+ "N=1000#.........................#Engine rpm\n",
+ "rld=1.5#........................#Ratio of length and stroke\n",
+ "ic=1.35#........................#Index of compression curve\n",
+ "ie=1.3#.........................#Index of expansion curve\n",
+ "k=0.5#..........................#Four stroke engine\n",
+ "#calculations\n",
+ "p2=(r**ic)*p1#......................#intermediate pressure = %0.2f bar) during compression\n",
+ "p4=p3/(r**ie)#......................#Intermediate pressure = %0.2f bar) during expansion\n",
+ "pm=((((p3-r*p4)/(ie-1))-((p2-p1*r)/(ic-1)))*(10**5))/(r-1)#...........#Mean effective pressure in N/m**2\n",
+ "pmb=pm/100000#........................................#Mean effective pressure in bar\n",
+ "IP=BP/etamech#........................................#Indicated power in kW\n",
+ "D=((IP*6*4)/(pmb*rld*(pi)*N*k*10))**(1/3)#............#Engine bore in m\n",
+ "L=rld*D#..............................................#Engine stroke in m\n",
+ "print \"Engine bore = %0.2f mm\"%(D*1000)\n",
+ "print \"Engine stroke = %0.2f mm\"%(L*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.15 PAGE 580"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated thermal efficiency = 27.03 %\n",
+ "Indicated brake efficiency = 23.43 %\n",
+ "Mechanical efficiency = 86.67 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "#Initialisation of Variables\n",
+ "IP=30#........................#Indicated power in kW\n",
+ "BP=26#........................#Brake power in kW\n",
+ "N=1000#.......................#Engine rpm\n",
+ "fpbph=0.35#...................#Fuel per brake power hour in kg/B.P.h\n",
+ "C=43900#......................#Calorific value of fuel used in kJ/kg\n",
+ "#Calculations\n",
+ "mf=BP*fpbph#.............#Fuel consumption per hour in kg/h\n",
+ "etaIth=IP/((mf/3600)*C)#.................#Indicated thermal efficiency\n",
+ "etaBth=BP/((mf/3600)*C)#.................#Indicated brake efficiency\n",
+ "etamech=BP/IP#...........................#Mechanical efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etaIth*100)\n",
+ "print \"Indicated brake efficiency = %0.2f %%\"%(etaBth*100)\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.16 PAGE 581"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake specific fuel consumption = 0.29 kg/kWh\n",
+ "Brake thermal efficiency = 28.62 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "#Initialisation of Variables\n",
+ "Db=0.75#.....................#Diameter of brake pulley in m\n",
+ "d=0.05#......................#Rope diameter in m\n",
+ "W=400#.......................#Dead load in N\n",
+ "S=50#........................#Spring balance reading in N\n",
+ "cf=4.2#......................#Consumption of fuel in kg/h\n",
+ "N=1000#......................#Engine rpm\n",
+ "C=43900#.....................#Calorific value of fuel in kJ/kg\n",
+ "#Calculations\n",
+ "BP=((W-S)*pi*(Db+d)*N)/(60*1000)#...............#Brake power in kW\n",
+ "bsfc=cf/BP#......................................#Brake specific fuel consumption in kg/kWh\n",
+ "etabth=BP/((cf/3600)*C)#.........................#Brake thermal efficiency\n",
+ "print \"Brake specific fuel consumption = %0.2f kg/kWh\"%(bsfc)\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etabth*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.17 PAGE 581"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The calorific value of the fuel used = 40341.03 kJ/kg\n",
+ "Fuel consumption = 20.52 (kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "#Initialisation of Variables\n",
+ "n=6#.............................#No of cylinders\n",
+ "D=0.09#..........................#Bore of cylinder in m\n",
+ "L=0.1#...........................#Stroke length in m\n",
+ "r=7#.............................#Compression ratio\n",
+ "etarel=0.55#.....................#Relative efficiency\n",
+ "isfc=0.3#........................#Indicated specific fuel consumption in kg/kWh\n",
+ "imep=8.6#........................#Indicated mean effective pressure in bar\n",
+ "N=2500#..........................#Engine speed\n",
+ "ga=1.4#..........................#Degree of freedom for air\n",
+ "k=0.5#...........................#Four stroke engine\n",
+ "#calculations\n",
+ "etastan=1-1/(r**(ga-1))#...................#Air standard efficiency\n",
+ "etath=etarel*etastan#.....................#Indicated thermal efficiency \n",
+ "C=3600/(etath*isfc)#.......................#Calorific value of fuel in kJ/kg\n",
+ "IP=(n*imep*L*D*D*(pi/4)*N*k*10)/6#................#Indicated power in kW\n",
+ "fc=IP*isfc#.............................#Fuel consumption in kg/h\n",
+ "print \"The calorific value of the fuel used = %0.2f kJ/kg\"%(C)\n",
+ "print \"Fuel consumption = %0.2f (kg/h\"%(fc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.18 PAGE 582"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Engine bore = 62.04 mm\n",
+ "Engine stroke = 93.05 mm\n",
+ "Fuel consumption = 8.79 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "BP=30#........................#Brake power in kW\n",
+ "pmi=8#.........................#Mean effective pressure in bar\n",
+ "etamech=0.8#....................#Mechanical efficiency\n",
+ "n=4#............................#No of cylinders\n",
+ "N=2500#.........................#Engine rpm\n",
+ "rld=1.5#........................#Ratio of length and stroke\n",
+ "etabth=0.28#......................#Brake thermal efficiency\n",
+ "k=1#..........................#Two stroke engine\n",
+ "C=43900#.........................#Calorific value of fuel in kJ/kg\n",
+ "#calculations\n",
+ "IP=BP/etamech#........................................#Indicated power in kW\n",
+ "D=((IP*6*4)/(pmi*n*rld*(pi)*N*k*10))**(1/3)#............#Engine bore in m\n",
+ "L=rld*D#..............................................#Engine stroke in m\n",
+ "print \"Engine bore = %0.2f mm\"%(D*1000)\n",
+ "print \"Engine stroke = %0.2f mm\"%(L*1000)\n",
+ "mf=BP/(etabth*C)#..............................#Fuel consumption in kg/s\n",
+ "print \"Fuel consumption = %0.2f kg/h\"%(mf*3600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.19 PAGE 583"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The volumetric efficiency of the engine = 78.16 %\n",
+ "The brake thermal efficiency of the engine = 23.64 %\n",
+ "Brake torque = 0.23 kNm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=6#......................#No of cylinders\n",
+ "pdpc=700*10**(-6)#.................#Piston displacement per cylinder in m**3\n",
+ "P=78#............................#Power developed in kW\n",
+ "N=3200#.............................#Engine rpm\n",
+ "mf=27#.............................#Fuel consumption in kg/h\n",
+ "C=44000#...........................#Calorific value of fuel in kJ/kg\n",
+ "afr=12#..............................#Air fuel ratio\n",
+ "p1=0.9#..........................#Intake air pressure\n",
+ "pa=p1#\n",
+ "t1=305#...............................#Intake air temperature\n",
+ "ta=t1#\n",
+ "R=0.287#.....................#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "ma=afr*mf#............................#maaa of air in kg/h\n",
+ "Va=(ma*R*t1)/(p1*100)#.............#Volume of air intake in m**3/h\n",
+ "Vs=pdpc*n*(N/2)*60#.....................#Swept volume in m**3/h\n",
+ "etaV=Va/Vs#.............................#Volumetric efficiency\n",
+ "print \"The volumetric efficiency of the engine = %0.2f %%\"%(etaV*100)\n",
+ "etabt=P/(mf*(C/3600))#...................#Brake thermal efficiency\n",
+ "print \"The brake thermal efficiency of the engine = %0.2f %%\"%(etabt*100)\n",
+ "Tb=(P*60)/(2*pi*N)#..........................#Brake torque in kNm\n",
+ "print \"Brake torque = %0.2f kNm\"%(Tb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.20 PAGE 583"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Average no of times each cylinder misfires in one min : 2.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,floor\n",
+ "# Initialisation of Variables\n",
+ "n=6#.......................#No of cylinders\n",
+ "Vs=1.75*10**(-3)#..............#Stroke volume in m**3\n",
+ "IP=26.3#.....................#Indicated power in kW\n",
+ "Ne=504#.......................#Expected Engine rpm\n",
+ "Pmi=6#........................#Mean effective pressure in bar\n",
+ "k=0.5#.........................#Four stroke engine\n",
+ "#Calculations\n",
+ "Na=floor((IP*6)/(n*Pmi*Vs*k*10))#.......................#Actual Engine rpm\n",
+ "af=(Na*n)/2#.......................#Actual no of fires in min\n",
+ "ef=(Ne*n)/2#.......................#Expected no of fires in min\n",
+ "Nm=ef-af#........................#No of misfires/min\n",
+ "nm=Nm/n#....................#Average no of times each cylinder misfires in one min\n",
+ "print \"Average no of times each cylinder misfires in one min : %0.2f\"%nm"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.21 PAGE 584"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 14.24 kW\n",
+ "Indicated thermal efficiency = 34.63 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=4#.......................#No of cylinders\n",
+ "D=0.075#.......................#Engine bore in m\n",
+ "L=0.09#........................#Engine length in m\n",
+ "err=39/8#.......................#Engine to rear axle ratio\n",
+ "Dw=0.65#.........................#Wheel diameter in m\n",
+ "pc=0.227#.......................#Petrol consumption in kg\n",
+ "pmi=5.625#.........................#Mean effective pressure in bar\n",
+ "C=43470#..............................#Calorific value of petrol in kJ/kg\n",
+ "k=0.5#.............................#Four stroke engine\n",
+ "sc=48#............................#Speed of the car in km/h\n",
+ "d=3.2#.............................#Distance covered by car in km\n",
+ "#Calculations\n",
+ "sc1=sc*(1000/60)#...................#Speed of the car in m/min\n",
+ "Nt=sc1/(pi*Dw)#......................#Revolutions made by tire per min\n",
+ "Ne=Nt*err#............................#Speed of engine shaft\n",
+ "IP=(n*pmi*L*(pi/4)*D*D*Ne*k*10)/6#........#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%(IP)\n",
+ "sc2=sc/60#.......................#Speed of the car in km/min\n",
+ "t=d/sc2#..........................#Time for covering 3.2 km in min\n",
+ "fc=pc/(t*60)#.....................#Fuel consumed per second in kg\n",
+ "etait=IP/(fc*C)#...............#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etait*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.22 PAGE 584"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 26.59 kW\n",
+ "Brake power = 21.21 kW\n",
+ "Mechanical efficiency = 79.75 %\n",
+ "Indicated thermal efficiency = 21.61 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=1#.................#No of cylinders\n",
+ "D=0.25#................#Engine bore in m\n",
+ "L=0.4#.................#Engine stroke in m\n",
+ "pmg=7#.................#Gross mean effective pressure in bar\n",
+ "pmp=0.5#...............#Pumping mean effective pressure in bar\n",
+ "N=250#..................#Engine rpm\n",
+ "Db=1.5#................#Effective diameter of the brake in m\n",
+ "Nl=1080#..............#Net load on the brake in N\n",
+ "fh=10#.................#Fuel used per hour in kg\n",
+ "C=44300#...............#Calorific value of fuel in kJ/kg\n",
+ "k=0.5#.................#Four stroke engine\n",
+ "#Calculations\n",
+ "mf=fh/3600#.........................#Fuel used per second in kg\n",
+ "pm=pmg-pmp#.......................#Net pressure\n",
+ "IP=(n*pm*L*(pi/4)*D*D*N*k*10)/6#..........#/Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%(IP)\n",
+ "BP=((Nl)*pi*Db*N)/(60*1000)#...............#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%(BP)\n",
+ "etamech=BP/IP#...........................#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)\n",
+ "etath=IP/(mf*C)#.........................#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.23 PAGE 585"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake mean effective pressure = 553.38 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "etabth=0.3#....................#Brake thermal efficiency\n",
+ "afrw=20#........................#Air fuel ratio by weight\n",
+ "C=41800#.........................#Calorific value of fuel used in kJ/kg\n",
+ "R=287#........................#Gas constant in J/kg\n",
+ "#Calculations\n",
+ "Wp=etabth*C#...................#Work produced per kg of fuel in kJ\n",
+ "p1=1.0132#t=273+15#............#STP conditions in bar and Kelvin\n",
+ "V=(afrw*t*R)/(p1*10**5)#.......#Volume of air used in m**3\n",
+ "pmb=(Wp*1000)/(V*10**5)#........#Brake mean effective pressure in bar\n",
+ "print \"Brake mean effective pressure = %0.2f bar\"%(pmb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.24 PAGE 585"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volumetric efficiency = 85.67 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "v1=0.216#.....................#Gas consumption in m**3/min\n",
+ "pw=75#........................#Pressure of gas in mm of water\n",
+ "t1=290#......................#Temperature of gas in K\n",
+ "ac=2.84#....................#Air consumption in kg/min\n",
+ "br=745#......................#Barometer reading in m of Hg\n",
+ "D=0.25#.....................#Engine bore in m\n",
+ "L=0.475#......................#Engine stroke in m\n",
+ "N=240#........................#Engine rpm\n",
+ "R=287#......................#Gas constant for air in J/kgK\n",
+ "#Calculations\n",
+ "p1=br+(pw/13.6)#...................#Pressure of gas in mm of mercury\n",
+ "p2=760\n",
+ "t2=273#.....................#NTP conditions in mm of Hg and Kelvin\n",
+ "v2=(p1*v1*t2)/(t1*p2)#...............#Volume of gas used at NTP in m**3\n",
+ "gs=v2/(N/2)#.........................#Gas used per stroke in m**3\n",
+ "v=(ac*R*t2)/(1.0132*10**5)#...........#Volume occupied by air at NTP in m**3/min\n",
+ "aps=v/(N/2)#...........................#Air used per stroke\n",
+ "Va=gs+aps#.....................#Actual volume of mixture in m**3 drawn per stroke at NTP\n",
+ "Vs=(pi/4)*D*D*L#...............#Swept volume in mm**3\n",
+ "etaV=(Va/Vs)#...................#Volumetric efficiency\n",
+ "print \"Volumetric efficiency = %0.2f %%\"%(etaV*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.25 PAGE 586"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 26.59 kW\n",
+ "Brake power = 22.87 kW\n",
+ "Mechanical efficiency = 86.00 %\n",
+ "Indicated thermal efficiency = 22.79 %\n",
+ "Relative efficiency = 43.24 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "t=1#...................#Duration of trial in hrs\n",
+ "Rev=14000#.............#Revolutions\n",
+ "nmc=500#...............#Number of missed cycles\n",
+ "bl=1470#................#Net Brake load in N\n",
+ "mep=7.5#................#Mean effective pressure in bar\n",
+ "gc=20000#...............#Gas consumption in litres\n",
+ "lcv=21#.................#LCV of gas at supply condition in kJ/litre\n",
+ "D=0.25#.................#Engine bore in m\n",
+ "L=0.4#.................#Engine stroke in m\n",
+ "r=6.5#..................#Compression ratio\n",
+ "n=1#......................#No of cylinders\n",
+ "Cb=4#......................#Effective brake Circumference \n",
+ "k=0.5#....................#Four stroke engine\n",
+ "ga=1.4#......................#Degree of freedom\n",
+ "#Calculations\n",
+ "N=Rev/60#..............#Engine rpm\n",
+ "Vg=gc/3600#.............#Fuel consumption in litres/s\n",
+ "Na=((Rev/2)-nmc)/60#................#Working cycles per min\n",
+ "IP=(n*mep*L*(pi/4)*D*D*Na*10)/6#............#indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%(IP)\n",
+ "BP=((bl)*Cb*N)/(60*1000)#...............#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%(BP)\n",
+ "etamech=BP/IP#...........................#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)\n",
+ "etath=IP/(Vg*lcv)#.........................#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "etast=1-(1/r**(ga-1))#............#Air standard efficiency \n",
+ "etarel=etath/etast#............#Relative efficiency\n",
+ "print \"Relative efficiency = %0.2f %%\"%(etarel*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.26 PAGE 587"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The compression ratio : 5.58\n",
+ "Thermal efficiency = 19.89 %\n",
+ "Gas consumption = 0.96 m**3/IP hour\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=1.3#...................#Index of compression\n",
+ "pa=1.4#\n",
+ "pb=3.6#\n",
+ "posa=(1/4)#..........#Point a - the position 1/4 of the stroke\n",
+ "posb=(3/4)#..........#Point b - the position 3/4 of the stroke\n",
+ "ga=1.4#...............#Degree of freedom for gas\n",
+ "etarel=0.4#...................#Relative efficiency\n",
+ "C=18800#....................#Calorific value of fuel in kJ/m**3\n",
+ "#Calculations\n",
+ "r=1+((((pb/pa)**(1/n))-1)/(posb-(((pb/pa)**(1/n))*(posa))))#.........#Compression ratio\n",
+ "print \"The compression ratio : %0.2f\"%r\n",
+ "etast=1-(1/r**(ga-1))#............#Air standard efficiency \n",
+ "etath=etarel*etast#............#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "v=1/(etath*C)#...............#Gas consumption per IP sec\n",
+ "print \"Gas consumption = %0.2f m**3/IP hour\"%(v*3600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.27 PAGE 587"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mean effective pressure developed = 6.54 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=6#.....................#No of cylinders\n",
+ "r=5#..................#Compression ratio\n",
+ "Vc=0.000115#................#Clearance volume of each cylinder in m**3\n",
+ "fc=10.5#.....................#Fuel consumed in kg/h\n",
+ "C=41800#......................#Calorific value of fuel in kJ/kg\n",
+ "N=2500#.......................#Engine speed in rpm\n",
+ "er=0.65#.......................#Efficiency ratio\n",
+ "ga=1.4#........................#Degree of freedom\n",
+ "#calculations\n",
+ "etast=1-(1/r**(ga-1))#...............................#Air standard efficiency\n",
+ "etath=etast*er#.................................#Thermal efficiency\n",
+ "IP=etath*(fc/3600)*C#..........................#Indicated power in kW\n",
+ "Wnet=(IP*(10**3)*60)/(n*(N/2))#..............#Net work froom one cycle per cylinder in N-m\n",
+ "Vs=(r-1)*Vc#......................#Swept volume in m**3\n",
+ "pm=Wnet/(Vs*10**5)#...................#Mean effective pressure developed\n",
+ "print \"Mean effective pressure developed = %0.2f bar\"%(pm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.28 PAGE 588"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mean effective pressure = 8.11 bar\n",
+ "Brake mean effective pressure = 6.16 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=0.2#.................#Engine bore in m\n",
+ "L=0.25#...............#Engine stroke in m\n",
+ "n=2#......................#No of cylinders\n",
+ "r=13#......................#Compression ratio\n",
+ "fc=14#..................#Fuel consumption in kg/h\n",
+ "N=300#....................#Engine rpm\n",
+ "etarel=0.65#..............#Relative efficiency\n",
+ "etamech=0.76#.............#Mechanical efficiency\n",
+ "co=0.05#.....................#Cut off of the stroke\n",
+ "C=41800#.....................#Calorific value of fuel in kJ/kg\n",
+ "k=1#........................#Two stroke engine\n",
+ "ga=1.4#.......................#Degree of freedom\n",
+ "#calculations\n",
+ "rho=1+(co*(r-1))#\n",
+ "etast=1-((1/(r**(ga-1)))*(1/ga)*((rho**ga)-1)*(1/(rho-1)))#............#Air standard efficiency\n",
+ "etath=etarel*etast#........................#Thermal efficiency\n",
+ "IP=etath*(fc/3600)*C#........................#Indicated power in kW\n",
+ "BP=etamech*IP#................................#Brake power in kW\n",
+ "pmi=(6*IP)/(n*N*L*(pi/4)*D*D*k*10)#............#mean effective pressure in bar\n",
+ "print \"Mean effective pressure = %0.2f bar\"%(pmi)\n",
+ "pmb=pmi*etamech#...........................#Brake mean effective pressure in bar\n",
+ "print \"Brake mean effective pressure = %0.2f bar\"%(pmb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.29 PAGE 589"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The compression ratio : 6.26\n",
+ "Indicated thermal efficiency : 36.40 %\n",
+ "Brake specific fuel consumption = 0.27 kg/kWs\n",
+ "Engine bore = 108.20 mm\n",
+ "Engine stroke = 135.25 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=4#.................#No of cylinders\n",
+ "C=45200#..................#calorific value of fuel in kJ/kg\n",
+ "etamech=0.82#...............#Mechanical efficiency\n",
+ "etarel=0.7#.................#Relative efficiency\n",
+ "etast=0.52#...............#Air standard efficiency\n",
+ "etav=0.78#...............#Volumetric efficiency\n",
+ "sbr=1.25#...................#Stroke bore ratio\n",
+ "N=2400#...................#Engine rpm\n",
+ "p=1#.......................#Suction pressure in bar\n",
+ "t=298#....................#Suction temperature in bar\n",
+ "BP=72#...................#Brake power in kW\n",
+ "ga=1.4#......................#Degree of freedom\n",
+ "afr=16#.................#Air fuel ratio\n",
+ "R=287#.......................#Gas constant in J/kg\n",
+ "#calculations\n",
+ "r=(1/(1-etast))**(1/(ga-1))#............#Compression ratio\n",
+ "print \"The compression ratio : %0.2f\"%r\n",
+ "etath=etast*etarel#......................#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency : %0.2f %%\"%(etath*100)\n",
+ "IP=BP/etamech#....................#Indicated power in kW\n",
+ "mf=IP/(etath*C)#......................#Fuel consumption in kg/s\n",
+ "bsfc=mf/BP#......................#Brake specific fuel consumption in kg/kWs\n",
+ "print \"Brake specific fuel consumption = %0.2f kg/kWs\"%(bsfc*3600)\n",
+ "mafm=afr+1#......................#Mass of air fuel mixture in kg/kg of fuel\n",
+ "mafm1=mafm*mf#....................#Mass of air fuel mixture when mf amount of fuel is supplied to engine per second\n",
+ "v=(mafm1*R*t)/(p*10**5)#.......................#/Volume of air fuel mixture supplied to the engine in m**3\n",
+ "Vs=v/etav#..............................#Swept volume in m**3\n",
+ "D=((Vs)/((pi/4)*sbr*n*(N/(2*60))))**(1/3)#............#Engine bore in m\n",
+ "print \"Engine bore = %0.2f mm\"%(D*1000)\n",
+ "print \"Engine stroke = %0.2f mm\"%(D*1000*sbr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.30 PAGE 589"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake power = 14.81 kW\n",
+ "Mechanical efficiency = 85.00 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=1#.......................#No of cylinders\n",
+ "D=0.18#...................#Engine bore in m\n",
+ "L=0.34#....................#Engine stroke in m\n",
+ "N=400#......................#Engine rpm\n",
+ "mepw=6.4#.................#Mean effective pressure of working loop in bar\n",
+ "mepp=0.36#..................#Mean effective pressure of pumping loop in bar\n",
+ "mepd=0.64#.................#Mean effective pressure (dead cycle) iin bar\n",
+ "fs=46#................#Firing strokes per min\n",
+ "#calculations\n",
+ "pminet=mepw-mepp#..........#Net indicated mean effective pressure in bar\n",
+ "dc=(N/2)-fs#...............#Dead cycles per min\n",
+ "IPnet=(n*pminet*(pi/4)*L*D*D*fs*4*10)/6#.............#Net indicated power output in kW\n",
+ "ppdc=(n*pminet*L*(pi/4)*D*D*10*dc)/6#.............#Pumping power of dead cycles in kW\n",
+ "FP=IPnet-ppdc#...........................#Frictional power in kW\n",
+ "IP=(n*pminet*L*(pi/4)*D*D*(N/2)*10)/6#...............#Indicated power in kW\n",
+ "BP=IP-FP#..................#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%(BP)\n",
+ "etamech=BP/IP#.................#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.31 PAGE 590"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mechanical efficiency = 81.61 %\n",
+ "Brake thermal efficiency = 39.54 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=1#..............#No of cylinders\n",
+ "B=0.32#...............#Engine bore in m\n",
+ "L=0.42#..............#Engine stroke in m\n",
+ "N=200#................#Engine rpm\n",
+ "Nk=90#..................#No of explosions per min\n",
+ "v1=11.68#............#Gas used in m**3/h\n",
+ "pg=170#................#Pressure of gas in mm of water \n",
+ "br=755#................#Barometer reading in mm of Hg\n",
+ "pmi=6.2#.................#Mean effective pressure in bar\n",
+ "C=21600#.......................#Calorific value of gas in kJ/kg\n",
+ "bl=2040#......................#Net load on brake in N\n",
+ "Db=1.2#......................#Brake drum diameter in m\n",
+ "t1=298#.....................#Ambient temperature in Kelvin\n",
+ "#Calculations\n",
+ "IP=(n*pmi*L*(pi/4)*B*B*Nk*10)/6#..........................#Indicated power in kW\n",
+ "BP=(bl*pi*Db*N)/(60*1000)#.........................#Brake power in kW\n",
+ "etamech=(BP/IP)#...................#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)\n",
+ "p1=br+(pg/13.6)#.................#In mm of Hg\n",
+ "p2=760#t2=273#...................#NTP conditions in mm of Hg and Kelvin\n",
+ "v2=(p1*v1*t2)/(p2*t1)#\n",
+ "etabth=BP/((v2/3600)*C)#..............#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etabth*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.32 PAGE 591"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volumetric efficiency = 66.45 %\n",
+ "Air fuel ratio : 13.20\n",
+ "Mean effective pressure = 7.55 bar\n",
+ "Relative efficiency = 53.79 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,sqrt\n",
+ "# Initialisation of Variables\n",
+ "n=1#...................#No of cylinders\n",
+ "d=0.032#................#Diameter of circular orifice in m\n",
+ "Cd=0.62#.............#Co efficient of discharge\n",
+ "hw=150#.................#Pressure across orfice in mm of water\n",
+ "t=20+273#..............#Temperature of air in the room in Kelvin\n",
+ "p=1.0132#.................#Ambient pressure in bar\n",
+ "pd=0.00178#............#Piston displacement in m**3\n",
+ "R=287#....................#Gas constant in J/kg\n",
+ "r=6.5#..................#Compression ratio\n",
+ "fc=0.135#................#Fuel consumption in kg/min\n",
+ "C=43900#.................#Calorific value of fuel in kJ/kg\n",
+ "BP=28#................#Brake power in kW\n",
+ "N=2500#...................#Engine rpm\n",
+ "k=0.5#....................#Four stroke engine\n",
+ "g=9.81#.......................#Acceleration due to gravity in m/s**2\n",
+ "rhow=1000#....................#Density of water in kg/m**3\n",
+ "ga=1.4#........................#Degree of freedom\n",
+ "#calculations\n",
+ "mbyv=(p*10**5)/(R*t)#\n",
+ "pw=(hw/rhow)*rhow#....................#Pressure across orifice in kg/m**2\n",
+ "H=pw/mbyv#........................#Head of air column causing the flow in m\n",
+ "ma=Cd*(pi/4)*d*d*sqrt(2*g*H)#................#Air flow through orifice in m**3/s\n",
+ "maps=(ma*60)/(N/2)#........................#Air consumption per stroke\n",
+ "etav=maps/pd#.................#Volumetric efficiency\n",
+ "print \"Volumetric efficiency = %0.2f %%\"%(etav*100)\n",
+ "ac=ma*60*mbyv#...............#Mass of air drawn into cylinder per min in kg\n",
+ "afr=ac/fc#...................#Air fuel ratio\n",
+ "print \"Air fuel ratio : %0.2f\"%afr\n",
+ "pmb=(6*BP)/(n*pd*N*k*10)#...................#Mean effective pressure in bar\n",
+ "print \"Mean effective pressure = %0.2f bar\"%(pmb)\n",
+ "etast=1-(1/(r**(ga-1)))#...............#Air standard efficiency\n",
+ "etabth=BP/((fc/60)*C)#...............#Brake thermal efficiency\n",
+ "etarel=etabth/etast#.................#Relative efficiency\n",
+ "print \"Relative efficiency = %0.2f %%\"%(etarel*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.33 PAGE 591"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 7.50 kW\n",
+ "Brake power = 8.04 kW\n",
+ "Brake mean effective pressure = 6.00 bar\n",
+ "Brake specific fuel consumption = 0.35 kg/BP h\n",
+ "Brake thermal efficiency = 24.74 %\n",
+ "Indicated thermal efficiency = 30.92 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "N=400#.................#Engine rpm\n",
+ "n=1#....................#no of cylinders\n",
+ "W=370#.................#Load on the brake in N\n",
+ "S=50#..................#Spring balance readin in N\n",
+ "Db=1.2#.................#Diameter of the brake drum\n",
+ "mf=2.8#.................#Fuel consumption in kg/h\n",
+ "C=41800#..................#Calorific value of fuel in kJ/kg\n",
+ "D=0.16#...................#Engine bore in m\n",
+ "L=0.2#....................#Engine stroke in m\n",
+ "k=0.5#.....................#Four stroke engine\n",
+ "Sc=1#....................#Spring constant in bar/mm\n",
+ "l=40#....................#Length of diagram in mm\n",
+ "aic=300#.................#Area of indicator card in mm**2\n",
+ "#Calculations\n",
+ "pmi=aic*(Sc/l)#..................#Mean effective pressure in bar\n",
+ "IP=(n*pmi*L*(pi/4)*D*D*k*N*10)/6#..............#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%(pmi)\n",
+ "BP=((W-S)*pi*Db*N)/(60*1000)#............#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%(BP)\n",
+ "pmb=(BP*6)/(n*L*D*D*(pi/4)*k*N*10)#...........#Brake mean effective pressure in bar\n",
+ "print \"Brake mean effective pressure = %0.2f bar\"%(pmb)\n",
+ "bsfc=mf/BP#.................#Brake specific fuel consumption in kg/BP h\n",
+ "print \"Brake specific fuel consumption = %0.2f kg/BP h\"%bsfc\n",
+ "etabth=BP/((mf/3600)*C)#..................#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etabth*100)\n",
+ "etaith=IP/((mf/3600)*C)#....................#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etaith*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.34 PAGE 592"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated thermal efficiency = 27.96 %\n",
+ "Mean effective pressure = 8.06 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "R=287#................#Gas constant in J/kg K\n",
+ "n=4#...................#No of cylinders\n",
+ "D=0.0825#..............#Engine bore in m\n",
+ "L=0.13#................#Engine stroke in m\n",
+ "BP=28#..................#Brake power in kW\n",
+ "N=1500#.................#Engine rpm\n",
+ "afrth=14.8#...............#theoretical air fuel ratio \n",
+ "C=45980#..................#Calorific value of fuel in kJ/kg\n",
+ "etamech=0.9#.............#Mechanical efficiency\n",
+ "ap=70#..................#Percentage of Volume of air in he cylinder\n",
+ "fr=20#..................#Percentage richness of the fuel\n",
+ "p1=1.0132#.................#Ambient pressure in bar\n",
+ "pc=762#...................#Pressure in the cylinder in mm of Hg \n",
+ "tc=273+15.5#...............#Temperature in the cylinder in Kelvin\n",
+ "k=0.5#..................#Four stroke engine\n",
+ "#Calculations\n",
+ "Vs=(pi/4)*D*D*L#.......................#Swept volume in m**3\n",
+ "va=(ap/100)*Vs#.....................#Volume of air drawn in m**3\n",
+ "p=(pc/760)*p1#\n",
+ "m=(p*(10**5)*va)/(R*tc)#...................#Mass of air per stroke per cylinder\n",
+ "tmau=m*(N/2)*n#...................#Theoretical mass of air used per minute in kg\n",
+ "tmfu=tmau/afrth#..................#Theoretical mass of fyel used per min in kg\n",
+ "mf=(tmfu/60)*((100+fr)/100)#...............#Mass of fuel burnt per second in kg\n",
+ "IP=BP/etamech#.........................#Indicated power in kW\n",
+ "etaith=IP/(mf*C)#.....................#Indicated thermal efficiency \n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etaith*100)\n",
+ "pmb=(BP*6)/(n*L*D*D*(pi/4)*N*10*k)#...............#Mean effective pressure in bar\n",
+ "print \"Mean effective pressure = %0.2f bar\"%(pmb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.35 PAGE 593"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 13.44 kW\n",
+ "Brake power = 10.76 kW\n",
+ "Indicated thermal efficiency = 23.87 %\n",
+ "Brake thermal efficiency = 19.11 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=1#..................#No of cylinders\n",
+ "D=0.2#............#Engine bore in m\n",
+ "L=0.4#..............#Engine stroke in m\n",
+ "Nt=9400#...............#Total no of revolutions \n",
+ "Ne=4200#...............#Total no of explosions\n",
+ "t=40#...................#Duration of testing in min\n",
+ "Nk=Ne/t#...............#No of explosions\n",
+ "bl=540#...............#Brake load in N\n",
+ "Db=1.6#.................#Diameter of brake wheel in m\n",
+ "d=0.02#................#Diameter of rope in m\n",
+ "gu=8.5#..................#Gas used in m**3/sec\n",
+ "C=15900#...............#Calorific value of fuel in kJ/kg\n",
+ "Vg=(gu/(t*60))#.................#Volume of gas used in m**3/sec\n",
+ "aic=550#.....................#Area of indicator diagram mm**2\n",
+ "l=72#.......................#Length of indicator diagram in mm\n",
+ "s=0.8#.....................#Spring number in bar/mm\n",
+ "#calculations\n",
+ "pmi=(aic*s)/l#................#Mean effective pressure in bar\n",
+ "IP=(n*pmi*L*D*D*(pi/4)*Nk*10)/6#............#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%(IP)\n",
+ "BP=(bl*pi*(Db+d)*(Nt/t))/(60*1000)#...............#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%(BP)\n",
+ "etaith=IP/(Vg*C)#...............#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etaith*100)\n",
+ "etabth=BP/(Vg*C)#...............#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etabth*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.36 PAGE 594"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake mean effective pressure = 3.97 bar\n",
+ "Brake specific fuel consumption = 0.30 kg/kWh\n",
+ "Brake thermal efficiency = 26.38 %\n",
+ "Volumetric efficiency = 61.01 %\n",
+ "Percentage of excess air supplied : 43.76\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,sqrt\n",
+ "# Initialisation of Variables\n",
+ "n=6#....................#No of cylinders\n",
+ "D=0.125#................#Engine bore in m\n",
+ "L=0.125#...............#Engine stroke in m\n",
+ "N=2400#.................#Engine rpm\n",
+ "W=490#...............#Load on the dynamometer in N\n",
+ "CD=16100#...............#Dynamometer constant\n",
+ "d0=0.055#...................#Air orifice diameter in m\n",
+ "Cd=0.66#...................#Co efficient of discharge\n",
+ "hw=310#.................#Head causing flow through prifice in mm of water\n",
+ "br=760#................#Barometer reading in mm of Hg\n",
+ "t=298#..................#Ambient temperature in Kelvin\n",
+ "fc=22.1#..................#Fuel consumption per hour in kg\n",
+ "C=45100#..................#Calorific value of fuel used in kJ/kg\n",
+ "perc=85#...................#Percentage of carbon in the fuel\n",
+ "perh=15#...................#Percentage of hydrogen in the fuel\n",
+ "p1=1.013#....................#Pressure of air at the end of suction stroke in bar\n",
+ "t1=298#......................#Temperature of air the the end of suction stroke in Kelvin\n",
+ "k=0.5#.......................#Four stroke engine\n",
+ "R=287#.......................#Gas constant in J/kgK\n",
+ "#calculations\n",
+ "BP=W*(N/CD)#................#Brake power in kW\n",
+ "pmb=(BP*6)/(L*D*D*k*10*N*n*(pi/4))#................#Brake mean effective pressure in bar\n",
+ "print \"Brake mean effective pressure = %0.2f bar\"%(pmb)\n",
+ "bsfc=fc/BP#.......................#Brake specific fuel consumption in kg/kWh\n",
+ "print \"Brake specific fuel consumption = %0.2f kg/kWh\"%(bsfc)\n",
+ "etathb=BP/((fc/3600)*C)#......................#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etathb*100)\n",
+ "Vst=(pi/4)*D*D*L#..............#Stroke volume in m**3\n",
+ "Val=840*(pi/4)*d0*d0*Cd*sqrt((hw/10)/((p1*10**5)/(R*t1)))#............#Volume of air passing through orifice of air box per min\n",
+ "Vac=Val/n#.........................#Actual volume of air per cylinder in m**3/min\n",
+ "asps=Vac/(N/2)#.......................#Air supplied per stroke per cylinder in m**3\n",
+ "etav=asps/Vst#....................#Volumetric efficiency\n",
+ "print \"Volumetric efficiency = %0.2f %%\"%(etav*100)\n",
+ "Qa=(100/23)*(((perc/100)*(8/3))+((perh/100)*(8/1)))#.....................#Quantity of air required per kg of fuel combustion\n",
+ "aqas=(Val*((p1*10**5)/(R*t1))*60)/fc#....................#Actual quantity of air supplied per kg of fuel\n",
+ "pe=(aqas-Qa)/Qa#....................#Fraction of excess air supplied to engine\n",
+ "print \"Percentage of excess air supplied : %0.2f\"%(pe*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.37 PAGE 595"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mechanical efficiency = 77.28 %\n",
+ "Brake thermal efficiency = 23.26 %\n",
+ "HEAT BALANCE TABLE : \n",
+ "_______________________________________________________________________\n",
+ "Item kJ Percent\n",
+ "_______________________________________________________________________\n",
+ "Heat supplied by fuel 367840 100.00\n",
+ "Heat absorbed in IP 110694 30.09\n",
+ "Heat taken away by cooling water 59774 16.25\n",
+ "Heat carried away by exhaust gases 197371 53.66\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=1#......................#No of cylinders\n",
+ "D=0.3#....................#Engine bore in m\n",
+ "L=0.45#....................#Engine stroke in m\n",
+ "mf=8.8#...................#Fuel consumption in kg/h\n",
+ "C=41800#...................#Calorific value of fuel in kJ/kg\n",
+ "N=200#....................#Engine rpm\n",
+ "pmi=5.8#....................#Mean effective pressure in bar\n",
+ "bl=1860#....................#Brake load in N\n",
+ "Db=1.22#...................#Diameter of brake drum in m\n",
+ "k=0.5#........................#four stroke engine\n",
+ "mw=650#......................#Mass of cooling water in kg\n",
+ "cpw=4.18#....................#Specific heat capacity of water\n",
+ "delt=22#......................#Temperature rise\n",
+ "#Calculations\n",
+ "IP=(n*L*D*D*k*10*pmi*N*(pi/4))/6#...............#Indicated power in kW\n",
+ "BP=(bl*pi*Db*N)/(60*1000)#..................#Brake power in kW\n",
+ "etamech=BP/IP#............#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)\n",
+ "etathb=BP/((mf/3600)*C)#...................#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etathb*100)\n",
+ "#Heat supplied\n",
+ "hip=IP*3600#...........#Heat equivalent of IP in kJ/h\n",
+ "hcw=mw*cpw*delt#..........#Heat carried away by cooling water\n",
+ "hf=mf*C#................#heat supplied by fuel\n",
+ "hex=hf-hip-hcw#..........#Heat carried by exhaust gasses\n",
+ "pf=100#\n",
+ "pip=(hip/hf)*100#\n",
+ "pcw=(hcw/hf)*100#\n",
+ "pex=(hex/hf)*100\n",
+ "print \"HEAT BALANCE TABLE : \"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Item kJ Percent\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Heat supplied by fuel %d %0.2f\"%(hf,pf)\n",
+ "print \"Heat absorbed in IP %d %0.2f\"%(hip,pip)\n",
+ "print \"Heat taken away by cooling water %d %0.2f\"%(hcw,pcw)\n",
+ "print \"Heat carried away by exhaust gases %d %0.2f\"%(hex,pex)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.38 PAGE 596"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Brake power = 37.01 kW\n",
+ "Brake specific fuel consumption = 0.28 kg/kWh:\n",
+ "Brake thermal efficiency = 29.76 %\n",
+ "HEAT BALANCE TABLE:\n",
+ "_______________________________________________________________________\n",
+ "Item kJ Percent\n",
+ "_______________________________________________________________________\n",
+ "Heat supplied by fuel 7461 100.00\n",
+ "Heat absorbed in BP 2220 29.76\n",
+ "Heat taken away by cooling water 2332 31.26\n",
+ "Heat carried away by exhaust gases 1811 24.28\n",
+ "Unaccounted heat 1097 14.70\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "r=15#................#Compression ratio\n",
+ "n=1#...................#No of cylinders\n",
+ "mf=10.2#..................#Fuel consumption in kg/h\n",
+ "C=43890#.................#Calorific value of fuel in kJ/kg\n",
+ "ma=3.8#.................#Consumption of air in kg/min\n",
+ "N=1900#...................#Engine rpm\n",
+ "T=186#....................#Torque on brake drum in Nm\n",
+ "mw=15.5#.................#Mass of cooling water used in kg/min\n",
+ "delt=36#..................#temperature rise\n",
+ "tg=410#..................#Exhaust gas temperature in Celsius\n",
+ "tr=20#...................#Room temperature in Celsius\n",
+ "cp=1.17#.................#Specific heat capacity for exhaust gases kJ/kgK\n",
+ "cpw=4.18#..................#Specific heat capacity for water in kJ/kgK\n",
+ "#calculations\n",
+ "BP=(2*pi*N*T)/(60*1000)#................#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%BP\n",
+ "bsfc=mf/BP#.............................#Brake specific fuel consumption in kg/kWh\n",
+ "print \"Brake specific fuel consumption = %0.2f kg/kWh:\"%bsfc\n",
+ "etabth=BP/((mf/3600)*C)#....................#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etabth*100)\n",
+ "#Heat supplied\n",
+ "mg=(mf/60)+ma#....................#Mass of exhaust gases in kg/min\n",
+ "hbp=BP*60#...........#Heat equivalent of BP in kJ/min\n",
+ "hcw=mw*cpw*delt#..........#Heat carried away by cooling water\n",
+ "hf=(mf/60)*C#................#heat supplied by fuel\n",
+ "hex=mg*cp*(tg-tr)#..........#Heat carried by exhaust gasses\n",
+ "ha=round(hf)-round(hbp+hex+hcw)#............#Unaccounted heat\n",
+ "pf=100#\n",
+ "pbp=(hbp/hf)*100#\n",
+ "pcw=(hcw/hf)*100#\n",
+ "pex=(hex/hf)*100#\n",
+ "pa=(ha/hf)*100#\n",
+ "print \"HEAT BALANCE TABLE:\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Item kJ Percent\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Heat supplied by fuel %d %0.2f\"%(hf,pf)\n",
+ "print \"Heat absorbed in BP %d %0.2f\"%(hbp,pbp)\n",
+ "print \"Heat taken away by cooling water %d %0.2f\"%(hcw,pcw)\n",
+ "print \"Heat carried away by exhaust gases %d %0.2f\"%(hex,pex)\n",
+ "print \"Unaccounted heat %d %0.2f\"%(ha,pa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.39 PAGE 597"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 15.91 kW\n",
+ "Brake power = 11.73 kW\n",
+ "HEAT BALANCE TABLE\n",
+ "_______________________________________________________________________\n",
+ "Item kJ Percent\n",
+ "_______________________________________________________________________\n",
+ "Heat supplied by fuel 66728 100.000000\n",
+ "Heat absorbed in IP 19088 28.606158\n",
+ "Heat taken away by cooling water 16929 25.370159\n",
+ "Heat carried away by dry exhaust gases 13448 20.154897\n",
+ "Heat carried away by steam in exhaust gases 6606 9.901049\n",
+ "Unaccounted heat 10655 15.967810\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "Cpw=4.18#..............#Specific heat of water in kJ/kgK\n",
+ "n=1#................#No of cylinders\n",
+ "N=350#.......#Engine rpm\n",
+ "pmi=3.1#..........#Mean effective pressure in bar\n",
+ "bl=640#..........#Brake load in N\n",
+ "mf=1.52#............#Fuel consumption in kg\n",
+ "mw=162#..............#Mass of cooling water\n",
+ "tw1=30#...............#Water inlet temperature in C\n",
+ "tw2=55#................#Water outlet temperature in C\n",
+ "ma=32#..................#Mass of air used per kg of fuel in kg\n",
+ "tr=25#.................#Room temperature in C\n",
+ "tg=305#.................#Exhaust temperature in C\n",
+ "D=0.2#.................#Engine bore in m\n",
+ "L=0.28#.................#Engine stroke in m\n",
+ "Db=1#......................#Brake drum diameter in m\n",
+ "ms=1.4#......................#Mass of steam formed per kg of fuel exhaust in kg\n",
+ "C=43900#...................#Calorirfic value of fuel in kJ/kg\n",
+ "Cps=2.09#..................#Specific heat of steamm in exhaust in kJ/kgK\n",
+ "Cpg=1.0#...................#Specific heat of dry exhaust gases in kJ/kgK\n",
+ "k=1#....................#Two stroke engiine\n",
+ "t=20#.....................#Duration of testing in min\n",
+ "#Calculations\n",
+ "IP=(n*pmi*N*D*D*L*k*10*(pi/4))/6#...................#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%IP\n",
+ "BP=(bl*pi*Db*N)/(60*1000)#......................#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%BP\n",
+ "#Heat supplied\n",
+ "hf=mf*C#................#heat supplied by fuel\n",
+ "hip=IP*60*t#...........#Heat equivalent of BP in kJ/min\n",
+ "hcw=mw*Cpw*(tw2-tw1)#..........#Heat carried away by cooling water\n",
+ "mg=mf+(ma*mf)#....................#Mass of exhaust gases in kg/min\n",
+ "mst=mf*ms#..................#Mass of steam formed\n",
+ "hg=(mg-mst)*Cpg*(tg-tr)#..........#Heat carried by exhaust gasses\n",
+ "hst=mst*(417.5+2257.9+(Cps*(305-99.6)))#....................#Heat carried by exhaust steam, the obtained values are from steam table and hence are constants at NTP\n",
+ "ha=round(hf)-round(hip+hg+hst+hcw)#............#Unaccounted heat\n",
+ "pf=100#\n",
+ "pip=(hip/hf)*100#\n",
+ "pcw=(hcw/hf)*100#\n",
+ "pg=(hg/hf)*100#\n",
+ "pa=(ha/hf)*100#\n",
+ "pst=(hst/hf)*100#\n",
+ "print \"HEAT BALANCE TABLE\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Item kJ Percent\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Heat supplied by fuel %d %f\"%(hf,pf)\n",
+ "print \"Heat absorbed in IP %d %f\"%(hip,pip)\n",
+ "print \"Heat taken away by cooling water %d %f\"%(hcw,pcw)\n",
+ "print \"Heat carried away by dry exhaust gases %d %f\"%(hg,pg)\n",
+ "print \"Heat carried away by steam in exhaust gases %d %f\"%(hst,pst)\n",
+ "print \"Unaccounted heat %d %f\"%(ha,pa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.40 PAGE 598"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volumetric efficiency = 68.49 %\n",
+ "Brake mean effective pressure = 5.14 bar\n",
+ "Engine torque = 269.63 N-m\n",
+ "Brake specific fuel consumption = 0.27 kg/kWh\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,sqrt\n",
+ "# Initialisation of Variables\n",
+ "n=6#................#No of cylinders\n",
+ "D=0.1#...............#Engine bore in m\n",
+ "L=0.14#...............#Engine stroke in m\n",
+ "N=2500#...............#Engine rpm\n",
+ "k=0.5#..................#Four stroke\n",
+ "bl=480#.................#Brake load in N\n",
+ "br=76#..................#Barometer reading in cm of Hg\n",
+ "d0=3.3/100#..............#Orifice diameter in m\n",
+ "Cd=0.62#.................#Co efficient of discharge of orifice\n",
+ "pd=14#...................#Pressure drop across orifice in cm of Hg\n",
+ "tr=25#...............#Room temperature in C\n",
+ "mf=0.32#................#Fuel consumption in kg/min\n",
+ "rhohg=13600#.................#Density of Hg in kg/m**3\n",
+ "R=0.287#...................#gas constant in kJ/kgK\n",
+ "g=9.81#.................#Acceleration due to gravity in m/s**2\n",
+ "CD=17000#....................#dynamometer constant\n",
+ "#Calculations\n",
+ "Vs=(pi/4)*D*D*L*(N/2)*(n/60)#..............#Swept volume in m**3\n",
+ "br1=(br/100)*rhohg*g*(10**-3)#.............#Barometer reading into kN/m**2\n",
+ "rhoa=br1/(R*(tr+273))#...............#Density of air\n",
+ "pd1=(pd/100)*rhohg*g#......................#Conversion of pd into N/m**2\n",
+ "ha=pd1/(rhoa*g)#.......................#Head of air causing flow in m\n",
+ "Va=Cd*(pi/4)*d0*d0*sqrt(2*g*ha)#............#Volume of air passing through orifice of air box per min\n",
+ "etav=Va/Vs#....................#Volumetric efficiency\n",
+ "print \"Volumetric efficiency = %0.2f %%\"%(etav*100)\n",
+ "BP=bl*(N/CD)#................#Brake power in kW\n",
+ "pmb=(BP*6)/(L*D*D*k*10*N*n*(pi/4))#................#Brake mean effective pressure in bar\n",
+ "print \"Brake mean effective pressure = %0.2f bar\"%(pmb)\n",
+ "T=(BP*60*1000)/(2*pi*N)#....................#Engine torque in N-m\n",
+ "print \"Engine torque = %0.2f N-m\"%T\n",
+ "bsfc=(mf*60)/BP#.......................#Brake specific fuel consumption in kg/kWh\n",
+ "print \"Brake specific fuel consumption = %0.2f kg/kWh\"%bsfc"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.41 PAGE 598"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 14.06 kW\n",
+ "Indicated thermal efficiency = 26.85 %\n",
+ "HEAT BALANCE TABLE\n",
+ "_______________________________________________________________________\n",
+ "Item kJ Percent\n",
+ "_______________________________________________________________________\n",
+ "Heat supplied by fuel 3141.79 100.00\n",
+ "Heat equivalent of BP 659.73 21.00\n",
+ "Heat taken away by cooling water 862.12 27.44\n",
+ "Heat carried away by dry exhaust gases 782.78 24.92\n",
+ "Heat carried away by steam in exhaust gases 294.85 9.38\n",
+ "Unaccounted heat 543.00 17.28\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "Cpw=4.18#..............#Specific heat of water in kJ/kgK\n",
+ "n=1#................#No of cylinders\n",
+ "N=350#.......#Engine rpm\n",
+ "pmi=2.74#..........#Mean effective pressure in bar\n",
+ "bl=600#..........#Brake load in N\n",
+ "mf=4.22#............#Fuel consumption in kg\n",
+ "mw=495#..............#Mass of cooling water\n",
+ "tw1=13#...............#Water inlet temperature in C\n",
+ "tw2=38#................#Water outlet temperature in C\n",
+ "ma=135#..................#Mass of air used in kg/h\n",
+ "tr=20#.................#Room temperature in C\n",
+ "tg=370#.................#Exhaust temperature in C\n",
+ "D=0.2#.................#Engine bore in m\n",
+ "L=0.28#.................#Engine stroke in m\n",
+ "Db=1#......................#Brake drum diameter in m\n",
+ "C=44670#...................#Calorirfic value of fuel in kJ/kg\n",
+ "Cps=2.093#..................#Specific heat of steamm in exhaust in kJ/kgK\n",
+ "Cpg=1.005#...................#Specific heat of dry exhaust gases in kJ/kgK\n",
+ "k=1#....................#Two stroke engiine\n",
+ "t=60#.....................#Duration of testing in min\n",
+ "perh=15#.................#Percentage of H2 in the fuel\n",
+ "#Calculations\n",
+ "IP=(n*pmi*N*D*D*L*k*10*(pi/4))/6#...................#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%IP\n",
+ "BP=(bl*pi*Db*N)/(60*1000)#......................#Brake power in kW\n",
+ "etaith=(IP)/((mf/3600)*C)#.................#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etaith*100)\n",
+ "#Heat supplied\n",
+ "hf=(mf/t)*C#................#heat supplied by fuel\n",
+ "hbp=BP*t#...........#Heat equivalent of BP in kJ/min\n",
+ "hcw=(mw/60)*Cpw*(tw2-tw1)#..........#Heat carried away by cooling water\n",
+ "mg=(mf+ma)/t#....................#Mass of exhaust gases in kg/min\n",
+ "mst=9*(perh/100)*(mf/60)#..................#Mass of steam formed\n",
+ "mdg=mg-mst#..............................#Mass of dry exhaust gases per min\n",
+ "hg=(mdg)*Cpg*(tg-tr)#..........#Heat carried by exhaust gasses\n",
+ "hst=mst*(417.5+2257.9+(Cps*(305-99.6)))#....................#Heat carried by exhaust steam, the obtained values are from steam table and hence are constants at NTP\n",
+ "ha=round(hf)-round(hbp+hg+hst+hcw)#............#Unaccounted heat\n",
+ "pf=100#\n",
+ "pbp=(hbp/hf)*100#\n",
+ "pcw=(hcw/hf)*100#\n",
+ "pg=(hg/hf)*100#\n",
+ "pa=(ha/hf)*100#\n",
+ "pst=(hst/hf)*100#\n",
+ "print \"HEAT BALANCE TABLE\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Item kJ Percent\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Heat supplied by fuel %0.2f %0.2f\"%(hf,pf)\n",
+ "print \"Heat equivalent of BP %0.2f %0.2f\"%(hbp,pbp)\n",
+ "print \"Heat taken away by cooling water %0.2f %0.2f\"%(hcw,pcw)\n",
+ "print \"Heat carried away by dry exhaust gases %0.2f %0.2f\"%(hg,pg)\n",
+ "print \"Heat carried away by steam in exhaust gases %0.2f %0.2f\"%(hst,pst)\n",
+ "print \"Unaccounted heat %0.2f %0.2f\"%(ha,pa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.42 PAGE 599"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 75,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 17.38 kW\n",
+ "Brake power = 10.81 kW\n",
+ "HEAT BALANCE TABLE : \n",
+ "_______________________________________________________________________\n",
+ "Item kJ Percent\n",
+ "_______________________________________________________________________\n",
+ "Heat supplied by fuel 3146 100.00\n",
+ "Heat absorbed in IP 1043 33.15\n",
+ "Heat taken away by cooling water 870 27.68\n",
+ "Heat carried away by dry exhaust gases 877 27.89\n",
+ "Heat carried away by steam in exhaust gases 319 10.16\n",
+ "Unaccounted heat 35 1.11\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "Cpw=4.18#..............#Specific heat of water in kJ/kgK\n",
+ "n=1#................#No of cylinders\n",
+ "N=350#.......#Engine rpm\n",
+ "pmi=2.8#..........#Mean effective pressure in bar\n",
+ "bl=590#..........#Brake load in N\n",
+ "mf=4.3#............#Fuel consumption in kg\n",
+ "mw=500#..............#Mass of cooling water\n",
+ "tw1=25#...............#Water inlet temperature in C\n",
+ "tw2=50#................#Water outlet temperature in C\n",
+ "ma=33#..................#Mass of air used per kg of fuel in kg\n",
+ "tr=25#.................#Room temperature in C\n",
+ "tg=400#.................#Exhaust temperature in C\n",
+ "D=0.22#.................#Engine bore in m\n",
+ "L=0.28#.................#Engine stroke in m\n",
+ "Db=1#......................#Brake drum diameter in m\n",
+ "C=43900#...................#Calorirfic value of fuel in kJ/kg\n",
+ "Cps=2.09#..................#Specific heat of steamm in exhaust in kJ/kgK\n",
+ "Cpg=1.0#...................#Specific heat of dry exhaust gases in kJ/kgK\n",
+ "k=1#....................#Two stroke engiine\n",
+ "perh=15#...................#Percentage of hydrogen\n",
+ "#Calculations\n",
+ "IP=(n*pmi*N*D*D*L*k*10*(pi/4))/6#...................#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%IP\n",
+ "BP=(bl*pi*Db*N)/(60*1000)#......................#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%BP\n",
+ "#Heat supplied\n",
+ "hf=(mf/60)*C#................#heat supplied by fuel\n",
+ "hip=IP*60#...........#Heat equivalent of BP in kJ/min\n",
+ "hcw=(mw/60)*Cpw*(tw2-tw1)#..........#Heat carried away by cooling water\n",
+ "mg=(mf+(mf*ma))/60#....................#Mass of exhaust gases in kg/min\n",
+ "mst=9*(perh/100)*(mf/60)#..................#Mass of steam formed\n",
+ "mdg=mg-mst#..............................#Mass of dry exhaust gases per min\n",
+ "hg=(mdg)*Cpg*(tg-tr)#..........#Heat carried by exhaust gasses\n",
+ "hst=mst*(417.5+2257.9+(Cps*(400-99.6)))#....................#Heat carried by exhaust steam, the obtained values are from steam tables at NTP\n",
+ "mg=mf+(ma*mf)#....................#Mass of exhaust gases in kg/min\n",
+ "ha=round(hf)-round(hip+hg+hst+hcw)#............#Unaccounted heat\n",
+ "pf=100#\n",
+ "pip=(hip/hf)*100#\n",
+ "pcw=(hcw/hf)*100#\n",
+ "pg=(hg/hf)*100#\n",
+ "pa=(ha/hf)*100#\n",
+ "pst=(hst/hf)*100#\n",
+ "print \"HEAT BALANCE TABLE : \"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Item kJ Percent\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Heat supplied by fuel %d %0.2f\"%(hf,pf)\n",
+ "print \"Heat absorbed in IP %d %0.2f\"%(hip,pip)\n",
+ "print \"Heat taken away by cooling water %d %0.2f\"%(hcw,pcw)\n",
+ "print \"Heat carried away by dry exhaust gases %d %0.2f\"%(hg,pg)\n",
+ "print \"Heat carried away by steam in exhaust gases %d %0.2f\"%(hst,pst)\n",
+ "print \"Unaccounted heat %d %0.2f\"%(ha,pa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.43 PAGE 600"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 76,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "HEAT BALANCE TABLE: \n",
+ "_______________________________________________________________________\n",
+ "Item kJ Percent\n",
+ "_______________________________________________________________________\n",
+ "Heat supplied by fuel 7951 100.00\n",
+ "Heat absorbed in BP 3073 21.00\n",
+ "Heat taken away by cooling water 2544 27.68\n",
+ "Heat carried away by exhaust gases 1745 27.89\n",
+ "Unaccounted heat 589 1.11\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "I=210#.....................#Output of generator in A\n",
+ "V=200#.....................#Generator voltage in V\n",
+ "etag=0.82#.................#Generator efficiency \n",
+ "mf=11.2#....................#Fuel used in kg/h\n",
+ "C=42600#.......................#Calorific value of fuel in kJ/kg\n",
+ "afr=18#....................#Air fuel ratio\n",
+ "mc=580#.....................#Mass of water through calorimeter in kg/h\n",
+ "delt=36#....................#Temperature raise in C\n",
+ "tg=98#........................#Temperature of exhaust in C\n",
+ "ta=20#.......................#Ambient temperature in C\n",
+ "phcw=0.32#.....................#Heat lost to cooling jacket is 32% of heat supplied\n",
+ "cpe=1.05#...................#Specific heat of exhause gases in kJ/kgK\n",
+ "cpw=4.18#...................#Specific heat of water in kJ/kgK\n",
+ "#Calculations\n",
+ "pow=V*I#......................#Total power generated in W\n",
+ "BP=(pow/1000)/etag#..................#Brake power in kW\n",
+ "hf=(mf/60)*C#...................#Heat supplied to the engine\n",
+ "hbp=BP*60#.........................#Heat equivalent of BP\n",
+ "mg=(mf/60)*(afr+1)#...............#Mass of exhaust gases formed per min in kg\n",
+ "hg=((mc/60)*cpw*(delt))+(mg*cpe*(tg-ta))#..........#Heat carried by exhaust gases per min\n",
+ "hcw=phcw*hf#...................#Heat lost to cooling jacket\n",
+ "ha=hf-(hcw+hg+hbp)#...................#Unaccounted heat\n",
+ "pf=100#pbp=(hbp/hf)*100#pcw=(hcw/hf)*100#pg=(hg/hf)*100#pa=(ha/hf)*100\n",
+ "print \"HEAT BALANCE TABLE: \"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Item kJ Percent\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Heat supplied by fuel %d %0.2f\"%(hf,pf)\n",
+ "print \"Heat absorbed in BP %d %0.2f\"%(hbp,pbp)\n",
+ "print \"Heat taken away by cooling water %d %0.2f\"%(hcw,pcw)\n",
+ "print \"Heat carried away by exhaust gases %d %0.2f\"%(hg,pg)\n",
+ "print \"Unaccounted heat %d %0.2f\"%(ha,pa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.44 PAGE 601"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "HEAT BALANCE TABLE : \n",
+ "_______________________________________________________________________\n",
+ "Item kJ Percent\n",
+ "_______________________________________________________________________\n",
+ "Heat supplied by fuel 8745 100.00\n",
+ "Heat absorbed in BP 3056 34.95\n",
+ "Heat lost by FP 658 7.53\n",
+ "Heat taken away by cooling water 2612 29.87\n",
+ "Heat carried away by dry exhaust gases 1569 17.94\n",
+ "Heat carried away by steam in exhaust gases 795 9.10\n",
+ "Unaccounted heat 52 0.60\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=0.34#..............#Engine bore in m\n",
+ "k=0.5#...............#Four stroke engine\n",
+ "n=1#..................#No of cylinders\n",
+ "L=0.44#................#Engine stroke in m\n",
+ "Ne=400#................#Engine rpm\n",
+ "aic=465#..............#Area of indicator diagram in mm**2\n",
+ "l=60#..................#Length of diagram in mm\n",
+ "s=0.6#...............#Spring constant in bar/mm\n",
+ "W=950#.................#Load of dynamometer in N\n",
+ "CD=7460#................#Dynamometer constant\n",
+ "mf=10.6#................#Fuel used in kg/h\n",
+ "Ca=49500#.................#Calorific value of fuel in kJ/kg\n",
+ "mw=25#...................#Cooling water circulated in kg/min\n",
+ "cpw=4.18#..................#Specific heat capacity of water in kJ/kgC\n",
+ "delt=25#..................#Rise in temperature of water\n",
+ "#Mass analysis of fuel\n",
+ "C=84#..................#Percentage of carbon\n",
+ "H=15#..................#Percentage of hydrogen\n",
+ "In=1#..................#Percentage of incombustible\n",
+ "#Volume analysis of exhaust gases\n",
+ "CO2=9#..................#Percentage of caron dioxide\n",
+ "O=10#..................#Percentage of oxygen\n",
+ "N=81#..................#Percentage of nitrogen\n",
+ "tg=400#................#Temperature of exhaust gases in C\n",
+ "cpg=1.05#..............#Specific heat of exhaust gases in kJ/kgC\n",
+ "tr=25#.................#Temperature of room in C\n",
+ "ppst=0.03#..............#Partial pressure of steam in exhaust gases in bar\n",
+ "cpst=2.1#.................#Specific heat of superheated steam in kJ/kgC\n",
+ "#Calculations\n",
+ "pmi=(aic*s)/l#................#Mean effective pressure in bar\n",
+ "IP=(n*pmi*L*D*D*k*10*Ne*(pi/4))/6#...............#Indicated power in kW\n",
+ "BP=(W*Ne)/CD#.......................#Brake power in kW\n",
+ "FP=IP-BP#...........................#Frictional power in kW\n",
+ "hf=(mf/60)*Ca#...................#Heat supplied in kJ per min\n",
+ "hbp=BP*60#.....................#Heat equivalent of Brake power in kW\n",
+ "hfp=FP*60#......................#heat equivalent of frictional power in kW\n",
+ "hcw=mw*cpw*delt#..................#Heat carried away by cooling water\n",
+ "ma1=(N*C)/(33*(CO2))#...........#Mass of air supplied per kg of fuel\n",
+ "mg1=ma1+1#.......................#Mass of exhaust gases per kg of fuel\n",
+ "mg=mg1*(mf/60)#.................#Mass of exhaust gas formed per min\n",
+ "mst1=9*(H/100)#.................#Mass of steam formed per kg of fuel\n",
+ "mst=mst1*(mf/60)#..................#Mass of steam formed per min\n",
+ "mdg=mg-mst#.......................#Mass of dry exhaust gas \n",
+ "Hex=mdg*cpg*(tg-tr)#...............#Heat carried by exhaust gases\n",
+ "hst=(2545.5+(cpst*(tg-24.1)))*mst#................#Heat carried by steam in exhaust gases in kJ/kg.....The values are from steam tables corresponding to the partial pressure 0.03 and temperature 400 Celsius\n",
+ "ha=hf-(hbp+hfp+hcw+Hex+hst)#.....................#Unaccounted heat\n",
+ "pf=100#\n",
+ "pbp=(hbp/hf)*100#\n",
+ "pfp=(hfp/hf)*100#\n",
+ "pcw=(hcw/hf)*100#\n",
+ "pex=(Hex/hf)*100#\n",
+ "pa=(ha/hf)*100#\n",
+ "pst=(hst/hf)*100#\n",
+ "print \"HEAT BALANCE TABLE : \"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Item kJ Percent\"\n",
+ "print \"_______________________________________________________________________\"\n",
+ "print \"Heat supplied by fuel %d %0.2f\"%(hf,pf)\n",
+ "print \"Heat absorbed in BP %d %0.2f\"%(hbp,pbp)\n",
+ "print \"Heat lost by FP %d %0.2f\"%(hfp,pfp)\n",
+ "print \"Heat taken away by cooling water %d %0.2f\"%(hcw,pcw)\n",
+ "print \"Heat carried away by dry exhaust gases %d %0.2f\"%(Hex,pex)\n",
+ "print \"Heat carried away by steam in exhaust gases %d %0.2f\"%(hst,pst)\n",
+ "print \"Unaccounted heat %d %0.2f\"%(ha,pa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.45 PAGE 602"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 78,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mechanical efficiency = 83.29 %\n",
+ "Indicated thermal efficiency = 13.44 %\n",
+ "Air standard efficiency = 49.13 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=4#........................#No of cylinders\n",
+ "ga=1.4#...................#Degree of freedom\n",
+ "D=0.075#..................#Engine bore in m\n",
+ "L=0.1#...................#Engine stroke in m\n",
+ "mf=6#.......................#Fuel consumption in kg/h\n",
+ "C=83600#..................#Calorific value of fuel used\n",
+ "Vc=0.0001#.................#Clearence volume in m**3\n",
+ "BP=15.6#.................#Brake power wilh all cylinder working in kW\n",
+ "BP1=11.1#...................#Brake power wilh cylinder no 1 cutout in kW\n",
+ "BP2=11.03#...................#Brake power wilh cylinder no 2 cutout in kW\n",
+ "BP3=10.88#...................#Brake power wilh cylinder no 3 cutout in kW\n",
+ "BP4=10.66#...................#Brake power wilh cylinder no 4 cutout in kW\n",
+ "#Calculations\n",
+ "IP1=BP-BP1#...........................#Indicated power produced in cylinder 1 in kW\n",
+ "IP2=BP-BP2#...........................#Indicated power produced in cylinder 2 in kW\n",
+ "IP3=BP-BP3#...........................#Indicated power produced in cylinder 3 in kW\n",
+ "IP4=BP-BP4#...........................#Indicated power produced in cylinder 4 in kW\n",
+ "IP=IP1+IP2+IP3+IP4#.............................#Total Indicated power produced in kW\n",
+ "etamech=BP/IP#..............................#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)\n",
+ "etaith=IP/((mf/3600)*C)#.....................#Indicated thermal efficiency\n",
+ "print \"Indicated thermal efficiency = %0.2f %%\"%(etaith*100)\n",
+ "Vs=(pi/4)*D*D*L#..........................#Stroke volume in m**3\n",
+ "r=(Vs+Vc)/Vc#................................#Compression ratio\n",
+ "etast=1-(1/(r**(ga-1)))#...........................#Air standard efficiency\n",
+ "print \"Air standard efficiency = %0.2f %%\"%(etast*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 17.46 PAGE 603"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Engine torque = 59.20 Nm:\n",
+ "Brake mean effective pressure = 7.31 bar\n",
+ "Brake thermal efficiency = 21.31 %\n",
+ "Specific fuel consumption = 0.38 kg/kWh\n",
+ "Mechanical efficiency = 76.56 %\n",
+ "Indicated mean effective pressure = 9.55 bar \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "n=4#..........................#No of cylinders\n",
+ "D=0.06#......................#Engine bore in m\n",
+ "L=0.09#.......................#Engine stroke in m\n",
+ "N=2800#.......................#Engine rpm\n",
+ "Ta=0.37#.......................#Length of torque arm in m\n",
+ "spgr=0.74#.....................#Specific graviy of fuel \n",
+ "fc=8.986#......................#Fuel consumption in ltrs/h\n",
+ "mf=fc*spgr#.....................#Fuel consumed in kg/h\n",
+ "C=44100#......................#Calorific value of fuel in kJ/kg\n",
+ "BPnl=160#.................#Net brake load in N\n",
+ "BP1=110#...................#Brake load with cylinder no 1 cutout in N\n",
+ "BP2=107#...................#Brake load with cylinder no 2 cutout in N\n",
+ "BP3=104#...................#Brake load with cylinder no 3 cutout in N\n",
+ "BP4=110#...................#Brake load with cylinder no 4 cutout in N\n",
+ "k=0.5#.....................#Four stroke engine\n",
+ "#Calculations\n",
+ "T=BPnl*Ta#.......................#Engine torque in N-m\n",
+ "print \"Engine torque = %0.2f Nm:\"%T\n",
+ "BP=(2*pi*N*T)/(60*1000)#..........................#Brake power in kW\n",
+ "pmb=(BP*6)/(n*D*D*L*N*10*(pi/4)*k)#...................#Brake mean effective pressure in bar\n",
+ "print \"Brake mean effective pressure = %0.2f bar\"% pmb\n",
+ "etabth=BP/((mf/3600)*C)#...........................#Brake thermal efficiency\n",
+ "print \"Brake thermal efficiency = %0.2f %%\"%(etabth*100)\n",
+ "sfc=mf/BP#.......................#Specific fuel consumption in kg/kWh\n",
+ "print \"Specific fuel consumption = %0.2f kg/kWh\"%sfc\n",
+ "IP1=BPnl-BP1#...........................#Indicated power produced in cylinder 1 in kW\n",
+ "IP2=BPnl-BP2#...........................#Indicated power produced in cylinder 2 in kW\n",
+ "IP3=BPnl-BP3#...........................#Indicated power produced in cylinder 3 in kW\n",
+ "IP4=BPnl-BP4#...........................#Indicated power produced in cylinder 4 in kW\n",
+ "IP=IP1+IP2+IP3+IP4#.............................#Total Indicated power produced in kW\n",
+ "etamech=BPnl/IP#..............................#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)\n",
+ "pmi=pmb/etamech#............................#Indicated mean effective pressure in bar\n",
+ "print \"Indicated mean effective pressure = %0.2f bar \"%pmi"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER20_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER20_1.ipynb
new file mode 100644
index 00000000..8d0e1fe0
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER20_1.ipynb
@@ -0,0 +1,2548 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 20 - Air Compressors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.1 PAGE 750"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 4.24 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "v1=1#.........#Volume of air taken in m**3/min\n",
+ "p1=1.013#...............#Intake pressure in bar\n",
+ "t1=288#...............#Intake temperature in K\n",
+ "p2=7#......................#Delivery pressure in bar\n",
+ "n=1.35#..............#Adiabatic index\n",
+ "R=287#..............#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "m=(p1*v1*10**5)/(R*t1)#..............#Mass of air delivered per min in kg\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#...........#Delivery temperature in K\n",
+ "iw=(n/(n-1))*m*R*(t2-t1)#............#Indicated work in kJ/min\n",
+ "IP=iw/(60*1000)#....................#Indicated power\n",
+ "print \"Indicated power = %0.2f kW\"%IP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.2 PAGE 750"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cylinder bore = 141.44 mm\n",
+ "Motor power = 5.54 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "N=300#............#Compressor rpm\n",
+ "afr=15#.........#Air fuel ratio\n",
+ "etamech=0.85#....#Mechanical efficiency\n",
+ "etamt=0.9#.......#Motor transmission efficiency\n",
+ "v=1#............#Volume dealt with per min at inlet in m**3/min\n",
+ "rld=1.5#........#Ratio of stroke to diameter\n",
+ "v1=1#.........#Volume of air taken in m**3/min\n",
+ "p1=1.013#...............#Intake pressure in bar\n",
+ "t1=288#...............#Intake temperature in K\n",
+ "p2=7#......................#Delivery pressure in bar\n",
+ "n=1.35#..............#Adiabatic index\n",
+ "R=287#..............#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "m=(p1*v1*10**5)/(R*t1)#..............#Mass of air delivered per min in kg\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#...........#Delivery temperature in K\n",
+ "iw=(n/(n-1))*m*R*(t2-t1)#............#Indicated work in kJ/min\n",
+ "IP=iw/(60*1000)#....................#Indicated power in kW\n",
+ "vdc=v/N#........#Volume drawn in per cycle in m**3\n",
+ "D=(vdc/((pi/4)*rld))**(1/3)#..........#Cylinder bore in m\n",
+ "print \"Cylinder bore = %0.2f mm\"%(D*1000)\n",
+ "pc=IP/etamech#.........#Power input to the compressor in kW\n",
+ "mp=pc/etamt#..........#Motor power in kW\n",
+ "print \"Motor power = %0.2f kW\"%mp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.3 PAGE 751"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature at the end of compression = 430.07 K\n",
+ "Work done during compression per kg of air = 236.03 kJ\n",
+ "Heat transferred during compression per kg of air = -98.28 kJ\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "p1=1#......#Suction pressure in bar\n",
+ "t1=293#.....#Suction temperature in K\n",
+ "n=1.2#......#Compression index\n",
+ "p2=10#......#Delivery pressure in bar\n",
+ "R=0.287#....#Gas constant in kJ/kgK\n",
+ "cv=0.718#...#Specific heat at constant volume in kJ/kgK\n",
+ "#Calculations\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#.....#Temperature at the end of compression in K\n",
+ "print \"Temperature at the end of compression = %0.2f K\"%t2\n",
+ "W=1*R*t1*(n/(n-1))*(((p2/p1)**((n-1)/n))-1)#.......#Work done during compression of air in kJ\n",
+ "print \"Work done during compression per kg of air = %0.2f kJ\"%W\n",
+ "Q=(t2-t1)*(cv-((R)/(n-1)))#..........#Heat transferred during compression of air in kJ/kg\n",
+ "print \"Heat transferred during compression per kg of air = %0.2f kJ\"%Q"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.4 PAGE 752"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volumetric Efficiency = 77.39 %\n",
+ "Indicated power = 5.35 kW\n",
+ "Isothermal efficiency = 79.79 %\n",
+ "Mechanical efficiency = 85.60 %\n",
+ "Overall efficiency = 68.30 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,log\n",
+ "# Initialisation of Variables\n",
+ "p1=1#........#Suction pressure in bar\n",
+ "t1=293#.......#Suction temperature in K\n",
+ "p2=6#..........#Discharge pressure in bar\n",
+ "t2=453#.......#Discharge temperature in K\n",
+ "N=1200#.........#Compressor rpm\n",
+ "Ps=6.25#........#Shaft power in kW\n",
+ "ma=1.7#........#Mass of air delivered in kg/min\n",
+ "D=0.14#......#Engine bore in m\n",
+ "L=0.10#.......#Engine stroke in m\n",
+ "R=287#..........#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "Vd=(pi/4)*D*D*L*N#.........#Displlacement volume in m**3/min\n",
+ "FAD=ma*R*t1/(p1*10**5)#........#Free air delivered\n",
+ "etav=FAD/Vd#.....#Volumetric efficiency \n",
+ "print \"Volumetric Efficiency = %0.2f %%\"%(etav*100)\n",
+ "n=1/(1-((log(t2/t1))/(log(p2/p1))))#........#Index of compression\n",
+ "IP=(n/(n-1))*(ma/60)*(R/1000)*t1*(((p2/p1)**((n-1)/n))-1)#..........#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%IP\n",
+ "Piso=((ma/60)*(R/1000)*t1*(log(p2/p1)))#..........#Isothermal power\n",
+ "etaiso=Piso/IP#..............#Isothermal efficiency\n",
+ "print \"Isothermal efficiency = %0.2f %%\"%(etaiso*100)\n",
+ "etamech=IP/Ps#...........#Mechanical efficiency\n",
+ "print \"Mechanical efficiency = %0.2f %%\"%(etamech*100)\n",
+ "etao=Piso/Ps#........#Overall efficiency\n",
+ "print \"Overall efficiency = %0.2f %%\"%(etao*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.5 PAGE 753"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Work output = 148.95 kW\n",
+ "Mass of cooling water = 2.12 kg/min\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ma=6.75#.........#Mass of air compressed in kg/min\n",
+ "p1=1#............#Initial pressure in atm\n",
+ "cp=1.003#.........#Specifc heat at constant vpressure in kJ/kgK\n",
+ "t1=21#...........#Initial temperature in Celsius\n",
+ "t2=43#..........#Final temperature in Celsius\n",
+ "rp=1.35#.........#Pressure ratio\n",
+ "ga=1.4#.........#Ratio os specific heats\n",
+ "delt=3.3#.......#Change in temperature \n",
+ "cpw=4.18#.......#Specific heat for water in kJ/kgK\n",
+ "#Calculations\n",
+ "W=ma*cp*(t2-t1)#............#Work output in kJ\n",
+ "print \"Work output = %0.2f kW\"%W\n",
+ "t21=(t1+273)*(rp**((ga-1)/ga))#...........#Final temperature if the compression had been isentropic\n",
+ "Qr=ma*cp*(t21-(t2+273))#............#Heat rejected in kJ\n",
+ "mw=Qr/(cpw*delt)#........#Mass of cooling water in kg/min\n",
+ "print \"Mass of cooling water = %0.2f kg/min\"%mw"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.6 PAGE 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Swept volume = 0.03 m**3\n",
+ "Delivery temperature = 449.90 K\n",
+ "Indicated Power = 57.58 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ma=14#........#Quantity of air delivered in kg/min\n",
+ "p1=1.013#......#Intake pressure in bar\n",
+ "t1=288#.........#Intake temperature in K\n",
+ "p2=7#...........#Delivery pressure in bar\n",
+ "N=300#..........#Compressor rpm\n",
+ "pervc=0.05#.......#Percentage of clearance volume in the total stroke volume\n",
+ "n=1.3#............#Compressor and expansion index\n",
+ "#Calculations\n",
+ "V1byVs=pervc+1#\n",
+ "v1minv4=ma/(N*2)#\n",
+ "v4byv3=((p2/p1)**(1/n))#\n",
+ "v4byvs=v4byv3*pervc#\n",
+ "Vs=v1minv4/(V1byVs-v4byvs)#.....#Swept volume in m**3\n",
+ "print \"Swept volume = %0.2f m**3\"%Vs\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#........#Delivery Temperature in K\n",
+ "print \"Delivery temperature = %0.2f K\"%t2\n",
+ "IP=((n)/(n-1))*p1*(10**5)*((ma)/(60*1000))*(((p2/p1)**((n-1)/n))-1)#\n",
+ "print \"Indicated Power = %0.2f kW\"%IP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.7 PAGE 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 63.51 kW\n",
+ "Volumetric efficiency = 2.07 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "FAD=14#...........#Free air delivered in m**3/min\n",
+ "p1=0.95#.........#Induction pressure in bar\n",
+ "t1=305#........#Induction temperature in K\n",
+ "p2=7#...........#Delivery pressure in bar\n",
+ "n=1.3#...........#Adiabatic index\n",
+ "VcbyVs=0.05#........#Ratio of clearance volume and swept volume\n",
+ "R=287#...........#Gas constant in J/kgK\n",
+ "t=288#...........#free air temperature in K\n",
+ "p=1.013#.........#free air pressure in bar\n",
+ "#Calculations\n",
+ "m=(p*100000*FAD)/(R*t)#..........#Mass delivered per min in kg\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#\n",
+ "IP=((n/(n-1))*m*(R/1000)*(t2-t1))/60#.........#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%IP\n",
+ "v4byv3=(p2/p1)**(1/n)#v4byvs=v4byv3*VcbyVs#v1minv4=(1+VcbyVs)-v4byvs#\n",
+ "Vbyvs=v1minv4*(t/t1)*(p1/p)#\n",
+ "etav=Vbyvs/1#.............#Volumetric efficiency\n",
+ "print \"Volumetric efficiency = %0.2f %%\"%(etav*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.8 PAGE 755"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power input to compressor = 83.65 kW\n",
+ "Compressor stroke = 300.00 mm\n",
+ "Compressor bore = 291.43 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "FAD=16#.......#Free air delivered in m**3/min\n",
+ "p1=0.96#......#Suction pressure in bar\n",
+ "t1=303#.......#Suction temperature in K\n",
+ "n=1.3#........#Compression index\n",
+ "k=0.04#........#Clearance ratio\n",
+ "p2=6#.........#Delivery pressure in bar\n",
+ "etamech=0.9#...#Mechanical efficiency\n",
+ "vp=300#.......#Piston speed in m/min\n",
+ "N=500#........#Compressor rpm\n",
+ "p=1#.....#Ambient pressure in bar\n",
+ "t=288#.....#Ambient temperature in K\n",
+ "etac=0.85#...#Compressor efficiency\n",
+ "R=0.287#......#Universal gas constant\n",
+ "#Calculations\n",
+ "m=(p*10**5*FAD)/(R*1000*t)#...........#Mass flow rate of compressor in kg/min\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#.....#Temperature at the end of compression in K\n",
+ "P=(n/(n-1))*(m/60)*R*(t2-t1)*(1/etamech)*(1/etac)#..........#Power input to compressor in kW\n",
+ "print \"Power input to compressor = %0.2f kW\"%P\n",
+ "L=vp/(2*N)#.........#Stroke in m\n",
+ "print \"Compressor stroke = %0.2f mm\"%(L*1000)\n",
+ "etav=((t/t1)*(p1/p)*(1+k-(k*((p2/p1)**(1/n)))))#........#Volumetric efficiency\n",
+ "D=sqrt(FAD/((pi/4)*L*N*2*etav))#...........#Compressor bore in m\n",
+ "print \"Compressor bore = %0.2f mm\"%(D*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.9 PAGE 756"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volumetric efficiency = 91.10 %\n",
+ "Power required to drive the compressor = 2.27 kW\n",
+ "Compressor rpm : 486.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "m=0.6#..........#Mass of air delivered in kg/min\n",
+ "p2=6#.........#Delivery pressure in bar\n",
+ "p1=1#..........#Induction pressure in bar\n",
+ "t1=303#........#Induction temperature in K\n",
+ "D=0.1#.........#Compressor bore in m\n",
+ "L=0.15#........#Compressor stroke in m\n",
+ "k=0.03#........#Clearance ratio\n",
+ "etamech=0.85#....#Mechanical efficiency\n",
+ "R=0.287#.......#Gas constant in kJ/kgK\n",
+ "n=1.3#........#Compression index\n",
+ "#Calculations\n",
+ "etav=(1+k)-(k*((p2/p1)**(1/n)))#..........#Volumetric efficiency\n",
+ "print \"Volumetric efficiency = %0.2f %%\"%(etav*100)\n",
+ "IP=(n/(n-1))*(m/60)*R*t1*(((p2/p1)**((n-1)/n))-1)#.........#Indicated power in kW\n",
+ "P=IP/etamech#...........#Power required to drive the compressor in kW\n",
+ "print \"Power required to drive the compressor = %0.2f kW\"%P\n",
+ "FAD=(m*R*t1*1000)/(p1*10**5)#...........#Free air delivery in m**3/min\n",
+ "Vd=FAD/etav#........#Displacement volume in m**3/min\n",
+ "N=Vd/((pi/4)*D*D*L)#.........#Compressor rpm\n",
+ "print \"Compressor rpm : \",round(N)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.10 PAGE 756"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Percentage change in free air delivery = 2.68 %\n",
+ "Percentage change in power delivered = 2.68 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "L=88#...........#Compressor stroke in cm\n",
+ "k=0.02#...........#Clearance ratio\n",
+ "p3=8.2#...........#Delivery pressure in bar\n",
+ "p4=1.025#.......#Suction pressure in bar\n",
+ "p1=p4#.......#Suction pressure in bar \n",
+ "n=1.3#.........#Compression index\n",
+ "lo=0.55#...#Length of distance piece fitted after overhaul in cm\n",
+ "#Calculations\n",
+ "pcfa=(((L+(L*k))-((L*k)*((p3/p4)**(1/n))))-(((k*L)+lo+L)-(((k*L)+lo)*((p3/p4)**(1/n)))))/((L+L*k)-((L*k)*((p3/p4)**(1/n))))\n",
+ "print \"Percentage change in free air delivery = %0.2f %%\"%(pcfa*100)\n",
+ "pcpa=pcfa#......#Percentage change in power delivered\n",
+ "print \"Percentage change in power delivered = %0.2f %%\"%(pcpa*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.11 PAGE 757"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Motor power = 241.07 kW\n",
+ "Compressor bore = 262.71 mm\n",
+ "Compressor stroke = 315.25 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "v=30#.............#Suction volume in m**3/min\n",
+ "p1=1#...........#Suction pressure in bar\n",
+ "t1=300#.........#Suction temperature in K\n",
+ "p2=16#...........#Delivery pressure in bar\n",
+ "N=320#..........#Compressor rpm\n",
+ "k=0.04#.........#Clearance ratio\n",
+ "rld=1.2#.........#Ratio of stroke to bore\n",
+ "etamech=0.82#....#Mechanical efficiency\n",
+ "n=1.32#.........#Compression index\n",
+ "ti=39+273#......#Temperature inside the suction chamber in K\n",
+ "nc=4#.........#No of cylineders\n",
+ "#Calculations\n",
+ "W=(n/(n-1))*(p1/1000)*10**5*(v/60)*(((p2/p1)**((n-1)/n))-1)#........#Work done in kW\n",
+ "mp=W/etamech#..........#Motor power in kW\n",
+ "print \"Motor power = %0.2f kW\"%mp\n",
+ "etav=((1+k)-(k*((p2/p1)**(1/n))))*(t1/ti)#........#Volumetric efficiency\n",
+ "Vs=(v/nc)*(1/(2*N))*(1/etav)#............#Swept volume of cylinder in m**3\n",
+ "D=(Vs/((pi/4)*rld))**(1/3)#.............#Compressor bore in m\n",
+ "L=D*rld#..............#Compresor stroke in m\n",
+ "print \"Compressor bore = %0.2f mm\"%(D*1000)\n",
+ "print \"Compressor stroke = %0.2f mm\"%(L*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.12 PAGE 758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diameter of compressor cylinder = 159.70 mm\n",
+ "Stroke of compressor cylinder = 191.64 mm\n",
+ "Diameter of engine cylinder = 98.49 mm\n",
+ "Stroke of engine cylinder = 118.18 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "n=2#........#No of cylinders \n",
+ "ma=16#........#Mass of air supplied per min in kg\n",
+ "p1=1#........#Suction pressure in bar\n",
+ "t1=288#.......#Suction temperature in K\n",
+ "k=0.04#.......#Clearance ratio\n",
+ "ni=1.3#........#Compression index\n",
+ "R=0.287#........#Gas constant in kJ/kgK\n",
+ "N=2000#........#Engine rpm\n",
+ "p3=7#...........#Delivery pressure in bar\n",
+ "rld=1.2#...........#Ratio of stroke to bore for compressor cylinder and engine cylinder\n",
+ "etamech=0.82#.........#Mechanical efficiency of engine\n",
+ "pmb=5.5#..........#Mean effective pressure in bar in engine\n",
+ "ne=4#.............#No of engine cylinders\n",
+ "#Calculations\n",
+ "Vs=(((ma/n)*R*1000*t1)/(p1*10**5*N))/((1+k)-(k*((p3/p1)**(1/ni))))#\n",
+ "Dc=(Vs/((pi/4)*rld))**(1/3)#.........#Diameter of compressor cylinder in m\n",
+ "Lc=rld*Dc#.............#Stroke of the compressor cylinder in m\n",
+ "print \"Diameter of compressor cylinder = %0.2f mm\"%(Dc*1000)\n",
+ "print \"Stroke of compressor cylinder = %0.2f mm\"%(Lc*1000)\n",
+ "IP=(ni/(ni-1))*(ma/60)*R*t1*(((p3/p1)**((ni-1)/ni))-1)#......#Indicated power of the compressor in kW\n",
+ "BP=IP/etamech#...............#Brake power of the engine in kW\n",
+ "De=((BP*60*1000)/(ne*pmb*10**5*rld*(pi/4)*N))**(1/3)#......#Diameter of the engine cylinder in m\n",
+ "Le=rld*De#...........#Stroke of the engine cylinder in m\n",
+ "print \"Diameter of engine cylinder = %0.2f mm\"%(De*1000)\n",
+ "print \"Stroke of engine cylinder = %0.2f mm\"%(Le*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.13 PAGE 759"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volumetric efficiency = 81.44 %\n",
+ "Diameter of the cylinder = 17.98 cm\n",
+ "Stroke of the cylinder = 17.98 cm\n",
+ "Brake power = 11.10 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "nc=1.25#......#Index of compression\n",
+ "ne=1.3#......#Index of expansion\n",
+ "etamech=0.85#.......#Mechanical efficiency\n",
+ "p1=1#.........#Suction pressure in bar\n",
+ "p2=7.5#.......#Delivery pressure in bar\n",
+ "t1=25+273#....#Suction temperature in bar\n",
+ "Vamb=2.2#.....#Volume of free air delivered in m**3\n",
+ "N=310#........#Engine rpm\n",
+ "k=0.05#.......#Clearance ratio\n",
+ "pamb=1.03#.....#Ambient pressure in bar\n",
+ "tamb=293#......#Ambient temperature in K\n",
+ "#Calculations\n",
+ "etav=(1+k-(k*((p2/p1)**(1/ne))))#........#Volumetric efficiency\n",
+ "print \"Volumetric efficiency = %0.2f %%\"%(etav*100)\n",
+ "v1=(pamb*Vamb*t1)/(p1*tamb)#.......#Volume of air delivered at suction condition in m**3\n",
+ "vs=(v1/(etav*N*2))#.........#Swept volume in m**3\n",
+ "D=(vs/(pi/4))**(1/3)#........#Diameter of the cylinder in m\n",
+ "L=D#\n",
+ "print \"Diameter of the cylinder = %0.2f cm\"%(D*100)\n",
+ "print \"Stroke of the cylinder = %0.2f cm\"%(L*100)\n",
+ "W=2*vs*10**5*(((nc)/(nc-1))*p1*(1+k)*(((p2/p1)**((nc-1)/(nc)))-1)-((ne)/(ne-1))*p1*(k*((p2/p1)**(1/ne)))*(((p2/p1)**((ne-1)/(ne)))-1))#..........#Work done per cycle of operation in Nm/cycle\n",
+ "IP=W*N/(60*1000)#...............#Indicated power in kW\n",
+ "BP=IP/etamech#.............#Brake power in kW\n",
+ "print \"Brake power = %0.2f kW\"%BP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.14 PAGE 760"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Compressor diameter = 35.75 cm\n",
+ "Compressor stroke = 53.63 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "v=14#..........#Volume of air delivered in m**3\n",
+ "p1=1#........#Suction pressure in bar\n",
+ "p2=7#........#Delivery pressure in bar\n",
+ "N=310#........#Compressor rpm\n",
+ "n=1.35#........#Compression index\n",
+ "k=0.05#........#Clearance ratio\n",
+ "rld=1.5#.........#Ratio of cylinder length and diameter\n",
+ "#Calculations\n",
+ "etav=(1+k)-(k*((p2/p1)**(1/n)))#..........#Volumetric efficiency\n",
+ "Vs=v/(etav*N)#.............#Swept volume in m**3\n",
+ "D=((Vs)/((pi/4)*rld))**(1/3)#......#Compressor diameter in m\n",
+ "L=rld*D#......................#Compressor stroke in m\n",
+ "print \"Compressor diameter = %0.2f cm\"%(D*100)\n",
+ "print \"Compressor stroke = %0.2f cm\"%(L*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.15 PAGE 761"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Free air delivered = 13.89 m**3/min\n",
+ "Heat rejected during compression = 748.46 kJ/min\n",
+ "Power needed to drive the compressor = 52.01 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "D=0.33#.........#Cylinder diameter in m\n",
+ "L=0.35#.........#Cylinder stroke in m\n",
+ "k=0.05#.........#Clearance ratio \n",
+ "N=300#..........#Compressor rpm\n",
+ "psuc=0.95#........#Suction pressure in bar\n",
+ "tsuc=298#.........#Suction temperature in K\n",
+ "pamb=1.013#......#Ambient pressure in bar\n",
+ "tamb=293#.........#Ambient temperature in K\n",
+ "p2=4.5#...........#Delivery pressure in bar\n",
+ "n=1.25#..........#Compression index\n",
+ "cv=0.717#...........#Specific heat at constant volume in kJ/kgK\n",
+ "ga=1.4#..........#Ratio of specific heats\n",
+ "etamech=0.8#......#Mechanical efficiency\n",
+ "R=0.287#.........#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "Vs=(pi/4)*D*D*L*N*2#............#Swept volume in m**3\n",
+ "p1=psuc#etav=1-(k*(((p2/p1)**(1/n))-1))#........#Volumetric efficiency\n",
+ "Vad=Vs*etav#................#Actual air drawn per min in m**3\n",
+ "FAD=(psuc/pamb)*(tamb/tsuc)*Vad#............#Free air delivered in m**3/min\n",
+ "print \"Free air delivered = %0.2f m**3/min\"%FAD\n",
+ "t1=tsuc#ma=(p1*10**5*Vad)/(R*1000*t1)#.......#Mass of air delivered per min in kg\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#..........#Delivery temperature in K\n",
+ "Qr=ma*cv*((ga-n)/(n-1))*(t2-t1)#..........#Heat rejected during compression in kJ/min\n",
+ "print \"Heat rejected during compression = %0.2f kJ/min\"%Qr\n",
+ "P=((n)/(n-1))*R*t1*(ma/60)*(((p2/p1)**((n-1)/(n)))-1)*(1/etamech)#..........#Power needed to drive the compressor in kW\n",
+ "print \"Power needed to drive the compressor = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 20.16 PAGE 762"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power required to run the compressor = 4.19 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "#Initialisation of variables\n",
+ "p1=1.03#...........#Intake pressure in bar\n",
+ "t1=300#............#Intake temperature in K\n",
+ "p2=7#.............#Intake pressure for High pressure cylinder in bar\n",
+ "t2=310#..............#Temperature of air entering high pressure cylinder in K\n",
+ "p3=40#............#Pressure of air after compression in bar\n",
+ "V=30#.........#volume of air delivered in m**3/h\n",
+ "R=0.287#............#Gas constant for air in kJ/kgK\n",
+ "ga=1.4#...........#Ratio of specific heats\n",
+ "#Calculations\n",
+ "m=p1*10**5*V/(R*1000*t1)#..........#Mass of air compressed in kg/h\n",
+ "t21=t1*((p2/p1)**((ga-1)/ga))#.......#Actual temperature of air entering high pressure cylinder in K\n",
+ "t3=t2*((p3/p2)**((ga-1)/ga))#........#Actual temperature of air after compression in K\n",
+ "W=((ga)/(ga-1))*m*(R/3600)*(t21-t1+t3-t2)#..........#Power required to run compressor in kW\n",
+ "print \"Power required to run the compressor = %0.2f kW\"%W"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.17 PAGE 762"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diameter of low pressure cylinder = 267.30 mm\n",
+ "Diameter of high pressure cylinder = 109.13 mm\n",
+ "Power required to run the compressor = 57.49 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "FAD=6#.......#Free air delivered in m**3/min\n",
+ "p1=1#........#suction pressure in bar\n",
+ "t1=300#......#Suction temperature in K\n",
+ "p3=40#.......#Delivery pressure in bar\n",
+ "p2=6#........#Intermediate pressure in bar\n",
+ "t3=300#........#Temperature at the inlet to 2nd stage in K\n",
+ "n=1.3#.........#Compression index\n",
+ "etamech=0.8#.....#Mechanical efficiency\n",
+ "N=400#............#Compressor rpm\n",
+ "R=0.287#.........#Gas constant in kJ/kgK\n",
+ "#Calculations \n",
+ "dlp=(FAD/(N*(pi/4)))**(1/3)#...............#Diameter of the low pressure cylinder in m\n",
+ "dhp=sqrt(1/(dlp*N*(pi/4)))#............#Diameter of high pressure cylinder in m\n",
+ "print \"Diameter of low pressure cylinder = %0.2f mm\"%(dlp*1000)\n",
+ "print \"Diameter of high pressure cylinder = %0.2f mm\"%(dhp*1000)\n",
+ "m=(p1*FAD*10**5)/(R*t1*1000*60)#........#Mass flow of air in kg/s\n",
+ "W=n*(1/(n-1))*m*R*t1*(((p2/p1)**((n-1)/n))+((p3/p2)**((n-1)/n))-2)#........#Indicated work in kJ/s\n",
+ "P=W/etamech#...............#Power required in kW\n",
+ "print \"Power required to run the compressor = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.18 PAGE 763"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Intermediate pressure = 0.26 Mpa\n",
+ "Volume of low pressure cylinder = 0.02 m**3\n",
+ "Volume of high pressure cylinder = 0.01 m**3\n",
+ "Power required to drive the compressor = 42.96 kW\n",
+ "Heat rejected in the intercooler = 15.04 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ns=2#.............#No of stages\n",
+ "v1=0.2#.........#Intake volume in m**3/s\n",
+ "p1=1#..........#Intake pressure in bar\n",
+ "t1=289#...............#Intake temperature in K\n",
+ "p3=7#.........#Final pressure in bar\n",
+ "n=1.25#.......#Compression index\n",
+ "N=600#........#Compressor rpm\n",
+ "cp=1.005#.....#Specific heat at constant pressure in kJ/kgK\n",
+ "R=0.287#......#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "p2=sqrt(p1*p3)#......#Intermediate pressure in bar\n",
+ "print \"Intermediate pressure = %0.2f Mpa\"%(p2/10)\n",
+ "vslp=60*v1/N#..........#Volume of low pressure cylinder in m**3\n",
+ "vshp=p1*vslp/p2#..........#Volume of high pressure cylinder in m**3\n",
+ "print \"Volume of low pressure cylinder = %0.2f m**3\"%vslp\n",
+ "print \"Volume of high pressure cylinder = %0.2f m**3\"%vshp\n",
+ "W=(ns*(n/(n-1)))*p1*10**5*(v1/1000)*(((p3/p1)**((n-1)/(ns*n)))-1)#...........#Power required to drive the compressor in kW\n",
+ "print \"Power required to drive the compressor = %0.2f kW\"%W\n",
+ "m=p1*10**5*v1/(R*t1*1000)#.........#Mass of air handled in kg/s\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#.........#Temperature at the end of first stage compression in K\n",
+ "Qr=m*cp*(t2-t1)#.......#Heat rejected in the intercooler in kW\n",
+ "print \"Heat rejected in the intercooler = %0.2f kW\"%Qr"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 20.19 PAGE 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Ratio of cylinder diameters : 2.340\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "#initialisation of variables\n",
+ "p3=30#..........#delivery pressure in bar\n",
+ "p1=1#.........#suction pressure in bar\n",
+ "t1=273+15#.......#suction temperature in K\n",
+ "n=1.3#.........#adiabatic index\n",
+ "#calculation\n",
+ "p2=sqrt(p1*p3)#.....#Pressure before entering High pressure cylinder in bar\n",
+ "t21=t1*((p2/p1)**((n-1)/n))#.........#Actual temperature before entering the high pressure turbine in K\n",
+ "r=sqrt((p2**(1/n))*(t21/t1))#............#Ratio of cylinder diameters\n",
+ "print \"Ratio of cylinder diameters : %0.3f\"%r"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.20 PAGE 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Work done in compressing 1 kg of gas = 388.53 kJ\n",
+ "Pressure in the intercooler would rise.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ns=2#.........#No of stages\n",
+ "p1=1#........#Suction pressure in bar\n",
+ "p2=7.4#.......#Intercooler pressure in bar\n",
+ "p3=42.6#.......#Delivery pressure in bar\n",
+ "t1=15+273#......#Suction temperature in K\n",
+ "n=1.3#........#Compression index\n",
+ "R=0.287#.......#Gas constant in kJ/kgK\n",
+ "dlp=0.09#.......#Diameter of low pressure cylinder in m\n",
+ "dhp=0.03#.......#Diameter of high pressure cylinder in m\n",
+ "etav=0.9#.....#Volumetric efficiency\n",
+ "#Calculations\n",
+ "W=n*(1/(n-1))*R*t1*(((p2/p1)**((n-1)/n))+((p3/p2)**((n-1)/n))-2)#\n",
+ "print \"Work done in compressing 1 kg of gas = %0.2f kJ\"%W\n",
+ "#Given that stroke length is same in both cases\n",
+ "rV=p2/p1#.........#Ratio of volumes\n",
+ "rECV=((dlp/dhp)**2)*etav#.........#Ratio of effective cylinder volumes\n",
+ "if (rECV>rV):\n",
+ " print \"Pressure in the intercooler would rise.\"\n",
+ "elif (rECV<rV):\n",
+ " print \"Pressure in the intercooler would fall\"\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.21 PAGE 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stroke length = 0.36 m\n",
+ "Bore = 0.27 m\n",
+ "Work required = 49.20 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "V=4#...........#Volume of air handled in m**3/min\n",
+ "p1=1.016#.....#Suction pressure in bar\n",
+ "t1=288#........#Suction temperature in K\n",
+ "N=250#.........#Compressor rpm\n",
+ "p3=78.65#.....#Delivery pressure in bar\n",
+ "vp=3#........#Piston speed in m/s\n",
+ "etamech=0.75#.....#mechanical efficiency\n",
+ "etav=0.8#........#Volumetric efficiency\n",
+ "n=1.25#..........#Compression index\n",
+ "R=287#...........#Gas constant in J/kgK\n",
+ "ns=2#............#No of stages\n",
+ "#Calculations\n",
+ "l=(vp*60)/(2*N)#..........#Stroke length in m\n",
+ "d=sqrt(V/((pi/4)*l*N*etav))#.......#Bore in m\n",
+ "print \"Stroke length = %0.2f m\"%l\n",
+ "print \"Bore = %0.2f m\"%d\n",
+ "m=(p1*10**5*V)/(R*t1)#.......#Mass of air handled by the compressor in kg/min\n",
+ "p2=sqrt(p1*p3)#.............#Intermediate pressure in bar\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#.........#Temperature at the end of first stage compression in K\n",
+ "W=ns*(n/(n-1))*(m/60)*(R/1000)*(t2-t1)*(1/etamech)#..........#Work required in kW\n",
+ "print \"Work required = %0.2f kW\"%W"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.22 PAGE 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Indicated power = 15.48 kW\n",
+ "Swept volume for low pressure cylinder = 0.0131 m**3\n",
+ "Swept volume of high pressure cylinder = 0.0044 m**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "m=4.5#.........#Amount of air compressed in kg/min\n",
+ "ps=1.013#.......#Suction pressure in bar\n",
+ "ts=288#.........#Suction temperature in K\n",
+ "rp=9#...........#Pressure ratio\n",
+ "n=1.3#.........#Compression index\n",
+ "k=0.05#........#Clearance ratio\n",
+ "N=300#.........#Compressor rpm\n",
+ "R=287#.........#Gas constant in J/kgK\n",
+ "ns=2#............#No of stages\n",
+ "#Calculations\n",
+ "ti=round(ts*((sqrt(rp))**((n-1)/n)))#......#Intermediate temperature in K\n",
+ "W=round(ns*n*(1/(n-1))*m*(R/1000)*(ti-ts))#..........#Work required per min in kJ\n",
+ "IP=W/60#.........#Indicated power in kW\n",
+ "print \"Indicated power = %0.2f kW\"%IP\n",
+ "mc=m/N#...........#Mass induced per cycle in kg\n",
+ "etav=(1+k)-(k*(sqrt(rp)**(1/n)))#.......#Volumetric efficiency\n",
+ "Vs=(mc*R*ts)/(ps*10**5*etav)#........#Swept volume for low pressure cylinder in m**3\n",
+ "print \"Swept volume for low pressure cylinder = %0.4f m**3\"%Vs\n",
+ "vdhp=(mc*ts*R)/(sqrt(rp)*ps*10**5)#............#Volume of air drawn in high pressure cylinder per cycle in m**3\n",
+ "vshp=vdhp/etav#...............#Swept volume ofhigh pressure cylinder in m**3\n",
+ "print \"Swept volume of high pressure cylinder = %0.4f m**3\"%vshp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.23 PAGE 767"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power required to run the compressor = 18.68 kW\n",
+ "Bore of low pressure cylinder = 19.06 cm\n",
+ "Stroke of low pressure cylinder = 19.06 cm\n",
+ "Bore of high pressure cylinder = 7.00 cm\n",
+ "Stroke of high pressure cylinder = 19.06 cm\n",
+ "Ratio of cylinder volumes : 7.4162\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "v1=2.2#...........#free air delivered by the compressor in m**3/min\n",
+ "p1=1#........#Suction pressure in bar\n",
+ "t1=298#.......#Suction temperature in K\n",
+ "pd=55#........#Delivery pressure in bar\n",
+ "N=210#.......#Compressor rpm\n",
+ "n=1.3#........#Compression index\n",
+ "k=0.05#.......#Clearance ratio for high pressure and low pressure cylinders\n",
+ "R=287#.......#Gas constant in J/kgK\n",
+ "ns=2#.......#No of stages\n",
+ "#Calculations\n",
+ "ps=p1#\n",
+ "m =(p1*v1*10**5)/(R*t1)#.........#Mass of air deivered in m**3/min\n",
+ "W=(ns*(n/(n-1)))*m*R*t1*(((pd/ps)**((n-1)/(ns*n)))-1)#...........#Work done by compressor in Nm/min\n",
+ "P=W/(60*1000)#...........#Power required to run the compressor\n",
+ "print \"Power required to run the compressor = %0.2f kW\"%P\n",
+ "pi=sqrt(ps*pd)#........#Intermediate pressure in bar\n",
+ "etav1=(1+k)-(k*((pi/p1)**(1/n)))#...........#Volumetric efficiency of the low pressure cylinder \n",
+ "Vs=(v1*10**6)/(etav1*N)#............#Swept volume in cm**3\n",
+ "dlp=(Vs/((pi/4)))**(1/3)#..........#Diameter of low pressure cylinder in cm\n",
+ "llp=dlp#.................#Stroke of low pressure cylinder in cm\n",
+ "print \"Bore of low pressure cylinder = %0.2f cm\"%dlp\n",
+ "print \"Stroke of low pressure cylinder = %0.2f cm\"%llp\n",
+ "dhp=sqrt(dlp*dlp/pi)#.........#Diameter of high pressure cylinder in cm\n",
+ "lhp=llp#\n",
+ "print \"Bore of high pressure cylinder = %0.2f cm\"%dhp\n",
+ "print \"Stroke of high pressure cylinder = %0.2f cm\"%lhp\n",
+ "rcv=pi/ps#.....#Ratio of cylinder volumes\n",
+ "print \"Ratio of cylinder volumes : %0.4f\"%rcv"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.24 PAGE 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat rejected to the intercooler = 2179.62 kJ/min\n",
+ "Diameter of high pressure cylinder = 184.68 mm\n",
+ "Power required for high pressure cylinder = 45.02 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "p1=1#........#Suction pressure in bar\n",
+ "p2=4#.....#Intermediate pressure in bar\n",
+ "p5=3.8#.......#Pressure of air leaving the interooler in bar\n",
+ "p6=15.2#........#Delivery pressure in bar\n",
+ "t1=300#..........#Suction temperature in K\n",
+ "dlp=0.36#........#Diameter of low pressure cylinder in m\n",
+ "llp=0.4#........#Stroke of low pressure cylinder in m\n",
+ "N=220#........#Compressor rpm\n",
+ "k=0.04#........#Clearance ratio\n",
+ "cp=1.0035#.........#Specific heat at constant pressure in kJ/kgK\n",
+ "n=1.3#........#Compression index\n",
+ "R=0.287#........#Gas constant in kJ/kgK\n",
+ "p8=p5#\n",
+ "p3=p2#\n",
+ "p7=p6#\n",
+ "t5=t1#\n",
+ "#Calculations\n",
+ "Vslp=(pi/4)*dlp*dlp*llp*N*2#.......#Swept volume in m**3\n",
+ "etavlp=(1+k)-(k*((p2/p1)**(1/n)))#.....#Volumetric efficiency\n",
+ "valp=Vslp*etavlp#................#Volume of air drawn in low pressure cylinder in m**3\n",
+ "m=(p1*10**5*valp)/(R*1000*t1)#........#Mass of air drawin in kg/min\n",
+ "t2=round(t1*((p2/p1)**((n-1)/n)))#\n",
+ "Qr=m*cp*(t2-t5)#........#Heat rejected to the intercooler in kJ/min\n",
+ "print \"Heat rejected to the intercooler = %0.2f kJ/min\"%Qr\n",
+ "vahp=(m*R*t5*1000)/(p5*10**5)#...#Volume of air drawn into high pressure cylinder per min in m**3\n",
+ "Vshp=vahp/etavlp#.........#Swept volume of high pressure cylinder in m**3/min\n",
+ "dhp=sqrt(Vshp/((pi/4)*2*N*llp))#..........#Diameter of high pressure cylinder in m\n",
+ "print \"Diameter of high pressure cylinder = %0.2f mm\"%(dhp*1000)\n",
+ "P=(n/(n-1))*m*(1/60)*R*(t2-t1)#.......#Power required for high pressure cylinder in kW\n",
+ "print \"Power required for high pressure cylinder = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.25 PAGE 769"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power required to run the compressor = 85.38 kW\n",
+ "Heat rejected in intercooler = 1742.36 kJ/min\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ps=1#........#Suction pressure in bar\n",
+ "pi=4.2#.....#Intermediate pressure in bar\n",
+ "pi1=4#.......#Pressure of air leaving the interooler in bar\n",
+ "pd=18#........#Delivery pressure in bar\n",
+ "t1=298#..........#Suction temperature in K\n",
+ "t5=t1#\n",
+ "dlp=0.4#........#Diameter of low pressure cylinder in m\n",
+ "llp=0.5#........#Stroke of low pressure cylinder in m\n",
+ "N=200#........#Compressor rpm\n",
+ "k=0.05#........#Clearance ratio\n",
+ "cp=1.004#.........#Specific heat at constant pressure in kJ/kgK\n",
+ "n=1.25#........#Compression index\n",
+ "R=0.287#........#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "Vslp=(pi/4)*dlp*dlp*llp#..........#Swept volume of low pressure cylinder in m**3\n",
+ "etavlp=(1+k)-(k*((pi/ps)**(1/n)))#.....#Volumetric efficiency\n",
+ "t2=round(t1*((pi/ps)**((n-1)/n)))#\n",
+ "m=(ps*10**5*etavlp*Vslp)/(R*1000*t1)#...#Mass of air in kg\n",
+ "wlp=((n)/(n-1))*R*1000*t1*m*(((pi/ps)**((n-1)/(n)))-1)#..........#Work done per min in Nm in low pressure cylinder\n",
+ "whp=((n)/(n-1))*R*t5*m*1000*(((pd/pi1)**((n-1)/(n)))-1)#..........#Work done per min in Nm in high pressure cylinder\n",
+ "W=wlp+whp#.........#Net work done in Nm\n",
+ "IP=(W*N)/(60*1000)#............#Power required to run the compressor in kW\n",
+ "print \"Power required to run the compressor = %0.2f kW\"%IP\n",
+ "Qr=m*N*cp*(t2-t1)#...........#Heat rejected in intercooler in kJ/min\n",
+ "print \"Heat rejected in intercooler = %0.2f kJ/min\"%Qr"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.26 PAGE 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power required = 49.23 kW\n",
+ "Isothermal work done = 41.78 kW\n",
+ "Isothermal efficiency = 84.86 %\n",
+ "Free air delivered = 9.04 m**3/min\n",
+ "Heat transferred in intercooler = 19.89 kW\n",
+ "\n",
+ "Swept volume for low pressure stage = 0.02 m**3\n",
+ "\n",
+ "\n",
+ "Clearance volume for low pressure stage = 8.90e-04 m**3\n",
+ "\n",
+ "\n",
+ "Swept volume for high pressure stage = 0.01 m**3\n",
+ "\n",
+ "\n",
+ "Clearance volume for high pressure stage = 3.48e-04 m**3\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,log\n",
+ "# Initialisation of Variables\n",
+ "p1=1#............#Intake pressure in bar\n",
+ "p2=4#..............#Pressure after first stage in bar\n",
+ "p3=16#............#Final pressure in bar\n",
+ "ns=2#............#No of stages\n",
+ "t1=300#............#Intake temperature in K\n",
+ "n=1.3#............#Compression index\n",
+ "klp=0.04#.........#Clearance ratio for low pressure cylinder\n",
+ "khp=0.06#........#Clearance ratio for high pressure cylinder\n",
+ "N=440#............#Engine rpm\n",
+ "R=0.287#..........#Gas constant in kJ/kgK\n",
+ "m=10.5#.............#Mass of air delivered in kg/min\n",
+ "cp=1.005#.........#Specific heat at constant pressure in kJ/kgK\n",
+ "#Calculations\n",
+ "rp=sqrt(p1*p3)#...........#Pressure ratio per stage\n",
+ "P=((ns*n)/(n-1))*R*t1*(m/60)*(((p3/p1)**((n-1)/(ns*n)))-1)#..........#Work done per min in Nm\n",
+ "print \"Power required = %0.2f kW\"%P\n",
+ "isoWd=(m/60)*R*t1*log(p3/p1)#..........#Isothermal work done in Nm\n",
+ "print \"Isothermal work done = %0.2f kW\"%isoWd\n",
+ "etaiso=isoWd/P#...............#Isothermal efficiency\n",
+ "print \"Isothermal efficiency = %0.2f %%\"%(etaiso*100)\n",
+ "FAD=(m*R*t1*1000)/(p1*10**5)#.............#Free air delivered in m**3/min\n",
+ "print \"Free air delivered = %0.2f m**3/min\"%FAD\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#.....#Temperature at the end of compression in K\n",
+ "Qt=(m/60)*cp*(t2-t1)#..............#Heat transferred in intercooler in kW\n",
+ "print \"Heat transferred in intercooler = %0.2f kW\"%Qt\n",
+ "etavlp=(1+klp)-(klp*((p2/p1)**(1/n)))#..........#Volumetric efficiency of low pressure stage\n",
+ "etavhp=(1+khp)-(khp*((p2/p1)**(1/n)))#..........#Volumetric efficiency of high pressure stage\n",
+ "vslp=FAD/(N*etavlp)#......#Swept volume for low pressure stage in m**3\n",
+ "vclp=klp*vslp#..............#Clearance volume for low pressure stage in m**3\n",
+ "print \"\\nSwept volume for low pressure stage = %0.2f m**3\\n\"%(vslp)\n",
+ "print \"\\nClearance volume for low pressure stage = %0.2e m**3\\n\"%(vclp)\n",
+ "vshp=FAD/(N*rp*etavhp)#......#Swept volume for high pressure stage in m**3\n",
+ "vchp=khp*vshp#..............#Clearance volume for high pressure stage in m**3\n",
+ "print \"\\nSwept volume for high pressure stage = %0.2f m**3\\n\"%(vshp)\n",
+ "print \"\\nClearance volume for high pressure stage = %0.2e m**3\\n\"%(vchp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.27 PAGE 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Work done = 1297727.20 Nm\n",
+ "Isothermal work done = 1146628.13 Nm\n",
+ "Isothermal efficiency = 88.36 %\n",
+ "Single stage work done per min = 1686780.23 Nm\n",
+ "Percentage of work saved : 23.06 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ns=3#......#No of stages\n",
+ "p1=1.05#......#Intake pressure in bar\n",
+ "pd=40#..........#Delivery pressure in bar\n",
+ "V=3#..........#Volume of air xupplied per min in m**3\n",
+ "n=1.25#........#Compression index\n",
+ "#Calculations\n",
+ "Wd=((ns*n)/(n-1))*p1*V*10**5*(((pd/p1)**((n-1)/(ns*n)))-1)#..........#Work done per min in Nm\n",
+ "print \"Work done = %0.2f Nm\"%Wd\n",
+ "isoWd=10**5*p1*V*log(pd/p1)#..........#Isothermal work done in Nm\n",
+ "print \"Isothermal work done = %0.2f Nm\"%isoWd\n",
+ "etaiso=isoWd/Wd#...............#Isothermal efficiency\n",
+ "print \"Isothermal efficiency = %0.2f %%\"%(etaiso*100)\n",
+ "wdss=((n)/(n-1))*p1*V*10**5*(((pd/p1)**((n-1)/(n)))-1)#..........#Single stage Work done per min in Nm\n",
+ "print \"Single stage work done per min = %0.2f Nm\"%wdss\n",
+ "perws=(wdss-Wd)/wdss#.......#Percentage of work saved\n",
+ "print \"Percentage of work saved : %0.2f %%\"%(perws*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.28 PAGE 772"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n",
+ "Intermediate pressures: \n",
+ " p2 = 3.30\n",
+ " p3 = 10.90\n",
+ "\n",
+ "Indicated power required = 101.19 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "p1=1#.............#Intake pressure in bar\n",
+ "p4=36#........#Final pressure in bar\n",
+ "n=1.25#.........#Compression index\n",
+ "R=0.287#.......#Gas constant in kJ/kgK\n",
+ "t1=300#..........#Intake temperature in K\n",
+ "ns=3#...........#No of stages\n",
+ "v=15#..........#Volume of air delivered in m**3\n",
+ "#Calculations\n",
+ "p2=p1*((p4/p1)**(1/ns))#\n",
+ "p3=p2*((p4/p1)**(1/ns))#\n",
+ "print \"\\n\\nIntermediate pressures: \\n p2 = %0.2f\\n p3 = %.2f\\n\"%(p2,p3)\n",
+ "t2=t1*((p4/p1)**(((n-1)/n)*(1/ns)))#....#Delivery temperature in K\n",
+ "m=p1*10**5*v/(R*1000*t1)#...........#Mass of air handled per min in kg\n",
+ "Wt=((n/(n-1))*m*R*(1/60)*(t2-t1)*ns)#........#Total work done in three stages \n",
+ "print \"Indicated power required = %0.2f kW\"%Wt"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.29 PAGE 772"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat rejected in intercooler after first stage = 1276.59 kJ/min\n",
+ "Heat rejected in intercooler after second stage = 1639.45 kJ/min\n",
+ "Heat rejected in intercooler after third stage = 1875.18 kJ/min\n",
+ "Diameter of the intermediate cylinder = 179.48 mm\n",
+ "Diameter of the intermediate cylinder = 87.59 mm\n",
+ "Shaft power = 142.68 kW\n",
+ "\n",
+ "Heat transferred during first stage = 455.70 kJ/min\n",
+ "\n",
+ "Heat transferred during second stage = 438.71 kJ/min\n",
+ "\n",
+ "Heat transferred during third stage = 334.22 kJ/min\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ns=3#........#No of stages\n",
+ "N=200#.......#Compressor rpm\n",
+ "p1=1#.......#Intake pressure in bar\n",
+ "t1=20+273#....#Intake temperature in K\n",
+ "D=0.35#......#Engine bore in m\n",
+ "L=0.4#.......#Engine stroke in m\n",
+ "p2=4#........#Discharge pressure from first stage in bar\n",
+ "p6=16#........#Discharge pressure from second stage in bar\n",
+ "p10=64#........#Discharge pressure from third stage in bar\n",
+ "pd=0.2#........#Loss of pressure between intercoolers in bar\n",
+ "R=0.287#......#Gas constant in kJ/kgK\n",
+ "k=0.04#.......#Clearence volume in 4% of the stroke volume\n",
+ "n1=1.2#.....#Compressor index for first stage\n",
+ "n2=1.25#.....#Compressor index for second stage\n",
+ "n3=1.3#.....#Compressor index for third stage\n",
+ "cp=1.005#......#Specific heat at constant pressure in kJ/kgK\n",
+ "etamech=0.8#.....#Mechanical efficiency\n",
+ "#Calculations\n",
+ "p5=p2-pd#\n",
+ "p9=p6-pd#\n",
+ "t5=t1#\n",
+ "t9=t1#\n",
+ "Vs=(pi/4)*D*D*L*N*2#............#Swept volume of low pressure cylinder per min in m**3\n",
+ "etav1=(1+k)-(k*((p2/p1)**(1/n1)))#.....#Volumetric efficiency in first stage\n",
+ "etav2=(1+k)-(k*((p6/p5)**(1/n2)))#.....#Volumetric efficiency in second stage\n",
+ "etav3=(1+k)-(k*((p10/p9)**(1/n3)))#.....#Volumetric efficiency in third stage\n",
+ "vain1=Vs*etav1#.................#Volume of air taken in first stage in m**3/min\n",
+ "m=(p1*10**5)*vain1/(R*t1*1000)#...........#Mass of air intake in kg/min in first stage\n",
+ "t2=round(t1*((p2/p1)**((n1-1)/n1)))#\n",
+ "t6=t5*((p6/p5)**((n2-1)/n2))#\n",
+ "t10=t9*((p10/p9)**((n3-1)/n3))#\n",
+ "Qr1=m*cp*(t2-t5)#........#Heat rejected in intercooler after first stage in kJ/min\n",
+ "Qr2=m*cp*(t6-t9)#........#Heat rejected in intercooler after second stage in kJ/min\n",
+ "Qr3=m*cp*(t10-t1)#........#Heat rejected in intercooler after third stage in kJ/min\n",
+ "print \"Heat rejected in intercooler after first stage = %0.2f kJ/min\"%Qr1\n",
+ "print \"Heat rejected in intercooler after second stage = %0.2f kJ/min\"%Qr2\n",
+ "print \"Heat rejected in intercooler after third stage = %0.2f kJ/min\"%Qr3\n",
+ "vainip=m*R*t5*1000/(p5*10**5)#.........#Volume drawn in intermediate pressure cylinder/min\n",
+ "Vsip=vainip/etav2#.............#Swept volume of intermediate cylinder in m**3/min\n",
+ "Dip=sqrt(Vsip/(2*N*L*(pi/4)))#............#Diameter of the intermediate cylinder in m\n",
+ "print \"Diameter of the intermediate cylinder = %0.2f mm\"%(Dip*1000)\n",
+ "vainhp=m*R*t9*1000/(p9*10**5)#.........#Volume drawn in high pressure cylinder/min\n",
+ "Vshp=vainhp/etav3#.............#Swept volume of high pressure cylinder in m**3/min\n",
+ "Dhp=sqrt(Vshp/(2*N*L*(pi/4)))#............#Diameter of the intermediate cylinder in m\n",
+ "print \"Diameter of the intermediate cylinder = %0.2f mm\"%(Dhp*1000)\n",
+ "Ps=(((n1/(n1-1))*m*R*(t2-t1))+((n2/(n2-1))*m*R*(t6-t5))+((n3/(n3-1))*m*R*(t10-t9)))*(1/(60*etamech))#...#Shaft power in kW\n",
+ "print \"Shaft power = %0.2f kW\"%Ps\n",
+ "cv=cp-R#..........#Specific heat at constant volume in kJ/kgK\n",
+ "ga=cp/cv#...........#Ratio of specific heats\n",
+ "Qt1=cv*((ga-n1)/(ga-1))*(t2-t1)*m#............#Heat transfer during first stage in kJ/min\n",
+ "Qt2=cv*((ga-n2)/(ga-1))*(t6-t1)*m#............#Heat transfer during second stage in kJ/min\n",
+ "Qt3=cv*((ga-n3)/(ga-1))*(t10-t1)*m#............#Heat transfer during third stage in kJ/min\n",
+ "print\"\\nHeat transferred during first stage = %0.2f kJ/min\"%(Qt1)\n",
+ "print \"\\nHeat transferred during second stage = %0.2f kJ/min\"%(Qt2)\n",
+ "print \"\\nHeat transferred during third stage = %0.2f kJ/min\"%(Qt3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.30 PAGE 773"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No of stages : 4\n",
+ "Exact stage pressure ratio : 3.34\n",
+ "\n",
+ "Intermediate pressures\n",
+ "p4=37.38\n",
+ "p3=10.90\n",
+ "p2=4.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "p1=1#.....#Intake pressure in bar\n",
+ "p5=125#.....#Pressure of the compressed air in bar\n",
+ "rpr=4#.........#Pressure ratio is restricted to 4\n",
+ "#Calculations\n",
+ "X=(log(p5/p1)/log(rpr))#\n",
+ "if(X>round(X)):\n",
+ " x=round(X)+1#\n",
+ "else:\n",
+ " x=round(X)#\n",
+ "print \"No of stages : %d\"%x\n",
+ "esrp=(p5/p1)**(1/x)#\n",
+ "print \"Exact stage pressure ratio : %0.2f\"%esrp\n",
+ "p4=p5/esrp#p3=p4/esrp#p2=p3/esrp#......#Intermediate pressures in bar\n",
+ "print \"\\nIntermediate pressures\\np4=%.2f\\np3=%.2f\\np2=%.2f\"%(p4,p3,p2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.31 PAGE 774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No of stages: 4\n",
+ "Total work done = 512.24 kJ/kg\n",
+ "Heat rejected in intercoolers = 254.23 kJ/kg\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ps=1#.........#Suction pressure in bar\n",
+ "t1=273+125#.......#Delivery temperature in K\n",
+ "pd=160#...........#Delivery pressure in bar\n",
+ "tm=40+273#........#Min temperature\n",
+ "ts=298#........#Suction temperature in K\n",
+ "n=1.25#......#Adiabatic index\n",
+ "cv=0.71#.......#Specific heat at constant volume in kJ/kgK\n",
+ "R=0.287#......#Gas constant in kJ/kgK\n",
+ "ns=3#.......#No of stages\n",
+ "#Calculations\n",
+ "p1=ps*((t1/ts)**(n/(n-1)))#\n",
+ "x=(log(pd/p1))/(((n/(n-1))*(log(t1/tm))))#\n",
+ "print \"No of stages: %d\"%(round(x)+1)\n",
+ "rp1=p1#...........#Pressure ratio in 1st stage\n",
+ "rp=(pd/rp1)**(1/ns)#.........#Pressure ratio in the following stage\n",
+ "W=(n/(n-1))*R*ts*(((rp1)**((n-1)/n))-1)#.........#Work done in first stage in kJ\n",
+ "Wf=ns*(n/(n-1))*R*tm*(((rp)**((n-1)/n))-1)#.........#Work done in next three stages in kJ\n",
+ "wt=W+Wf#............#Total work done per kg in kJ\n",
+ "print \"Total work done = %0.2f kJ/kg\"%wt\n",
+ "cp=cv+R#..............#Specific heat at constant pressure in kJ/kgK\n",
+ "Qr=ns*cp*(t1-tm)#.............#Heat rejected in intercoolers in kJ/kg\n",
+ "print \"Heat rejected in intercoolers = %0.2f kJ/kg\"%Qr"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.32 PAGE 775"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Swept capacity of low pressure cylinder = 0.12 m**3\n",
+ "Swept capacity of intermediate pressure cylinder = 0.03 m**3\n",
+ "Swept capacity of intermediate pressure cylinder = 0.01 m**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "Vamb=10.5#........#Free air volume in m**3\n",
+ "Pamb=1.013#...........#Free air presssure in bar\n",
+ "Tamb=273+15#..........#Free air temperature in K\n",
+ "T1=(273+25)#...........#Temperature at the end of suction in all cylinders in K\n",
+ "P1=1#............#Pressure at the suction in bar\n",
+ "pd=95#...........#Delivery presssure in bar\n",
+ "N=100#.........#Compressor rpm\n",
+ "n=1.25#..........#Adiabatic index\n",
+ "k=0.04#.........#Fractional clearances for LP\n",
+ "k1=0.07#.........#Fractional clearances for HP\n",
+ "#Calculations\n",
+ "z=(pd/P1)**(1/3)#.........#Pressure ratio\n",
+ "pi1=z*P1#\n",
+ "pi2=z*pi1#\n",
+ "etavollp=1+k-(k*(z**(1/n)))#\n",
+ "etavolhp=1+k1-(k1*(z**(1/n)))#\n",
+ "v1=(Pamb*Vamb*T1)/(Tamb*P1)#\n",
+ "sclp=(round(v1))/(etavollp*N)#.........#Swept capacity of LP cylinder in m**3\n",
+ "print \"Swept capacity of low pressure cylinder = %0.2f m**3\"%sclp\n",
+ "vip=(Pamb*Vamb*T1)/(pi1*Tamb)#.........#Volume of free air reduced to suction conditions of IP cylinder\n",
+ "scip=vip/(etavolhp*N)#.........#Swept capacity of IP cylinder in m**3\n",
+ "print \"Swept capacity of intermediate pressure cylinder = %0.2f m**3\"%scip\n",
+ "vhp=(Pamb*Vamb*T1)/(pi2*Tamb)#.........#Volume of free air reduced to suction conditions of HP cylinder\n",
+ "schp=vhp/(etavolhp*N)#.........#Swept capacity of HP cylinder in m**3\n",
+ "print \"Swept capacity of intermediate pressure cylinder = %0.2f m**3\"%schp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.34 PAGE 776"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature at the end of expansion = 244.63 K\n",
+ "Indicated power of the motor = 0.75 kW\n",
+ "Mass of air supplied per min = 0.42 kg\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "D=0.0635#.......#Engine bore in m\n",
+ "L=0.114#.........#Engine stroke in m\n",
+ "p1=6.3#..........#Supply pressure in bar\n",
+ "t1=273+24#.........#Supply temperature in K\n",
+ "p4=1.013#..........#Exhaust pressure in bar\n",
+ "cv=0.05#............#Clearance volume is 5% of the swept volume\n",
+ "cr=0.5#..........#Cut off ratio\n",
+ "n=1.3#...........#Adiabatic index\n",
+ "R=287#...............#gas constant in kJ/kgK\n",
+ "N=300#.............#Engine rpm\n",
+ "ga=1.4#...........#Ratio of specific heats\n",
+ "#Calculations\n",
+ "Vs=(pi*D*D*L)/4#........#Swept volume in m**3\n",
+ "Vc=cv*Vs#..........#Clearance volume in m**3\n",
+ "v6=Vc#\n",
+ "v5=v6#\n",
+ "v1=(Vs/2)+Vc#\n",
+ "v2=Vs+Vc#\n",
+ "v3=v2#\n",
+ "p3=p4#\n",
+ "v4=v5+(cv*Vs)#\n",
+ "p2=p1*((v1/v2)**n)#.......#Pressure at the end of expansion\n",
+ "t2=t1*((v1/v2)**(n-1))#........#Temperature at the end of expansion in K\n",
+ "print \"Temperature at the end of expansion = %0.2f K\"%t2\n",
+ "p5=p4*((v4/v5)**n)#\n",
+ "w=((p1*(v1-v6))+(((p1*v1)-(p2*v2))/(n-1))-(p3*(v3-v4))-(((p5*v5)-(p4*v4))/(n-1)))*10**5#.......#Workk done per cycle in Nm\n",
+ "IP=(w*N)/(60*1000)#..........#Indicated power in kW\n",
+ "print \"Indicated power of the motor = %0.2f kW\"%IP\n",
+ "t3=t2*((p3/p2)**((ga-1)/ga))#\n",
+ "t4=t3#\n",
+ "m4=(p4*v4*10**5)/(R*t4)#\n",
+ "m1=(p1*v1*10**5)/(R*t1)#\n",
+ "ma=(m1-m4)*N#..........#Mass of air supplied per min\n",
+ "print \"Mass of air supplied per min = %0.2f kg\"%ma"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.35 PAGE 777"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Work input for roots compressor = 1.52 kJ/rev\n",
+ "Work input for vane compressor = 1.35 kJ/rev\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "v=0.03#..............#Induced volume in m**3/rev\n",
+ "p1=1.013#...........#Inlet pressure in bar\n",
+ "rp=1.5#............#Pressure ratio\n",
+ "ga=1.4#...........#Ratio of specific heats\n",
+ "#Calculations\n",
+ "p2=rp*p1#\n",
+ "wr=(p2-p1)*(10**5)*v/1000#.....#Work input for roots compressor in kJ\n",
+ "print \"Work input for roots compressor = %0.2f kJ/rev\"%wr\n",
+ "pi=(p2+p1)/2#\n",
+ "wv=((p2-pi)*(10**5)*v*((p1/pi)**(1/ga))*(1/1000))+((ga/(ga-1))*p1*(10**5)*(v/1000)*(((pi/p1)**((ga-1)/ga))-1))#...#Work input required for vane type in kJ/rev\n",
+ "print \"Work input for vane compressor = %0.2f kJ/rev\"%wv"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.36 PAGE 778"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Compressor efficiency = 85.98 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "v=0.08#.........#Volume of air compressed in m**3\n",
+ "p1=1#..........#Intake pressure in bar\n",
+ "p2=1.5#........#Pressure after compression in in bar\n",
+ "ga=1.4#.........#Ratio of specific heats\n",
+ "#Calculations\n",
+ "wac=v*(p2-p1)*10**5#........#Actual work done in Nm\n",
+ "wid=(ga/(ga-1))*p1*v*(10**5)*(((p2/p1)**((ga-1)/ga))-1)#...........#Ideal work done per revolution in Nw\n",
+ "etac=wid/wac#................#Compressor efficiency\n",
+ "print \"Compressor efficiency = %0.2f %%\"%(etac*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.37 PAGE 778"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Isentropic efficiency = 74.46 %\n",
+ "Power required to drive the coompressor = 190.69 kW\n",
+ "Overall efficiency = 72.92 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "m=2.5#..........#Air flow rate in kg/s\n",
+ "p1=1#........#Inlet pressure in bar\n",
+ "t1=290#............#Inlet temperature in bar\n",
+ "C1=80#..........#Inlet Velocity in m/s\n",
+ "p2=1.5#........#pressure after compression in bar\n",
+ "t2=345#............#temperature after compression in bar\n",
+ "C2=220#..........#Velocity after compression in m/s\n",
+ "cp=1.005#...........#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#............#Ratio of specific heats\n",
+ "R=287#..............#Gas constant for air in kJ/kgK\n",
+ "#Calculations\n",
+ "t21=t1*((p2/p1)**((ga-1)/ga))#\n",
+ "wisen=cp*(t21-t1)+((C2*C2)-(C1*C1))/(2*1000)#.....#Isentropic work done in kJ/kg\n",
+ "w=cp*(t2-t1)+((C2*C2)-(C1*C1))/(2*1000)#.....#Actual work done (in impeller) in kJ/kg\n",
+ "etaisen=wisen/w#...............#Isentropic efficiency\n",
+ "print \"Isentropic efficiency = %0.2f %%\"%(etaisen*100)\n",
+ "P=m*w#..........#Power required to drive the coompressor in kW\n",
+ "print \"Power required to drive the coompressor = %0.2f kW\"%P\n",
+ "t3=(((C2*C2)-(C1*C1))/(2*1000*cp))+t2#....#Temperature of air after leaving the diffuser in K\n",
+ "p3=p2*((t3/t2)**(ga/(ga-1)))#..........#Pressure of air after leaving the diffuser in bar\n",
+ "t31=t1*((p3/p1)**((ga-1)/ga))#...........#Delivery temperature from diffuser in K\n",
+ "etao=(t31-t1)/(t3-t1)#...............#Overall efficiency \n",
+ "print \"Overall efficiency = %0.2f %%\"%(etao*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.38 PAGE 779"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Actual rise in temperature = 165.00\n",
+ "Tip diameter of the impeller = 40.99 cm\n",
+ "Power required = 1459.26 kW\n",
+ "Diameter of the eye = 28.17 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "ma=528#.............#Air flow in kg/min\n",
+ "m=ma/60#.............#Air flow in kg/s\n",
+ "p1=1#........#Inlet pressure in bar\n",
+ "t1=293#............#Inlet temperature in bar\n",
+ "N=20000#..............#Compressor rpm\n",
+ "etaisen=0.8#.........#Isentropic efficiency\n",
+ "po1=1#.........#Static pressure in bar\n",
+ "p02=4#...........#Final total pressure in bar\n",
+ "C1=145#.........#Velocity of air when entering the impeller in m/s\n",
+ "rwt=0.9#..........#Ratio of whirl speed to tip speed \n",
+ "dh=0.12#........#Hub diameter in m\n",
+ "cp=1.005#...........#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#............#Ratio of specific heats\n",
+ "R=287#..............#Gas constant for air in kJ/kgK\n",
+ "#Calculations\n",
+ "t01=t1+((C1*C1)/(2*cp*1000))#..........#Stagnation temperature at the inlet to the machine in K\n",
+ "p01=p1*((t01/t1)**(ga/(ga-1)))#.....#Stagnation pressure at the inlet to the machine in bar\n",
+ "t021=t01*((p02/p01)**((ga-1)/ga))#\n",
+ "deltisen=t021-t01#.........#Isentropic rise in temperature in K\n",
+ "delt=round(deltisen/etaisen)#........#Actual rise in temperature \n",
+ "print \"Actual rise in temperature = %0.2f\"%delt\n",
+ "wc=cp*delt#.........#Work consumed by compressor in kJ/kg\n",
+ "Cbl2=sqrt(wc*1000/rwt)#\n",
+ "d2=Cbl2*60/(pi*N)#..........#Tip diameter of the impeller in m\n",
+ "print \"Tip diameter of the impeller = %0.2f cm\"%(d2*100)\n",
+ "P=m*wc#............#Power required in kW\n",
+ "print \"Power required = %0.2f kW\"%P\n",
+ "rho1=(p1*10**5)/(R*t1)#.......#Density at entry in kg/m**3\n",
+ "d1=sqrt(((m*4)/(C1*rho1*pi))+(dh**2))#.......#Eye diameter in m\n",
+ "print \"Diameter of the eye = %0.2f cm\"%(d1*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.39 PAGE 780"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Final temperature of air = 466.65 Kevin\n",
+ "Theoretical power = 2282.94 kW\n",
+ "Impeller diameter at outlet = 84.10 cm\n",
+ "Impeller diameter at inlet = 42.05 cm\n",
+ "Breadth of impeller at inlet = 14.92 cm\n",
+ "Impeller blade angle at inlet = 15.73 degrees\n",
+ "Diffuser blade angle at inlet = 8.89 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,atan\n",
+ "# Initialisation of Variables\n",
+ "N=10000#.................#Compressor rpm\n",
+ "v=660#............#Volume of air delivered in m**3/min\n",
+ "p1=1#.................#Inlet pressure in bar\n",
+ "t1=293#.............#Inlet temperature in K\n",
+ "rp=4#.............#Pressure ratio\n",
+ "etaisen=0.82#........#Isentropic efficiency\n",
+ "Cf2=62#...............#Flow velocity in m/s\n",
+ "rr=2#.............#Ratio of outer radius of impeller to inner radius of impeller\n",
+ "ka=0.9#..............#Blade area co efficient\n",
+ "fis=0.9#...........#Slip factor\n",
+ "cp=1.005#..............#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#............#Ratio of specific heats\n",
+ "R=287#..............#Gas constant for air in kJ/kgK\n",
+ "#Calculations\n",
+ "t21=t1*(rp**((ga-1)/ga))#\n",
+ "Cf1=Cf2#\n",
+ "t2=t1+((t21-t1)/etaisen)#..........#Final temperature of air\n",
+ "m=(p1*10**5*v/60)/(R*t1)#...............#Mass flow rate in m**3/s\n",
+ "P=m*cp*(t2-t1)#.........#Theoretical power in kW\n",
+ "print \"Final temperature of air = %0.2f Kevin\"%t2\n",
+ "print \"Theoretical power = %0.2f kW\"%P\n",
+ "Cbl2=sqrt(1000*cp*(t2-t1)/fis)#\n",
+ "d2=60*Cbl2/(pi*N)#..........#Impeller diameter at outlet in m\n",
+ "d1=d2/rr#...............#Impeller diameter at inlet in m\n",
+ "print \"Impeller diameter at outlet = %0.2f cm\"%(d2*100)\n",
+ "print \"Impeller diameter at inlet = %0.2f cm\"%(d1*100)\n",
+ "b1=(v/60)/(2*pi*(d1/2)*Cf1*ka)#.........#Breadth of impeller at inlet in m\n",
+ "print \"Breadth of impeller at inlet = %0.2f cm\"%(b1*100)\n",
+ "Cbl1=Cbl2/rr#\n",
+ "beta1=(atan(Cf1/Cbl1))*180/pi#\n",
+ "al2=(atan(Cf2/(fis*Cbl2)))*180/pi#\n",
+ "print \"Impeller blade angle at inlet = %0.2f degrees\"%(beta1)\n",
+ "print \"Diffuser blade angle at inlet = %0.2f degrees\"%(al2,)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.40 PAGE 780"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "Blade angles \n",
+ "\n",
+ "\t Blade angle at the inlet of the impeller: beta 1=25.869916 \n",
+ "\t Blade angle at the outlet of the impeller: beta 2=34.206408 \n",
+ "\t Absolute angle at the tip of impeller: alpha 2=21.610499\n",
+ "\n",
+ "\n",
+ "Breadth of the blade at inlet = 7.35 cm\n",
+ "Breadth of the blade at outlet = 2.89 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,atan\n",
+ "# Initialisation of Variables\n",
+ "v1=4.8#......#Volume of air compressed in m**3/s\n",
+ "p1=1#....#Inlet pressure in bar\n",
+ "t1=293#........#Inlet pressure in K\n",
+ "n=1.5#........#Compression index\n",
+ "Cf1=65#......#Air flow velocity at inlet in m/s\n",
+ "Cf2=Cf1#......#Flow velocity is same at inlet and outlet\n",
+ "d1=0.32#..........#Inlet impeller diameter in m\n",
+ "d2=0.62#........#Outlet impeller diameter in m\n",
+ "N=8000#........#Blower rpm\n",
+ "cp=1.005#......#Specific heat at constant pressure in kJ/kgK\n",
+ "#Calculations\n",
+ "t21=t1*((n/p1)**((n-1)/n))#....#Temperature at the outlet of compressor in K\n",
+ "Cbl1=(pi*d1*N)/60#......#Peripheral velocity at inlet in m/s\n",
+ "Cbl2=(pi*N*d2)/60#......#Tip peripheral velocity at outlet in m/s\n",
+ "Cw2=(cp*(t21-t1)*1000)/Cbl2#\n",
+ "be1=(atan(Cf1/Cbl1))*180/pi#\n",
+ "be2=(atan(Cf2/(Cbl2-Cw2)))*180/pi#......#Blade angles at the tip of the impeller\n",
+ "al2= (atan(Cf2/Cw2))*180/pi# \n",
+ "print \"\\nBlade angles \\n\\n\\t Blade angle at the inlet of the impeller: beta 1=%f \\n\\t Blade angle at the outlet of the impeller: beta 2=%f \\n\\t Absolute angle at the tip of impeller: alpha 2=%f\\n\\n\"%(be1,be2,al2)\n",
+ "b1=v1/(2*pi*(d1/2)*Cf1)#........#Breadth of blade at inlet in m\n",
+ "print \"Breadth of the blade at inlet = %0.2f cm\"%(b1*100)\n",
+ "v2=(v1*t21*p1)/(n*t1)#..............#Discharge at the outlet in m**3/s\n",
+ "b2=v2/(2*pi*(d2/2)*Cf2)#........#Breadth of blade at outlet in m\n",
+ "print \"Breadth of the blade at outlet = %0.2f cm\"%(b2*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.41 PAGE 781"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diameter of the impeller = 0.56 m\n",
+ "Power input to compressor = 2951.61 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "m=16.5#.......#Air flow in kg/s\n",
+ "rp=4#........#Pressure ratio\n",
+ "N=15000#.........#Compressor rpm\n",
+ "t01=293#.........#Inlet head temperature\n",
+ "fis=0.9#...........#Slip factor\n",
+ "fiw=1.04#.........#Power input factor\n",
+ "etaisen=0.8#.......#Isentropic efficiency\n",
+ "cp=1.005#........#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#......#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t021=t01*(rp**((ga-1)/ga))#\n",
+ "delt=(t021-t01)/etaisen#\n",
+ "Cbl2=sqrt((1000*cp*delt)/(fiw*fis))#\n",
+ "D=(60*Cbl2)/(pi*N)#..............#Diameter of impeller\n",
+ "print \"Diameter of the impeller = %0.2f m\"%D\n",
+ "P=m*cp*delt#\n",
+ "print \"Power input to compressor = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.42 PAGE 781"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total head temperature = 447.09 K\n",
+ "Static temperature at outlet = 439.93 K\n",
+ "Static pressure at exit = 3.45 bar\n",
+ "Static temperature at inlet = 278.25 K\n",
+ "Static pressure at inlet = 0.90 bar\n",
+ "Static pressure ratio : 3.8237\n",
+ "Work done on air = 159.89 kJ/kg\n",
+ "Power required to drive the compressor = 1918.67 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "# Initialisation of Variables\n",
+ "rp=3.6#..........#Pressure ratio\n",
+ "die=0.35#.......#Diameter of inlet eye of compressor in m\n",
+ "Cf=140#..........#Axial velocity in m/s\n",
+ "m=12#.............#Mass flow in kg/s\n",
+ "Cbl2=120#.........#Velocity in the delivery duct in m/s\n",
+ "Ci=460#..........#The tip speed of the impeller in m/s\n",
+ "N=16000#............#Speed of impeller in rpm\n",
+ "etaisen=0.8#.......#Isentropic efficiency\n",
+ "pc=0.73#........#Pressure co efficient\n",
+ "pa=1.013#..........#Ambient pressure in bar\n",
+ "ta=273+15#................#Ambient temperature in K\n",
+ "ga=1.4#..........#Ratio of specific heats\n",
+ "cp=1.005#.........#Specific heat at constant pressure in kJ/kgK\n",
+ "R=0.287#........#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "delt=((ta*((rp**((ga-1)/ga))-1))/etaisen)#.......#Rise in temperature\n",
+ "t02=ta+delt#............#Total head temperature in K\n",
+ "print \"Total head temperature = %0.2f K\"%t02\n",
+ "t2=t02-((Cbl2*Cbl2)/(2*cp*1000))#..........#Static temperature at outlet in K\n",
+ "print \"Static temperature at outlet = %0.2f K\"%t2\n",
+ "p02=pa*rp#\n",
+ "p2=p02/(1+((Cbl2*Cbl2)/(2*R*t2*1000)))#...........#Static pressure at exit in bar\n",
+ "print \"Static pressure at exit = %0.2f bar\"%p2\n",
+ "t1=ta-((Cf*Cf)/(2*cp*1000))#.............#Static temperature at inlet in K\n",
+ "print \"Static temperature at inlet = %0.2f K\"%t1\n",
+ "p1=pa/(1+((Cf*Cf)/(2*R*t1*1000)))#...........#Static pressure at inlet in bar\n",
+ "print \"Static pressure at inlet = %0.2f bar\"%p1\n",
+ "rp=p2/p1#.....#Static pressure ratio\n",
+ "print \"Static pressure ratio : %0.4f\"%rp\n",
+ "W=cp*delt#...........#Work done on air in kJ/kg of air\n",
+ "print \"Work done on air = %0.2f kJ/kg\"%W\n",
+ "P=m*cp*delt#..........#Power required to drive the compressor in kW\n",
+ "print \"Power required to drive the compressor = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.43 PAGE 782"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature rise of air while passing through compressor: 159.09 \n",
+ "Pressure ratio : 3.8237\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt\n",
+ "# Initialisation of Variables\n",
+ "t1=300#.........#Inlet temperature in K\n",
+ "N=18000#.............#Compressor rpm\n",
+ "etaisen=0.76#.......#Isentropic efficiency\n",
+ "od=0.55#......#Outer diameter of blade tip\n",
+ "sf=0.82#......#Slip factor\n",
+ "cp=1.005#.........#Specific heat capacity at constant pressure in kJ/kgK\n",
+ "ga=1.4#.............#Ratio of specific heats\n",
+ "#Calculations\n",
+ "Cbl2=(pi*od*N)/60#W=Cbl2*Cbl2*sf/1000#...........#Work done per kg of air in kW\n",
+ "delt=W/cp#..............#Temperature rise of air while passing through compressor \n",
+ "print \"Temperature rise of air while passing through compressor: %0.2f \"%delt\n",
+ "t21=(etaisen*delt)+t1#rp=((t21/t1)**(ga/(ga-1)))#.....#Pressure ratio\n",
+ "print \"Pressure ratio : %0.4f\"%rp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.44 PAGE 782"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Pressure rise = 0.15 bar\n",
+ "Work done per kg of air = 27.54 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,tan\n",
+ "# Initialisation of Variables\n",
+ "Cbl=240#........#Mean blade velocity in m/s\n",
+ "Cf=190#.........#Air flow velocity in m/s\n",
+ "al1=45#al2=14#.........#Blade angels in degrees\n",
+ "rho=1#.........#Density of air in kg/m**3\n",
+ "#Calculations \n",
+ "pr=(1/2)*(rho*Cf*Cf/(10**5))*(((tan(al1*pi/180))**2)-((tan(al2*pi/180))**2))#.......#Pressure rise in bar\n",
+ "print \"Pressure rise = %0.2f bar\"%pr\n",
+ "W=Cbl*Cf/1000*((tan(al1*pi/180))-(tan(al2*pi/180)))#.............#Work done per kg of air in kW\n",
+ "print \"Work done per kg of air = %0.2f kW\"%W"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.45 PAGE 783"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Work done by the machine = 174.52 kJ/kg\n",
+ "\n",
+ "Blade angels are as follows (In degrees)\n",
+ "\n",
+ "alpha1=18.091622\tbeta1=59.136727\n",
+ "\n",
+ "alpha2=59.136727\tbeta2=18.091622\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,atan\n",
+ "# Initialisation of Variables\n",
+ "etaisen=0.82#.......#Overall isentropic efficiency \n",
+ "N=8#............#No of stages\n",
+ "t1=293#...........#Inlet temperature in K\n",
+ "ga=1.4#............#Ratio of specific heats\n",
+ "rp=4#.............#Pressure ratio\n",
+ "Rd=0.5#................#Reaction factor\n",
+ "Cbl=180#.................#Mean blade speed in m/s\n",
+ "Cf=90#...............#Air flow velocity in m/s\n",
+ "cp=1.005#.........#Specific heat at constant pressure in kJ/kgK\n",
+ "#Calculations\n",
+ "t21=t1*(rp**((ga-1)/ga))#\n",
+ "t2=((t21-t1)/etaisen)+t1#\n",
+ "wrt=cp*(t2-t1)#.........#Work done by the machine in kJ/kg\n",
+ "print \"Work done by the machine = %0.2f kJ/kg\"%wrt\n",
+ "be1=atan(((cp*(t2-t1)*1000/(Cf*Cbl*N))+(Cbl/Cf))/2)*180/pi#\n",
+ "al1=atan((Cbl/Cf)-tan(be1*pi/180))*180/pi#\n",
+ "print \"\\nBlade angels are as follows (In degrees)\\n\\nalpha1=%f\\tbeta1=%f\\n\\nalpha2=%f\\tbeta2=%f\\n\\n\"%(al1,be1,be1,al1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.46 PAGE 784"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Flow velocity = 95.45 m/s\n",
+ "No of stages : 8.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,tan\n",
+ "# Initialisation of Variables\n",
+ "etaisen=0.85#.......#Overall isentropic efficiency\n",
+ "t1=293#...........#Inlet temperature in K\n",
+ "rp=4#.............#Pressure ratio\n",
+ "Rd=0.5#................#Reaction factor\n",
+ "Cbl=180#.................#Mean blade speed in m/s\n",
+ "wip=0.82#..............#Work input factor\n",
+ "al1=12#be1=42#......#Blade angels in degrees\n",
+ "ga=1.4#............#Ratio of specific heats \n",
+ "cp=1.005#.........#Specific heat at constant pressure in kJ/kgK\n",
+ "#Calculations\n",
+ "t21=t1*(rp**((ga-1)/ga))#\n",
+ "t2=((t21-t1)/etaisen)+t1#\n",
+ "wrt=cp*(t2-t1)#.........#Theoretical work required in kJ/kg\n",
+ "Cf=Cbl/(tan(al1*pi/180)+tan(be1*pi/180))#\n",
+ "Cw1=Cf*tan(al1*pi/180)#Cw2=Cf*tan(be1*pi/180)#\n",
+ "wcps=Cbl*(Cw2-Cw1)*wip/1000#.............#Work consumed per stage in kJ/kg\n",
+ "N=round(wrt/wcps)#.......#No of stages\n",
+ "print \"Flow velocity = %0.2f m/s\"%Cf\n",
+ "print \"No of stages : \",N"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.47 PAGE 784"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "Blade angels are as follows (In degrees)\n",
+ "\n",
+ "alpha1=4.924070\t\tbeta1=59.410637\n",
+ "\n",
+ "alpha2=59.410637\tbeta2=4.924070\n",
+ "\n",
+ "\n",
+ "Power required by the compressor = 184.95 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,atan,tan\n",
+ "# Initialisation of Variables\n",
+ "rp=5#..........#Stagnation pressure ratio ga\n",
+ "etaisen=0.92#.......#Overall isentropic efficiency\n",
+ "t1=290#.............#Inlet stagnation temperature in K\n",
+ "p1=1#...............#Inlet stagnation pressure in bar\n",
+ "Cbl=160#...........#Mean blade speed in m/s\n",
+ "ga=1.4#...........#Ratio of specific heats\n",
+ "Rd=0.5#............#Degree of reaction\n",
+ "Cf=90#................#Axial velocity of air through compressor in m/s\n",
+ "N=8#.............#No of stages\n",
+ "m=1#.........#Mass flow in kg/s\n",
+ "cp=1.005#............#Specific heat at constant pressure in kJ/kgK\n",
+ "#Calculations\n",
+ "tN1=t1*(rp**((ga-1)/ga))#......#Temperature at the end of compression stage due to isentropic expansion in K\n",
+ "tN=((tN1-t1)/etaisen)+t1#\n",
+ "be1=atan(((cp*(tN-t1)*1000/(Cf*Cbl*N))+(Cbl/Cf))/2)*180/pi#\n",
+ "al1=atan((Cbl/Cf)-tan(be1*pi/180))*180/pi#\n",
+ "print \"\\nBlade angels are as follows (In degrees)\\n\\nalpha1=%f\\t\\tbeta1=%f\\n\\nalpha2=%f\\tbeta2=%f\\n\\n\"%(al1,be1,be1,al1)\n",
+ "P=m*cp*(tN-t1)#..........#Power required by the compressor in kW\n",
+ "print \"Power required by the compressor = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.48 PAGE 785"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stagnation polytropic efficiency = 87.59 %\n",
+ "No of stages : 27.0\n",
+ "Inlet temperature = 295.35 K\n",
+ "Inlet pressure = 0.95 bar\n",
+ "Height of the blade in the first stage = 28.23 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,cos,log,tan,atan\n",
+ "# Initialisation of Variables\n",
+ "rp=4#........#Stagnation pressure ratio\n",
+ "etaisen=0.85#.....#Stagnation isentropic efficiency\n",
+ "p1=1#.............#Inlet stagnation pressure in bar\n",
+ "t1=300#...........#Inlet stagnation temperature in K\n",
+ "Rd=0.5#............#Degree of reaction\n",
+ "Cu=180#...........#Mean blade speed in m/s\n",
+ "Wd=0.9#...........#Work done factor\n",
+ "htr=0.42#.......#Hub tip ratio\n",
+ "al1=12#be2=al1#.......#Relative air angle at rotor inlet in degrees\n",
+ "al2=32#be1=al2#........#Relative air angle at rotor at outlet in degrees\n",
+ "ga=1.4#...........#Ratio of specific heats\n",
+ "cp=1.005#..........#Specific heat capacity at constant pressure in kJ/kgK\n",
+ "R=287#..........#Gas constant in J/kgK\n",
+ "m=19.5#..........#Mass flow in kg/s\n",
+ "#Calculations\n",
+ "tN1=t1*(rp**((ga-1)/ga))#......#Temperature at the end of compression stage due to isentropic expansion in K\n",
+ "tN=((tN1-t1)/etaisen)+t1#\n",
+ "etap=log(rp**((ga-1)/ga))/log(tN/t1)#...........#Stagnation polytropic efficiency\n",
+ "print \"Stagnation polytropic efficiency = %0.2f %%\"%(etap*100)\n",
+ "Cf=Cu/(tan(al1*pi/180)+tan(be1*pi/180))#\n",
+ "Cw1=Cf*tan(al1*pi/180)\n",
+ "Cw2=Cf*tan(al2*pi/180)#\n",
+ "wcps=Cu*(Cw2-Cw1)*Wd/1000#.............#Work consumed per stage in kJ/kg\n",
+ "wc=cp*(tN-t1)#...............#Work consumed by compressor in kJ/kg\n",
+ "N=round(wc/wcps)#.......#No of stages\n",
+ "print \"No of stages : \",N\n",
+ "C1=Cf/cos(al1*pi/180)#.......#Absolute velocity at exit from guide vanes in m/s\n",
+ "ti=t1-((C1*C1)/(2*cp*1000))#..........#Inlet temperature in K\n",
+ "print \"Inlet temperature = %0.2f K\"%ti\n",
+ "pi=p1*((ti/t1)**(ga/(ga-1)))#......#Inlet pressure in bar\n",
+ "print \"Inlet pressure = %0.2f bar\"%pi\n",
+ "rho1=(pi*10**5)/(R*ti)#.............#Density of air approaching the first stage\n",
+ "r1=sqrt(m/(rho1*pi*Cf*(1-(htr**2))))#\n",
+ "rh=r1*htr#\n",
+ "l=r1-rh#............#Height of the blade in the first stage in m\n",
+ "print \"Height of the blade in the first stage = %0.2f cm\"%(l*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 20.49 PAGE 785"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Delivery pressure = 5.57 bar\n",
+ "No of stages : 11.0\n",
+ "Overall efficiency = 84.86 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, sqrt,cos,log,tan,atan,exp\n",
+ "# Initialisation of Variables\n",
+ "ma=20#..........#Air flow rate in kg/s\n",
+ "p1=1#.........#Inlet stagnation pressure in bar\n",
+ "t1=290#.........#Inlet stagnation temperature in Kelvin\n",
+ "t2=305#.........#Temperature at the end of first stage in K\n",
+ "etapc=0.88#.....#Polytropic efficiency of compression\n",
+ "P=4350#......#Power consumed by compressor in kW\n",
+ "ga=1.4#.....#Ratio of specific heats\n",
+ "cp=1.005#......#Specific heat at constant pressure \n",
+ "#Calculations\n",
+ "p2byp1=(exp(etapc*log(t2/t1)))**(ga/(ga-1))#\n",
+ "tN=(P/(ma*cp))+t1#\n",
+ "pN=p1*((tN/t1)**((etapc*ga)/(ga-1)))#......#Delivery pressure in bar\n",
+ "print \"Delivery pressure = %0.2f bar\"%pN\n",
+ "N=log(pN/p1)/log(p2byp1)#...........#No of stages \n",
+ "print \"No of stages : \",round(N)\n",
+ "tN1=t1*((pN/p1)**((ga-1)/ga))#\n",
+ "etao=(tN1-t1)/(tN-t1)#...............#Overall efficiency\n",
+ "print \"Overall efficiency = %0.2f %%\"%(etao*100)"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER21_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER21_1.ipynb
new file mode 100644
index 00000000..c1d0c46b
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER21_1.ipynb
@@ -0,0 +1,1250 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 21 - Gas turbines and jet propulsion"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.1 PAGE 848"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power developed = 250.22 kW/kg of air\n",
+ "Thermal efficiency = 17.96 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=1#.........#Pressure of air while entering the turbine in bar\n",
+ "t1=293#........#Temperature of air entering the turbine in K\n",
+ "p2=4#.........#Pressure of air after compression in bar\n",
+ "etac=0.8#....#Efficiency of compressor\n",
+ "etat=0.85#.....#Efficiency of turbine\n",
+ "afr=90#........#Air fuel ratio\n",
+ "ma=3#...........#Mass of air in kg/s\n",
+ "ga=1.4#........#Ratio of specific heats\n",
+ "cp=1#.............#Specific heat at constant pressure in kJ/kgK\n",
+ "C=41800#.............#Calorific value of fuel in kJ/kg\n",
+ "#Calculations\n",
+ "t2=t1*((p2/p1)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "t3=round((C/((afr+1)*cp))+t21)#..............#Temperature before expansion in turbine in K\n",
+ "p4=p1#\n",
+ "p3=p2#\n",
+ "t4=t3*((p4/p3)**((ga-1)/ga))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "wt=((afr+1)/afr)*cp*(t3-t41)#........#Work done by turbine in kJ/kg of air\n",
+ "wc=round(1*cp*(t21-t1))#.................#Work done by compression in kJ/kg of air\n",
+ "wnet=wt-wc#..........#Net work done in kJ/kg\n",
+ "P=wnet*ma#.................#Power developed in kW/kg of air\n",
+ "print \"Power developed = %0.2f kW/kg of air\"%P\n",
+ "qs=(1/afr)*C#................#Heat supplied in kJ/kg of air\n",
+ "etath=wnet/qs#................#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.2 PAGE 848"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power developed = 770.31 kW/kg of air\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "t1=288#........#Temperature of air entering the turbine in K\n",
+ "t3=883#..............#Temperature before expansion in turbine in K\n",
+ "etac=0.8#....#Efficiency of compressor\n",
+ "etat=0.82#.....#Efficiency of turbine\n",
+ "rp=6#...........#Pressure ratio\n",
+ "ma=16#...........#Mass of air in kg/s\n",
+ "gac=1.4#........#Ratio of specific heats for compression process\n",
+ "gae=1.333#............#Ratio of specific heats for expansion process\n",
+ "cpc=1.005#.............#Specific heat at constant pressure in kJ/kgK during compression process\n",
+ "cpe=1.11#.............#Specific heat at constant pressure in kJ/kgK during expansion process\n",
+ "C=41800#.............#Calorific value of fuel in kJ/kg\n",
+ "#Calculations\n",
+ "t2=t1*((rp)**((gac-1)/gac))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "t4=t3/((rp)**((gae-1)/gae))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "wt=cpe*(t3-t41)#........#Work done by turbine in kJ/kg of air\n",
+ "wc=(1*cpc*(t21-t1))#.................#Work done by compression in kJ/kg of air\n",
+ "wnet=wt-wc#..........#Net work done in kJ/kg\n",
+ "P=wnet*ma#.................#Power developed in kW/kg of air\n",
+ "print \"Power developed = %0.2f kW/kg of air\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.3 PAGE 849"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thermal efficiency = 65.57 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "p1=1#.........#Pressure of air while entering the turbine in bar\n",
+ "t1=300#........#Temperature of air entering the turbine in K\n",
+ "p2=6.2#.........#Pressure of air after compression in bar\n",
+ "etac=0.88#....#Efficiency of compressor\n",
+ "etat=0.9#.....#Efficiency of turbine\n",
+ "far=0.017#........#Fuel air ratio\n",
+ "ga=1.4#........#Ratio of specific heats for compression\n",
+ "gae=1.333#........#Ratio of specific heats for expansion\n",
+ "cp=1.147#.............#Specific heat at constant pressure in kJ/kgK during expansion\n",
+ "cpc=1.005#.............#Specific heat at constant pressure in kJ/kgK during compression\n",
+ "C=44186#.............#Calorific value of fuel in kJ/kg\n",
+ "#Calculations\n",
+ "t2=t1*((p2/p1)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "t3=(((C*far)/((far+1)*cpc))+t21)#..............#Temperature before expansion in turbine in K\n",
+ "p4=p1#p3=p2#t4=t3*((p4/p3)**((gae-1)/gae))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "wt=(cp*(t3-t41))#........#Work done by turbine in kJ/kg of air\n",
+ "wc=round(1*cpc*(t21-t1))#.................#Work done by compression in kJ/kg of air\n",
+ "wnet=wt-wc#..........#Net work done in kJ/kg\n",
+ "qs=(far)*C#................#Heat supplied in kJ/kg of air\n",
+ "etath=wnet/qs#................#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.4 PAGE 850"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air fuel ratio is 56:1\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "t1=300#........#Temperature of air entering the turbine in K\n",
+ "t3=1148#..............#Temperature before expansion in turbine in K\n",
+ "etac=0.8#....#Efficiency of compressor\n",
+ "etat=0.852#.....#Efficiency of turbine\n",
+ "rp=4#...........#Pressure ratio\n",
+ "p1=1#...............#Pressure of air before entering compressor\n",
+ "ga=1.4#........#Ratio of specific heats\n",
+ "cp=1.0#.............#Specific heat at constant pressure in kJ/kgK \n",
+ "C=42000#.............#Calorific value of fuel in kJ/kg\n",
+ "perlcc=10#............#Percent loss of calorific value of fuel in combustion chamber\n",
+ "#Calculations\n",
+ "p2=p1*rp#.................#Pressure of air after compression in bar\n",
+ "etacc=(100-perlcc)/100#.......#Efficiency of combustion chamber\n",
+ "t2=t1*((rp)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "afr=((C*etacc)/(cp*(t3-t21)))-1#........#Air fuel ratio\n",
+ "print \"Air fuel ratio is %d:1\"%round(afr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.5 PAGE 851"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thermal efficiency = 15.92 %\n",
+ "The work ratio is 0.259290\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "t1=300#........#Temperature of air entering the turbine in K\n",
+ "t3=883#..............#Temperature before expansion in turbine in K\n",
+ "etac=0.8#....#Efficiency of compressor\n",
+ "etat=0.852#.....#Efficiency of turbine\n",
+ "rp=4#...........#Pressure ratio\n",
+ "p1=1#...............#Pressure of air before entering compressor\n",
+ "ga=1.4#........#Ratio of specific heats\n",
+ "cp=1.11#.............#Specific heat at constant pressure in kJ/kgK \n",
+ "C=42000#.............#Calorific value of fuel in kJ/kg\n",
+ "perlcc=10#............#Percent loss of calorific value of fuel in combustion chamber\n",
+ "#Calculations\n",
+ "p2=p1*rp#.................#Pressure of air after compression in bar\n",
+ "etacc=(100-perlcc)/100#.......#Efficiency of combustion chamber\n",
+ "t2=t1*((rp)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "qs=cp*(t3-t21)#...................#Heat supplied in kJ/kg\n",
+ "t4=t3/((rp)**((ga-1)/ga))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "wt=cp*(t3-t41)#........#Work done by turbine in kJ/kg of air\n",
+ "wc=(1*cp*(t21-t1))#.................#Work done by compression in kJ/kg of air\n",
+ "wnet=wt-wc#..........#Net work done in kJ/kg\n",
+ "etath=wnet/qs#................#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "wrr=wnet/wt#...................#Work ratio\n",
+ "print \"The work ratio is %f\"%wrr"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.6 PAGE 851"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Quantity of air in circulation = 13.49 kg\n",
+ "Actual heat supplied per kg of air circulation = 552.66 kJ\n",
+ "Thermal efficiency = 14.28 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "p1=1#.........#Pressure of air while entering the turbine in bar\n",
+ "t1=293#........#Temperature of air entering the turbine in K\n",
+ "p2=5#.........#Pressure of air after compression in bar\n",
+ "plcc=0.1#.....#Pressure loss in combustion chamber in bar\n",
+ "t3=953#............#Temperature before expansion in turbine in K\n",
+ "etac=0.85#....#Efficiency of compressor\n",
+ "etat=0.8#.....#Efficiency of turbine\n",
+ "etacc=0.85#......#Efficiency of combustion chamber\n",
+ "ga=1.4#........#Ratio of specific heats\n",
+ "cp=1.024#.............#Specific heat at constant pressure in kJ/kgK \n",
+ "P=1065#.............#Power developed by the plant in kW\n",
+ "\n",
+ "#Calculations\n",
+ "p3=p2-plcc#........................#Pressure before expansion in turbine in bar\n",
+ "p4=p1#\n",
+ "t2=t1*((p2/p1)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "t4=t3*((p4/p3)**((ga-1)/ga))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "wt=(cp*(t3-t41))#........#Work done by turbine in kJ/kg of air\n",
+ "wc=round(1*cp*(t21-t1))#.................#Work done by compression in kJ/kg of air\n",
+ "wnet=wt-wc#..........#Net work done in kJ/kg\n",
+ "ma=P/wnet#.............#Quantity of air in circulation in kg\n",
+ "print \"Quantity of air in circulation = %0.2f kg\"%(ma)\n",
+ "qs=cp*(t3-t21)/etac#..................#Actual heat supplied per kg of air circulation in kJ\n",
+ "print \"Actual heat supplied per kg of air circulation = %0.2f kJ\"%qs\n",
+ "etath=wnet/qs#.............#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.7 PAGE 852"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Pressure ratio of low pressure turbine : 2.3042\n",
+ "Temperature of the exhaust from the unit = 672.95 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "ma=20#..............#Air flow rate in kg/s\n",
+ "t1=300#........#Temperature of air entering the turbine in K\n",
+ "t3=1000#............#Temperature before expansion in turbine in K\n",
+ "rp=4#...............#Pressure ratio\n",
+ "cp=1#.............#Specific heat at constant pressure in kJ/kgK \n",
+ "ga=1.4#........#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t2=t1*((rp)**((ga-1)/ga))#...............#Temperature of air after compression in K\n",
+ "t4=t3-t2+t1#............#Temperature after expansion in turbine in K\n",
+ "prlp=rp/((t3/t4)**(ga/(ga-1)))#.............#Pressure ratio of low pressure turbine\n",
+ "print \"Pressure ratio of low pressure turbine : %0.4f\"%prlp\n",
+ "t5=t4/((prlp)**((ga-1)/ga))#............#Temperature of the exhaust from the unit in K\n",
+ "print \"Temperature of the exhaust from the unit = %0.2f K\"%t5"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.8 PAGE 853"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cycle efficiency = 31.04 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "p1=1#.........#Pressure of air while entering the turbine in bar\n",
+ "t1=300#........#Temperature of air entering the turbine in K\n",
+ "t21=490#........#Actual temperature of air after compression in K\n",
+ "t3=1000#............#Temperature before expansion in turbine in K\n",
+ "rp=5#.............#Pressure ratio\n",
+ "etac=0.8#....#Efficiency of compressor\n",
+ "etat=0.8#.....#Efficiency of turbine\n",
+ "ga=1.4#........#Ratio of specific heats\n",
+ "cp=1.005#.............#Specific heat at constant pressure in kJ/kgK \n",
+ "#Calculations\n",
+ "t4=t3/((rp)**((ga-1)/ga))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "t5=((t41-t21)*etac)+t21#...........#Temperature of the exhaust from the unit in K\n",
+ "wc=cp*(t21-t1)#.............#Work consumed by compressor in kJ/kg\n",
+ "wt=cp*(t3-t41)#........#Work done by turbine in kJ/kg\n",
+ "qs=cp*(t3-t5)#..........#Heat supplied in kJ/kg\n",
+ "etac=(wt-wc)/qs#.........#Cycle efficiency\n",
+ "print \"Cycle efficiency = %0.2f %%\"%(etac*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.9 PAGE 853"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thermal efficiency of power turbine = 9.46 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "p1=1#.........#Pressure of air while entering the turbine in bar\n",
+ "t1=288#........#Temperature of air entering the turbine in K\n",
+ "p2=8#.........#Pressure of air after compression in bar\n",
+ "t3=1173#.............#Temperature before expansion in turbine in K\n",
+ "etac=0.76#....#Efficiency of compressor\n",
+ "etat=0.86#.....#Efficiency of turbine\n",
+ "ma=23#.........#Quantity of air circulation in kg/s\n",
+ "ga=1.4#........#Ratio of specific heats for compression\n",
+ "gag=1.34#........#Ratio of specific heats for expansion\n",
+ "cp=1.005#.............#Specific heat at constant pressure in kJ/kgK \n",
+ "cpg=1.128#.............#Specific heat at constant pressure in kJ/kgK\n",
+ "C=4200#.............#Calorific value of fuel in kJ/kg\n",
+ "etamech=0.95#........#Mechanical efficiency\n",
+ "etagen=0.96#.........#Generator efficiency\n",
+ "#Calculations\n",
+ "t2=t1*((p2/p1)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "p4=p1#p3=p2#.............#Isobaric processes\n",
+ "t4=t3*((p4/p3)**((gag-1)/gag))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "wc=cp*(t21-t1)#................#Work dony by compressor\n",
+ "m1=(wc)/(cpg*(t3-t41))#.............#Flow through compressor turbine in kg\n",
+ "m2=1-m1#..............#Flow through power turbine in kg\n",
+ "wpt=m2*(cpg*(t3-t41))#.........#turbine work in kJ/kg\n",
+ "P=ma*wpt*etamech*etagen#.........#Power output in kW\n",
+ "qi=cpg*t3-cp*t21#.............#Input heat in kJ/kg of air\n",
+ "etath=wpt/qi#.............#Thermal efficiency of power turbine\n",
+ "print \"Thermal efficiency of power turbine = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.10 PAGE 854"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature of gasses entering the turbine = 654.75 K\n",
+ "Pressure of gasses entering the power turbine = 1.65 bar\n",
+ "Net power output = 73.95 kW\n",
+ "Work ratio : 0.2198\n",
+ "Thermal efficiency of the unit : 19.26 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "t1=288#........#Temperature of air entering the turbine in K\n",
+ "t3=883#..............#Temperature before expansion in turbine in K\n",
+ "etac=0.82#....#Efficiency of compressor\n",
+ "etathp=0.85#.....#Efficiency of high pressure turbine\n",
+ "etatlp=0.85#.....#Efficiency of low pressure turbine\n",
+ "rp=7#...........#Pressure ratio\n",
+ "p1=1.01#...............#Pressure of air before entering compressor\n",
+ "ga=1.4#........#Ratio of specific heats for compression\n",
+ "gag=1.333#........#Ratio of specific heats for expansion\n",
+ "cp=1.005#.............#Specific heat at constant pressure in kJ/kgK \n",
+ "cpg=1.15#.............#Specific heat at constant pressure in kJ/kgK in generator\n",
+ "#Calculations\n",
+ "p2=p1*rp#\n",
+ "t2=t1*((p2/p1)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#..............#Actual temperature of air after compression in K\n",
+ "wc=cp*(t21-t1)#............#Compressor work in kJ/kg\n",
+ "t41=t3-(wc/cpg)#..........#Temperature of gasses entering the turbine in K\n",
+ "print \"Temperature of gasses entering the turbine = %0.2f K\"%t41\n",
+ "t4=round(t3-((t3-t41)/etathp))#.........#Ideal temperature of gases entering the turbine in K\n",
+ "p3=p2#.........#Isobaric processes\n",
+ "p4=p3/((t3/t4)**(1/((gag-1)/gag)))#....#Pressure of gasses entering the power turbine in bar\n",
+ "print \"Pressure of gasses entering the power turbine = %0.2f bar\"%p4\n",
+ "t5=t41*((((t3/t4)**(1/((gag-1)/gag)))/(rp))**((gag-1)/gag))#\n",
+ "t51=t41-(etatlp*(t41-t5))#\n",
+ "wlp=cpg*(t41-t51)#............#Net power output in kW\n",
+ "print \"Net power output = %0.2f kW\"%wlp\n",
+ "wr=wlp/(wlp+wc)#............#Work ratio\n",
+ "print \"Work ratio : %0.4f\"%wr\n",
+ "qs=cpg*(t3-t21)#...........#Heat supplied in kJ/kg\n",
+ "etath=wlp/qs#..........#Thermal efficiency\n",
+ "print \"Thermal efficiency of the unit : %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.11 PAGE 855"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net work output = 173.98 kW\n",
+ "Power plant efficiency = 25.00 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "# Initialisation of Variables\n",
+ "rp=5.6#................#Pressure ratio\n",
+ "t1=303#.............#Temperature of intake air in K\n",
+ "p1=1#............#Pressure of intake air in bar\n",
+ "t5=973#............#Highest temperature of the cycle in K\n",
+ "etac=0.85#..........#Effeciency of compressor\n",
+ "etat=0.9#..........#Efficiency of turbine\n",
+ "ma=1.2#..........#Rate of air flow in kg/s\n",
+ "cp=1.02#...........#Specific heat at constant volume in kJ/kgK\n",
+ "ga=1.41#.............#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t2=t1*((sqrt(rp))**((ga-1)/ga))#\n",
+ "t21=((t2-t1)/etac)+t1#\n",
+ "wc=2*ma*cp*(t21-t1)#............#Work input for the two stage compressor in kJ/s\n",
+ "t6=t5/(rp**((ga-1)/ga))#\n",
+ "t61=t5-etat*(t5-t6)#\n",
+ "wt=ma*cp*(t5-t61)#...............#Work output from turbine in kJ/s\n",
+ "wnet=wt-wc#....................#Net work available in kJ/s\n",
+ "print \"Net work output = %0.2f kW\"%wnet\n",
+ "qs=ma*cp*(t5-t21)#.................#Heat supplied in kJ/s\n",
+ "etath=wnet/qs#\n",
+ "print \"Power plant efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.13 PAGE 856"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cycle efficiency = 11.81 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "t1=288#.............#Temperature of intake air in K\n",
+ "rp=4#.............#Pressure ratio\n",
+ "etac=0.82#.........#Compressor efficiency\n",
+ "etahe=0.78#...........#Efficiency of heat exchanger\n",
+ "etat=0.7#...........#Turbine efficiency\n",
+ "t3=873#............#Temperature before expansion in turbine in K\n",
+ "R=0.287#............#Gas constant for air in kJ/kgK\n",
+ "ga=1.4#...........#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t2=t1*((rp)**((ga-1)/ga))#...............#Ideal temperature of air after compression in K\n",
+ "t21=((t2-t1)/etac)+t1#...............#Actual temperature of air after compression in K\n",
+ "t4=t3/(rp**((ga-1)/ga))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-etat*(t3-t4)#............#Actual temperature after expansion in turbine in K\n",
+ "cp=R*(ga/(ga-1))#..............#Specific heat at constant pressure in kJ/kgK\n",
+ "wc=cp*(t21-t1)#.............#Compressor work in kJ/kg\n",
+ "wt=cp*(t3-t41)#....................#Turbine work in kJ/kg\n",
+ "wnet=wt-wc#....................#Net work available in kJ/s\n",
+ "t5=(etahe*(t41-t21))+t21#\n",
+ "qs=cp*(t3-t5)#.................#Heat supplied in kJ/kg\n",
+ "etac=wnet/qs#...............#Cycle efficiency\n",
+ "print \"Cycle efficiency = %0.2f %%\"%(etac*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.14 PAGE 857"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thermal efficiency in simple cycle = 23.25 %\n",
+ "Thermal efficiency in heat exchanger cycle = 20.94 %\n",
+ "Increase in thermal efficiency = -2.31 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "etahe=0.72#.................#Efficiency of heat exchanger\n",
+ "p1=1.01#.........#Pressure of air while entering the turbine in bar\n",
+ "t1=293#........#Temperature of air entering the turbine in K\n",
+ "p2=4.04#.........#Pressure of air after compression in bar\n",
+ "etat=0.85#..........#Turbine efficiency\n",
+ "pdhe=0.05#............#Pressure drop on each side of heat exchanger in bar\n",
+ "pdcc=0.14#...........#Pressure drop in combustion chamber in bar\n",
+ "etac=0.8#...........#Compressor efficiency\n",
+ "ga=1.4#.............#Ratio of specific heats\n",
+ "C=41800#.............#Calorific value of fuel in kJ/kg\n",
+ "cp=1.024#...........#Specific heat at constant pressure in kJ/kgK\n",
+ "afrc=90#..............#Air fuel ratio for simple cycle\n",
+ "#Calculations\n",
+ "t2=(t1*((p2/p1)**((ga-1)/ga)))#...............#Ideal temperature of air after compression in K\n",
+ "t21=round(((t2-t1)/etac)+t1)#...............#Actual temperature of air after compression in K\n",
+ "t3=((1*C)/(cp*(afrc+1)))+t21#............#Temperature before expansion in turbine in K\n",
+ "p4=p1#p3=p2-pdcc#t4=round(t3*((p4/p3)**((ga-1)/ga)))#............#Ideal temperature after expansion in turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#.................#Actual temperature after expansion in turbine in K\n",
+ "etath=(t3-t41-t21+t1)/(t3-t21)#...........#Thermal efficiency in simple cycle\n",
+ "print \"Thermal efficiency in simple cycle = %0.2f %%\"%(etath*100)\n",
+ "p3he=p2-pdhe-pdcc#..........#Pressure before expansion in turbine in bar in heat exchanger cycle\n",
+ "p4he=p1+pdhe#................#Pressure after expansion in turbine in bar in heat exchanger cycle\n",
+ "t4he=t3*((p4he/p3he)**((ga-1)/ga))#............#Ideal temperature after expansion in turbine in K in heat exchanger cycle\n",
+ "t41he=round(t3-(etat*(t3-t4he)))#.................#Actual temperature after expansion in turbine in K in heat exchanger cycle\n",
+ "t5=(etahe*(t41he-t21))+t21#\n",
+ "etathhe=(t3-t41he-t21+t1)/(t3-t5)#.............#Thermal efficiency for heat exchanger cycle\n",
+ "print \"Thermal efficiency in heat exchanger cycle = %0.2f %%\"%(etathhe*100)\n",
+ "inc=etathhe-etath#\n",
+ "print \"Increase in thermal efficiency = %0.2f %%\"%(inc*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.15 PAGE 858"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thermal efficiency = 23.44 %\n",
+ "The workk ratio is 0.283\n",
+ "Mass flow = 39.12 kg/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "t1=293#........#Temperature of air entering the turbine in K\n",
+ "rp=9#............#Overall pressure ratio\n",
+ "etac=0.8#........#Efficiency of compressor\n",
+ "t6=898#..........#Reheat remperature\n",
+ "t8=t6#etat=0.85#.......#Efficiency of turbine\n",
+ "etamech=0.95#..........#Mechanical efficiency\n",
+ "etahe=0.8#...............#Heat exchanger thermal efficiency\n",
+ "cpg=1.15#.............#Specific heat capacity for gases in heat exchanger in kJ/kgK\n",
+ "cpa=1.005#............#Specific heat capacity for normal air in kJ/kgK\n",
+ "gag=1.333#.............#Ratio of specific heats for gases in heat exchanger \n",
+ "ga=1.4#...............#Ratio of specific heats for normal gases\n",
+ "P=4500#.................#Power output of turbine in kW\n",
+ "#Calculations\n",
+ "t2=t1*((sqrt(rp))**((ga-1)/ga))#\n",
+ "t21=((t2-t1)/etac)+t1#\n",
+ "wc=cpa*(t21-t1)#............#Work input per compressor stage\n",
+ "whp=(2*wc)/etamech#.........#Work output of HP turbine in kJ/kg\n",
+ "t71=t6-(whp/cpg)#\n",
+ "t7=round(t6-((t6-t71)/etat))#\n",
+ "k=(rp/((t6/t7)**((gag)/(gag-1))))**((gag-1)/gag)#\n",
+ "k1=((round((k/2)*100))*2)/100#..............#Rounding off upto 2 decimals\n",
+ "t9=t8/(k1)#\n",
+ "t91=t8-((t8-t9)*etat)#\n",
+ "wout=cpg*(t8-t91)*etamech#..............#Net work output in kJ/kg\n",
+ "t5=etahe*(t91-t21)+t21#\n",
+ "qs=cpg*(t6-t5)+cpg*(t8-t71)#...............#Heat supplied\n",
+ "etath=wout/qs#.................#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "wgross=whp+(wout/etamech)#.........#Gross work output in kJ/kg\n",
+ "wr=wout/wgross#................#Work ratio\n",
+ "print \"The workk ratio is %0.3f\"%wr\n",
+ "m1=P/wout#...............#Mass flow in kg/s\n",
+ "print \"Mass flow = %0.2f kg/s\"%m1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.16 PAGE 859"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thermal efficiency of the turbine without regenerator = 27.01 %\n",
+ "Thermal efficiency of the turbine with regenerator = 38.96 %\n",
+ "Mass of fluid circulated = 2.40 kg/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "#Conditions of the closed gas turbine\n",
+ "t1=293#.............#Temperature at the inlet of first stage compressor in K\n",
+ "t5=1023#.................#Maximum temperature in K\n",
+ "p1=1.5#................#Inlet pressure in bar\n",
+ "p2=6#.................#Pressure in bar\n",
+ "etac=0.82#..............#Compressor efficiency\n",
+ "etat=0.82#..............#Turbine efficiency\n",
+ "etare=0.70#................#Regenerator efficiency\n",
+ "P=350#....................#Power developed by the plant in kW\n",
+ "ga=1.4#................#Ratio of specific heats\n",
+ "cp=1.005#..............#Specific heat at constant pressure in kJ/kgK\n",
+ "t3=t1#\n",
+ "#Calculations\n",
+ "t2=t1*((sqrt(p2/p1))**((ga-1)/ga))#\n",
+ "t21=((t2-t1)/etac)+t1#t41=t21#\n",
+ "t6=t5/((p2/sqrt(p1*p2))**((ga-1)/ga))#\n",
+ "t61=t5-(etat*(t5-t6))#\n",
+ "t81=t61#\n",
+ "t7=t5#\n",
+ "ta=(etare*(t81-t41))+t41#.......#Temperature of air coming out of regenerator in K\n",
+ "wnet=2*cp*(t5-t61-t21+t1)#........#Net work done in kJ/kg of air\n",
+ "qs=cp*(t5-t41+t7-t61)#...........#Heat supplied without regenerator in kJ/kg of air\n",
+ "qsr=cp*(t5-ta+t7-t61)#............#Heat supplied with regenerator in kJ/kg of air\n",
+ "etath=wnet/qs#.............#Thermal efficiency (without regenerator)\n",
+ "etathr=wnet/qsr#.........#Thermal efficiency (with regenerator)\n",
+ "mfl=P/wnet#..........#mass of fluid circulated in kg/s\n",
+ "print \"Thermal efficiency of the turbine without regenerator = %0.2f %%\"%(etath*100)\n",
+ "print \"Thermal efficiency of the turbine with regenerator = %0.2f %%\"%(etathr*100)\n",
+ "print \"Mass of fluid circulated = %0.2f kg/s\"%mfl"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.17 PAGE 860"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net power output = 2042.40 kW \n",
+ "Thermal efficiency = 30.95 %\n",
+ "Specific fuel consumption = 0.28 kg/kWh\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "t1=293#............#Temperature of inlet air into low pressure compressor in K\n",
+ "p1=1.05#.........#Pressure of inlet air into low pressure compressor in bar\n",
+ "t3=300#...........#Temperature of air after passing it through intercooler in K\n",
+ "t6=1023#..........#temperature of air in combustion chamber in K\n",
+ "rp=2#...........#Pressure ratio of each compressor \n",
+ "etac=0.82#........#Compressor efficiency\n",
+ "etat=0.82#..........#Turbine efficiency\n",
+ "etaht=0.72#............#Heat exchanger efficiency\n",
+ "ma=16#...........#Air flow in kg/s\n",
+ "ga=1.4#...........#Ratio of specific heats for air\n",
+ "gag=1.33#..........#Ratio of specific heats for gases\n",
+ "cpa=1.0#...........#Specific heat at constant pressure in kJ/kgK for air\n",
+ "cpg=1.15#.........#Specific heat at constant pressure in kJ/kgK for gases\n",
+ "C=42000#.........#Calorific value of fuel in kJ/kg\n",
+ "#Calculations\n",
+ "t2=round(t1*(rp**((ga-1)/ga)))#\n",
+ "t21=round(((t2-t1)/etac)+t1)#\n",
+ "t4=t3*(rp**((ga-1)/ga))#\n",
+ "t41=round(((t4-t3)/etac)+t3)#\n",
+ "t71=round(((cpg*t6)-cpa*(t21-t1+t41-t3))/cpg)#\n",
+ "t7=t6-((t6-t71)/etat)#\n",
+ "p6=p1*rp*rp#\n",
+ "p7=p6/((t6/t7)**((gag)/(gag-1)))#\n",
+ "t8=round(t71/((p7/p1)**((gag-1)/gag)))#\n",
+ "t81=round(t71-(etat*(t71-t8)))#\n",
+ "P=cpg*(t71-t81)#...........#Net power output in kJ/kg\n",
+ "print \"Net power output = %0.2f kW \"%(P*ma)\n",
+ "t5=etaht*(t81-t41)+t41#\n",
+ "qs=ma*cpg*(t6-t5)#......#Heat supplied in combustion chamber in kJ/s\n",
+ "etath=P*ma/qs#.........#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "afr=C/(cpg*(t6-t5))#......#Air fuel ratio\n",
+ "mf=ma*3600/afr#..............#Fuel supplied per hour in kg\n",
+ "sfc=mf/(P*ma)#...........#Specific fuel consumption in kg/kWh\n",
+ "print \"Specific fuel consumption = %0.2f kg/kWh\"%sfc"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.18 PAGE 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overall efficiency = 30.89 %\n",
+ "Work ratio = 0.363 Mass flow rate = 34.32 kg/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "t1=293#............#Temperature of inlet air into low pressure compressor in K\n",
+ "p1=1.1#.........#Pressure of inlet air into low pressure compressor in bar\n",
+ "p2=3.3#..........#Pressure of air in the low pressure compressor in bar\n",
+ "t3=300#.............#Intercooled temperature in K\n",
+ "pli=0.15#..........#Loss in pressure due to intercooling in bar\n",
+ "p3=p2-pli#...........#Pressure after intercooling in bar\n",
+ "p4=9.45#............#Pressure of air after high pressure compressor in bar\n",
+ "p6=p4#t6=973#.........#Temperature of gases supplied to high pressure turbine in K\n",
+ "t8=943#.........#Reheat temperature in K\n",
+ "plr=0.12#...........#Loss of pressure after reheating in bar\n",
+ "p7=3.62#............#Pressure of gases at the end of expansion in high pressure turbine in bar\n",
+ "p8=p7-plr#...........#Pressure of outlet gases in bar\n",
+ "ga=1.4#...........#Ratio of specific heats for air\n",
+ "gag=1.33#..........#Ratio of specific heats for gases\n",
+ "cpa=1.005#...........#Specific heat at constant pressure in kJ/kgK for air\n",
+ "cpg=1.15#.........#Specific heat at constant pressure in kJ/kgK for gases\n",
+ "etac=0.82#........#Compressor efficiency\n",
+ "etat=0.85#..........#Turbine efficiency\n",
+ "etaht=0.65#.........#Efficiency of heat exchanger\n",
+ "P=6000#..................#Power generated in kW\n",
+ "p9=p1#\n",
+ "#Calculations\n",
+ "t2=round(t1*((p2/p1)**((ga-1)/ga)))#\n",
+ "t21=round(((t2-t1)/etac)+t1)#\n",
+ "t4=round(t3*((p4/p3)**((ga-1)/ga)))#\n",
+ "t41=round(((t4-t3)/etac)+t3)#\n",
+ "t7=round(t6/((p6/p7)**((gag-1)/gag)))#\n",
+ "t71=round(t6-(etat*(t6-t7)))#\n",
+ "t9=round(t8/((p8/p9)**((gag-1)/gag)))#\n",
+ "t91=round(t8-(etat*(t8-t9)))#\n",
+ "t5=round(etaht*(t91-t41)+t41)#\n",
+ "wthp=cpg*(t6-t71)#.......#Work done by high pressure turbine in kJ/kg of gas\n",
+ "wtlp=cpg*(t8-t9)#.......#Work done by low pressure turbine in kJ/kg of gas\n",
+ "wchp=cpg*(t21-t1)#.......#Work done by high pressure compressor in kJ/kg of gas\n",
+ "wclp=cpg*(t41-t3)#.......#Work done by low pressure compressor in kJ/kg of gas\n",
+ "qs=cpg*(t6-t5+t8-t71)#.........#Heat supplied in kJ/kg of gas\n",
+ "etath=(wthp+wtlp-wchp-wclp)/qs#..#Overall efficiency\n",
+ "print \"Overall efficiency = %0.2f %%\"%(etath*100)\n",
+ "wr=(wthp+wtlp-wchp-wclp)/(wthp+wtlp)#......#Work ratio\n",
+ "print \"Work ratio = %0.3f \"%wr,\n",
+ "m=P/(wthp+wtlp-wchp-wclp)#.....#Mass flow rate\n",
+ "print \"Mass flow rate = %0.2f kg/s\"%m"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.19 PAGE 862"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Exit velocity of jet = 651.10 m/s\n",
+ "Rate of fuel consumption = 0.86 kg/s\n",
+ "Thrust specific fuel consumption = 0.00 kg/N\n",
+ "Thermal efficiency = 31.41 %\n",
+ "Propulsive power = 10437.94 kW\n",
+ "Propulsive efficiency = 59.81 %\n",
+ "Overall efficiency = 18.79 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "ma=60.2#...........#Rate of air consumption in kg/s\n",
+ "delh=230#.......#Enthalpy change for nozzle in kJ/kg\n",
+ "z=0.96#..........#Velocity co efficient \n",
+ "afr=70#............#Air fuel ratio\n",
+ "etaco=0.92#...............#Combustion eficiency\n",
+ "CV=42000#..............#Calorific value of fuel in kJ/kg\n",
+ "v=1000#............#Velocity of aircraft in km/h\n",
+ "Ca=v*(5/18)#............#Aircraft velocity in m/s\n",
+ "#Calculations\n",
+ "Cj=z*sqrt(2*delh*v)#...........#Exit velocity of jet\n",
+ "print \"Exit velocity of jet = %0.2f m/s\"%Cj\n",
+ "mf=ma/afr#.........#Rate of fuel consumption\n",
+ "print \"Rate of fuel consumption = %0.2f kg/s\"%mf\n",
+ "tp=ma*(Cj-Ca)#......#Thrust produced in N\n",
+ "tsfc=mf/tp#.........#Thrust specific fuel consumption in kg/N\n",
+ "print \"Thrust specific fuel consumption = %0.2f kg/N\"%tsfc\n",
+ "etath=((Cj**2)-(Ca**2))/(2*(1/afr)*CV*etaco*1000)#.........#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "pp=(ma/1000)*((Cj**2)-(Ca**2))/2#................#Propulsive power in kW\n",
+ "print \"Propulsive power = %0.2f kW\"%pp\n",
+ "etapp=(2*Ca)/(Cj+Ca)#......................#Propulsive efficiency\n",
+ "print \"Propulsive efficiency = %0.2f %%\"%(etapp*100)\n",
+ "etao=((Cj-Ca)*Ca)/((1/afr)*CV*etaco*1000)#............#Overall efficiency\n",
+ "print \"Overall efficiency = %0.2f %%\"%(etao*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.20 PAGE 863"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Absolute velocity of jet = 363.64 m/s\n",
+ "Volume of air compressed = 5920.59 kg/min\n",
+ "Diameter of the jet = 463.09 mm\n",
+ "Turbine output = 2464.65 kW\n",
+ "\n",
+ "Air fuel ratio is 53.225:1\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,sqrt\n",
+ "# Initialisation of Variables\n",
+ "v=800#.............#Speed of the turbojet in km/h\n",
+ "etapp=0.55#......#Propulsive efficiency\n",
+ "etao=0.17#.........#Overall efficiency\n",
+ "al=9500#...............#Altitude in m\n",
+ "rhoa=0.17#............#Density of air at the given altitude in kg/m**3\n",
+ "dr=6100#...........#Drag on the plane in N\n",
+ "CV=46000#.........#Calorific value of fuel in kJ/kg\n",
+ "#Calculations\n",
+ "Ca=v*(1000/3600)#.........#Velocity of jet in m/s\n",
+ "Cj=((2*Ca)/etapp)-Ca#........#Velocity of gases at nozzle exit relative to the aircraft in m/s\n",
+ "print \"Absolute velocity of jet = %0.2f m/s\"%(Cj-Ca)\n",
+ "ma=dr/(Cj-Ca)#............#Rate of air flow in kg/s\n",
+ "Va=(ma/rhoa)*60#..........#Volume of air compresssed per min in kg\n",
+ "print \"Volume of air compressed = %0.2f kg/min\"%Va\n",
+ "d=sqrt((Va*4)/(60*pi*Cj))#..........#Diameter of the jet in m\n",
+ "print \"Diameter of the jet = %0.2f mm\"%(d*1000)\n",
+ "tp=dr*(Ca/1000)#...........#Thrust power in kW\n",
+ "wt=tp/etapp#................#Turbine output in kW\n",
+ "print \"Turbine output = %0.2f kW\"%wt\n",
+ "mf=wt/(etao*CV)#...........#Rate of fuel consumption in kg/s\n",
+ "afr=ma/mf#..........#Air fuel ratio\n",
+ "print \"\\nAir fuel ratio is %0.3f:1\"%(afr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.21 PAGE 864"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power required to drive the compressor = 171.46 kW\n",
+ "\n",
+ "\n",
+ "Air fuel ratio 73.094:1\n",
+ "\n",
+ "Pressure of gases leaving the turbine = 1.74 bar\n",
+ "Thrust per kg of air per second = 465.69 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,sqrt\n",
+ "# Initialisation of Variables\n",
+ "t1=288#..........#Temperature of the inlet air into compressor in K\n",
+ "p1=1.01#......#Pressure of the inlet air into compressor in bar\n",
+ "t3=1023#.........#Maximum temperature in K\n",
+ "p2=4.04#.........#Pressure of air at the end of compression in bar\n",
+ "etac=0.82#.......#compressor efficiency\n",
+ "etat=0.78#......#Turbine efficiency\n",
+ "etan=0.88#........#Nozzle efficiency\n",
+ "R=0.287#.........#Gas constant for air in kJ/kgK\n",
+ "ga=1.4#............#Ratio of specific heats\n",
+ "C=42000#..........#Calorific value of fuel in kJ/kg\n",
+ "#Calculations\n",
+ "t2=t1*((p2/p1)**((ga-1)/ga))#........#Ideal temperature at the end of compression in K\n",
+ "t21=((t2-t1)/etac)+t1#...........#Actual temperature at the end of compression in K\n",
+ "cp=R*(ga/(ga-1))#..............#Specific heat at constant pressure in kJ/kgK\n",
+ "Pc=cp*(t21-t1)#.............#Power required to drive the compressor in kW\n",
+ "print \"Power required to drive the compressor = %0.2f kW\"%Pc\n",
+ "afr=((C)/(cp*(t3-t21)))-1#....#Air fuel ratio\n",
+ "print \"\\n\\nAir fuel ratio %0.3f:1\\n\"%(afr)\n",
+ "t41=t1+t3-t21#......#Actual temperatur of gases leaving the turbine in K\n",
+ "t4=t3-((t3-t41)/etat)#......#Ideal temperature of gases leaving the turbine in K\n",
+ "p3=p2#\n",
+ "p4=p3*((t4/t3)**(ga/(ga-1)))#.......#Pressure of gases leaving the turbine in bar\n",
+ "print \"Pressure of gases leaving the turbine = %0.2f bar\"%p4\n",
+ "p5=p1#\n",
+ "t5=t41/((p4/p5)**((ga-1)/ga))#\n",
+ "t51=t41-(etan*(t41-t5))#\n",
+ "Cj=sqrt(2*cp*(t41-t51)*1000)#..............#Jet velocity in m/s\n",
+ "th=Cj*1#..................#Thrust per kg per second in N\n",
+ "print \"Thrust per kg of air per second = %0.2f N\"%th"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.22 PAGE 865"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air fuel ratio : 48.348\n",
+ "Specific thrust = 822.74 N/kg\n",
+ "Total thrust = 21805.03 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "from scipy import sqrt\n",
+ "# Initialisation of Variables\n",
+ "Ca=216#................#Speed of aircraft in m/s\n",
+ "t1=265.8#...............#Intake air temperature in K\n",
+ "p1=0.78#...............#Intake air pressure in bar\n",
+ "rp=5.8#..................#Pressure ratio in compressor \n",
+ "t4=1383#.................#Temperature of gases entering the gas turbine in K\n",
+ "pd=0.168#...............#Pressure drop in combustion chamber in bar\n",
+ "etad=0.9#..............#Diffuser efficiency\n",
+ "etan=0.9#............#Nozzle efficiency\n",
+ "etac=0.9#............#Compressor efficiency\n",
+ "etat=0.8#.............#Turbine efficiency\n",
+ "C=44150#............#Calorific value of fuel in kJ/kg\n",
+ "cp=1.005#.............#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#...............#Ratio of specific heats\n",
+ "cin=0.12#...............#Inlet cross sectio of the diffuser in m**3\n",
+ "R=0.287#............#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "t2=t1+((Ca*Ca)/(2*cp*1000))#......#For ideal diffuser\n",
+ "t21=t1+((Ca*Ca)/(2*cp*etad*1000))#......#For actual diffuser\n",
+ "p2=p1*((t2/t1)**(ga/(ga-1)))#\n",
+ "t3=t21*(rp**((ga-1)/ga))#\n",
+ "t31=t21+((t3-t21)/etac)#\n",
+ "afr=(C-(cp*t4))/(cp*(t4-t31))#............#Air fuel ratio\n",
+ "print \"Air fuel ratio : %0.3f\"%afr\n",
+ "p3=p2*rp#\n",
+ "p4=p3-pd#...............#Pressure of gases entering the turbine in bar\n",
+ "t51=t4-(t31-t21)#\n",
+ "t5=round(t4-((t4-t51)/etat))#\n",
+ "p5=p4/((t4/t5)**(ga/(ga-1)))#\n",
+ "p6=p1#\n",
+ "t6=t51/((p5/p6)**((ga-1)/ga))#\n",
+ "t61=t51-(etac*(t51-t6))#\n",
+ "Cj=44.72*sqrt(cp*(t51-t61))#........#Velocity at the exit of the nozzle in m/s\n",
+ "st=(1+(1/afr))*Cj#............#Specific thrust in N/kg\n",
+ "print \"Specific thrust = %0.2f N/kg\"%abs(st)\n",
+ "v1=Ca*cin#...........#Volume of flowing air in m**3/s\n",
+ "ma=(p1*v1*10**5)/(R*t1*1000)#.........#Mass flow of air\n",
+ "tt=ma*st#..............#Total thrust in N\n",
+ "print \"Total thrust = %0.2f N\"%abs(tt)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 21.23 PAGE 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overall efficiency = 12.91 %\n",
+ "Rate of air consumption = 9.23 kg/s\n",
+ "Power developed by turbine = 1496.76 kW\n",
+ "The outlet area of jet tube = 0.10 m**2\n",
+ "Specific fuel consumption = 0.14 kg per kg of thrust\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "# Initialisation of Variables\n",
+ "al=9000#..........#Altitude in m\n",
+ "Ca=215#...........#Speed of aircraft in m/s\n",
+ "TP=750#.............#Thrust power developed in kW\n",
+ "p1=0.32#...........#Inlet pressure of air in bar\n",
+ "t1=231#.............#Inlet temperature of air in K\n",
+ "t3=963#.............#Temperature of gases leaving the combustion chamber in K\n",
+ "rpc=5.2#............#Pressure ratio\n",
+ "C=42500#..........#Calorific value of fuel in kJ/kg\n",
+ "C41=195#.........#Velocity in ducts\n",
+ "etac=0.86#..........#Compressor efficiency\n",
+ "ga=1.4#............#Ratio of specific heats for air\n",
+ "gag=1.33#............#Ratio of specific heats for gases\n",
+ "etat=0.86#..........#Turbine efficiency\n",
+ "etajt=0.9#..........#Jet tube efficiency\n",
+ "cp=1.005#............#Specific heat at constant pressure in kJ/kgK for air\n",
+ "cpg=1.087#............#Specific heat at constant pressure in kJ/kgK for gases\n",
+ "R=0.29#..................#Gas constant for exhaust gases in kJ/kgK\n",
+ "#Calculations\n",
+ "t2=t1*(rpc**((ga-1)/ga))#\n",
+ "t21=t1+((t2-t1)/etac)#\n",
+ "mf=(cpg*(t3-t21))/(C-(cpg*(t3-t21)))#\n",
+ "afr=1/mf#..........#Air fuel ratio\n",
+ "t41=round(t3-((cp*(t21-t1))/(cpg*(1+mf))))#\n",
+ "t4=t3-((t3-t41)/etat)#\n",
+ "p4=rpc#\n",
+ "rpt=(t3/t4)**(gag/(gag-1))#.............#Expansion pressure ratio in turbine\n",
+ "rpj=p4/rpt#....................#Expansion pressure ratio in jet tube\n",
+ "t5=t41/(rpj**((gag-1)/gag))#\n",
+ "Cj=sqrt(etajt*2*((cpg*1000*(t41-t5))+((C41*C41)/2)))#\n",
+ "etao=((((1+mf)*Cj)-Ca)*Ca)/(1000*mf*C)#......#Overall efficiency\n",
+ "print \"Overall efficiency = %0.2f %%\"%(etao*100)\n",
+ "ma=(TP*1000)/((((1+mf)*Cj)-Ca)*Ca)#........#Rate of air consumption in kg/s\n",
+ "print \"Rate of air consumption = %0.2f kg/s\"%ma\n",
+ "P=ma*(1+mf)*cpg*(t3-t41)#..............#Power developed by the turbine in kW\n",
+ "print \"Power developed by turbine = %0.2f kW\"%P\n",
+ "t51=t41-(((Cj**2)-(C41**2))/(2*1000*cpg))#\n",
+ "rhoe=(p1*10**5)/(R*1000*t51)#..........#Density of exhaust gases\n",
+ "Ajt=(ma*(1+mf))/(Cj*rhoe)#.......#Discharge of jet area in m**2\n",
+ "print \"The outlet area of jet tube = %0.2f m**2\"%Ajt\n",
+ "sfc=(mf*ma*3600)/(1000*(TP/Ca))#..........#Specific fuel consumption in kg/thrust-hour\n",
+ "print \"Specific fuel consumption = %0.2f kg per kg of thrust\"%sfc"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER3_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER3_1.ipynb
new file mode 100644
index 00000000..999d3db2
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER3_1.ipynb
@@ -0,0 +1,1877 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 3 - Air Standard Cycles"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.1 PAGE 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Engine thermal efficiency = 53.49 %\n",
+ "Head added = 243.03 kJ\n",
+ "Change in entropy = 0.361 kJ/K\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "t1=673#.....................#Max temp in Kelvin\n",
+ "t3=313##...................#Min temp in Kelvin\n",
+ "W=130#.................#Work produced in kJ\n",
+ "#calculations\n",
+ "etath=(t1-t3)/t1#................#Engine thermal efficiency\n",
+ "print \"Engine thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "ha=W/etath#.................#Heat added in kJ\n",
+ "print \"Head added = %0.2f kJ\"%ha\n",
+ "dels=(ha-W)/t3#...........#Change in entropy\n",
+ "print \"Change in entropy = %0.3f kJ/K\"%dels"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.2 PAGE 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum temperature = 585.37 Kelvin\n",
+ "The minimum temperature = 292.68 Kelvin\n",
+ "Volume at the end of isothermal expansion = 0.19 m**3\n",
+ "\n",
+ "\n",
+ "\n",
+ "Process Heat transfer\n",
+ "\n",
+ "_______________________________________________________________\n",
+ "\n",
+ "Isothermal expansion 40 kJ\n",
+ "\n",
+ "Adiabatic reversible expansion 0 kJ\n",
+ "\n",
+ "Isothermal compression -40 kJ\n",
+ "\n",
+ "Adiabatic reversible compressions 0 kJ\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "m=0.5#.....................#Mass of air in kg\n",
+ "etath=0.5#.................#Thermal efficiency of engine\n",
+ "hie=40#...................#Heat transferred during isothermal expansion in kJ\n",
+ "p1=7#....................#Pressure in bar at the beginning of expansion\n",
+ "v1=0.12#..................#Volume in m**3 at the beginning of expansion\n",
+ "cv=0.721#...................#Specific heat at constant volume in kJ/kgK\n",
+ "cp=1.008#..................#Specific heat at constant pressure in kJ/kgK\n",
+ "R=287#......................#Gas constant in J/kgK\n",
+ "#Calculations\n",
+ "t1=(p1*10**5*v1)/(R*m)#....................#Max temp in K\n",
+ "t2=t1*(1-etath)#.......................#Min temp in K\n",
+ "print \"The maximum temperature = %0.2f Kelvin\"%t1\n",
+ "print \"The minimum temperature = %0.2f Kelvin\"%t2\n",
+ "from math import exp\n",
+ "v2=(exp((hie*1000)/(m*R*t1)))*v1#..................#Volume at the end of isothermal expansion in m**3\n",
+ "print \"Volume at the end of isothermal expansion = %0.2f m**3\"%v2\n",
+ "print \"\\n\\n\"\n",
+ "print \"Process Heat transfer\\n\"\n",
+ "print \"_______________________________________________________________\\n\"\n",
+ "print \"Isothermal expansion %d kJ\\n\"%(hie)\n",
+ "print \"Adiabatic reversible expansion %d kJ\\n\"%(0)\n",
+ "print \"Isothermal compression %d kJ\\n\"%(-hie)\n",
+ "print \"Adiabatic reversible compressions %d kJ\"%(0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.3 PAGE 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "p1=18 bar \n",
+ "p2=12 bar \n",
+ "p3=0.977 bar \n",
+ "p4=1.465 bar \n",
+ "t1=t2=683 Kelvin \n",
+ "t3=t4=334 Kelvin \n",
+ "\n",
+ "Change in entropy = 0.19 kJ/K\n",
+ "Mean effective pressure of the cycle = 0.47 bar\n",
+ "Mean effective pressure of the cycle = 235.25 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import log\n",
+ "# Initialisation of Variables\n",
+ "p1=18#..................#Maximum pressure in bar\n",
+ "t1=410+273#.............#Maximum temperature in Kelvin\n",
+ "ric=6#.....................#Ratio of isentropic compression\n",
+ "rie=1.5#.................#Ratio of isothermal expansion\n",
+ "v1=0.18#..................#Volume of air at the beginning of expansion\n",
+ "ga=1.4#...................#Degree of freedom of gas\n",
+ "R=287#.....................#Gas constant in J/kgK\n",
+ "nc=210#..................#no of working cycles\n",
+ "#Calculations\n",
+ "\n",
+ "t4=t1/(ric**(ga-1))#.............#Min temp in K\n",
+ "t3=t4#\n",
+ "p4=p1/(ric**ga)#..................#Min pressure in bar\n",
+ "p2=p1/rie#.......................#pressure of gas before isentropic expansion in bar\n",
+ "p3=p2*((1/6)**ga)#.................#Pressure of gas after isentropic expansion in bar\n",
+ "print \"p1=%.f bar \\np2=%.f bar \\np3=%.3f bar \\np4=%.3f bar \\nt1=t2=%0.f Kelvin \\nt3=t4=%.f Kelvin \\n\"%(p1,p2,p3,p4,t1,t3)\n",
+ "dels=(p1*10**5*v1*log(rie))/(1000*t1)#....................#Change in entropy\n",
+ "print \"Change in entropy = %0.2f kJ/K\"%dels\n",
+ "qs=t1*dels#.......................#Heat supplied in kJ\n",
+ "Qr=t4*dels#.......................#Heat rejected in kJ\n",
+ "eta=(qs-Qr)/qs#............#Efficiency of the cycle\n",
+ "v3byv1=ric*rie#\n",
+ "Vs=(v3byv1-1)*v1#.................#Stroke volume\n",
+ "pm=((qs-Qr)*10**3)/(Vs*10**5)#........#Mean effective pressure of the cycle in bar\n",
+ "print \"Mean effective pressure of the cycle = %0.2f bar\"%pm\n",
+ "P=(qs-Qr)*(nc/60)#.........................#Power of engine\n",
+ "print \"Mean effective pressure of the cycle = %0.2f bar\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.4 PAGE 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature of the sink = 1442 Celsius\n",
+ "temperature of source = 1785 Celsius:\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "eta=1/6#...................#Efficiency of the engine\n",
+ "rts=70#.................#The amount of temp which is reduced in the sink in C\n",
+ "#Calculation\n",
+ "t1byt2=1/(1-eta)#\n",
+ "t2=(rts+273)/((2*eta*t1byt2)-t1byt2+1)#............#Temperature of the sink in K\n",
+ "print \"Temperature of the sink = %0.f Celsius\"%(t2-273)\n",
+ "t1=t1byt2*t2#...............#Temperature of source in K\n",
+ "print \"temperature of source = %0.f Celsius:\"%(t1-273)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.5 PAGE 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since the efficiency of the given engine is more than efficiency of carnot engine, the claim is not true.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "t1=1990#....................#Temperature of the heat source in K\n",
+ "t2=850#..................#Temperature of the sink in K\n",
+ "Q=32.5#...................#Heat supplied in kJ/min\n",
+ "P=0.4#....................#Power developed by the engine in kW\n",
+ "#Calculations\n",
+ "eta=1-(t2/t1)#..........#Efficiency of carnot engine\n",
+ "etath=P/(Q/60)#..................#Efficiency of the given engine\n",
+ "if (etath>eta):\n",
+ " print \"Since the efficiency of the given engine is more than efficiency of carnot engine, the claim is not true.\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.7 PAGE 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The compression ratio of the engine is: 6.25\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "etaotto=0.6#............#Efficiency of otto engine\n",
+ "ga=1.5#.................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "r=(1/(1-etaotto))**(1/(ga-1))#................#Compression ratio\n",
+ "print \"The compression ratio of the engine is:\",r"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.8 PAGE 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The air standard efficiency of otto cycle = 56.47 %\n",
+ "Mean effective pressure = 1.34 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=0.25#......................#Engine bore in m\n",
+ "L=0.375#...................#Engine stroke in m\n",
+ "Vc=0.00263#................#Clearence volume in m**3\n",
+ "p1=1#..................#Initial pressure in bar\n",
+ "t1=323#...................#Initial temperature in K\n",
+ "p3=25#....................#Max pressure in bar\n",
+ "ga=1.4#....................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "Vs=(pi/4)*D*D*L#................#Swept volume in m**3\n",
+ "r=round((Vs+Vc)/Vc)#..........................#Compression ratio\n",
+ "etaotto=1-(1/(r**(ga-1)))#..................#Air standard efficiency of otto cycle\n",
+ "print \"The air standard efficiency of otto cycle = %0.2f %%\"%(etaotto*100)\n",
+ "p2=p1*((r)**ga)#\n",
+ "rp=p3/p2#..........................#Pressure ratio\n",
+ "pm=(p1*r*((r**(ga-1))-1)*(rp-1))/((ga-1)*(r-1))#................#Mean effective pressure in bar\n",
+ "print \"Mean effective pressure = %0.2f bar\"%pm"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.9 PAGE 98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature after adiabatic compression = 689.22 K\n",
+ "Pressure after adiabatic compression = 18.38 bar\n",
+ "Temperature after isochoric compression = 2772.55 K\n",
+ "Pressure after isochoric compression = 73.93 bar\n",
+ "Temperature after adiabatic expansion = 1206.82 K\n",
+ "Pressure after adiabatic expansion = 4.02 bar\n",
+ "Specific work = 847.09 kJ/kg\n",
+ "Thermal efficiency = 56.47 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=1#.....................#Pressure in bar\n",
+ "t1=300#......................#Temperature in K\n",
+ "Q=1500#.....................#Heat added in kJ/kg\n",
+ "r=8#.......................#Compression ratio\n",
+ "Cv=0.72#....................#Specific heat at constant volume\n",
+ "ga=1.4#......................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t2=t1*(r)**(ga-1)#..........#Temperature after adiabatic compression in K\n",
+ "p2=p1*(r**ga)#..............#Pressure after adiabatic compression in bar\n",
+ "t3=(Q/Cv)+t2#.................#Temperature after isochoric compression in K\n",
+ "p3=(p2*t3)/t2#................#Pressure after isochoric compression in bar\n",
+ "t4=t3/(r**(ga-1))#.......................#Temperature after adiabatic expansion in K\n",
+ "p4=p3*(1/(r**(ga)))#................#Pressure after adiabatic expansion in bar\n",
+ "Ws=Cv*(t3-t2-t4+t1)#.........#Specific work in kJ/kg\n",
+ "etath=1-(1/(r**(ga-1)))#............#Thermal efficiency\n",
+ "print \"Temperature after adiabatic compression = %0.2f K\"%t2\n",
+ "print \"Pressure after adiabatic compression = %0.2f bar\"%p2\n",
+ "print \"Temperature after isochoric compression = %0.2f K\"%t3\n",
+ "print \"Pressure after isochoric compression = %0.2f bar\"%p3\n",
+ "print \"Temperature after adiabatic expansion = %0.2f K\"%t4\n",
+ "print \"Pressure after adiabatic expansion = %0.2f bar\"%p4\n",
+ "print \"Specific work = %0.2f kJ/kg\"%Ws\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.10 PAGE 99"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature after adiabatic compression = 614.30 K\n",
+ "Pressure after adiabatic compression = 12.29 bar\n",
+ "Temperature after isochoric compression = 1842.00 K\n",
+ "Pressure after isochoric compression = 36.84 bar\n",
+ "Temperature after adiabatic expansion = 899.56 K\n",
+ "Pressure after adiabatic expansion = 3.00 bar\n",
+ "Thermal efficiency = 56.47 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=6#..............#Compression ratio\n",
+ "p1=1#................#Pressure after isochoric expansion in bar\n",
+ "t1=300#................#Temperature after isochoric expansion in K\n",
+ "t3=1842#...............#Temperature after isochoric compression in K\n",
+ "ga=1.4#...............#Ratio of specific heats\n",
+ "#Calculations\n",
+ "p2=p1*(r**ga)#...............#Pressure after adiabatic compression in bar\n",
+ "t2=t1*(r**(ga-1))#.............#Temperature after adiabatic compression in K\n",
+ "p3=p2*(t3/t2)#..................#pressure after isochoric compression in bar\n",
+ "t4=t3/(r**(ga-1))#..............#Temperature after adiabatic expansion in K\n",
+ "p4=p3*(1/(r**(ga)))#...........#Pressure after adiabatic expansion in bar\n",
+ "etaotto=1-(1/(r**(ga-1)))#............#Efficiency of otto cycle\n",
+ "p5=p1#\n",
+ "t5=((p5/p3)**((ga-1)/ga))*t3#................#Atkinson cycle temp after further adiabatic expansion in K\n",
+ "etatk=1-((ga*(t5-t1))/(t3-t2))#...........#Efficiency of atkinson cycle\n",
+ "print \"Temperature after adiabatic compression = %0.2f K\"%t2\n",
+ "print \"Pressure after adiabatic compression = %0.2f bar\"%p2\n",
+ "print \"Temperature after isochoric compression = %0.2f K\"%t3\n",
+ "print \"Pressure after isochoric compression = %0.2f bar\"%p3\n",
+ "print \"Temperature after adiabatic expansion = %0.2f K\"%t4\n",
+ "print \"Pressure after adiabatic expansion = %0.2f bar\"%p4\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.11 PAGE 101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Compression ratio: 3.95\n",
+ "Temperature at the end of compression = 607.79 K\n",
+ "Temperature at the end of heat addition = 1266.43 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=1#...................#Initial pressure in bar\n",
+ "t1=343#..................#Initial temperature in K\n",
+ "p2=7#....................#Pressure after adiabatic compression\n",
+ "Qs=465#...............#Heat addition at constant volume in kJ/kg\n",
+ "cp=1#.....................#Specific heat at constant pressure in kJ/kg\n",
+ "cv=0.706#..................#Specific heat at constant volume in kJ/kg\n",
+ "ga=cp/cv#.................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "r=(p2/p1)**(1/ga)#...............#Compression ratio\n",
+ "t2=t1*(r**(ga-1))#.....................#Temperature at the end of compression in K\n",
+ "t3=t2+(Qs/cv)#.............#Temperature at the end of heat addition in K\n",
+ "print \"Compression ratio:\",round(r,2)\n",
+ "print \"Temperature at the end of compression = %0.2f K\"%t2\n",
+ "print \"Temperature at the end of heat addition = %0.2f K\"%t3"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.12 PAGE 102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Compression ratio: 6.92\n",
+ "Thermal efficiency = 53.87 %\n",
+ "Work done = 598.65 kJ\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "ga=1.4#..............#Ratio of specific heats\n",
+ "p2byp1=15#...............#Ratio pressure at the end of compression to that of pressure at the start\n",
+ "t1=311#................#Initial temperature in K\n",
+ "t3=2223#...............#Maximum temperature in K\n",
+ "R=0.287#...............#Gas constant in kJ/kg K\n",
+ "#Calculations\n",
+ "r=p2byp1**(1/ga)#...............#Compression ratio\n",
+ "etath=1-(1/(r**(ga-1)))#.............#Thermal efficiency\n",
+ "t2=t1*(r**(ga-1))#............#Temperature at the end of compression in K\n",
+ "t4=t3/(r**(ga-1))#...........#Temperature at the end of isothermal expansion in K\n",
+ "cv=R/(ga-1)#................#Specific heat at constant volume in kJ/kg\n",
+ "Q=cv*(t3-t2)#..............#Heat supplied in kJ/kg of air\n",
+ "Qr=cv*(t4-t1)#.................#Heat rejected in kJ/kg of air\n",
+ "W=Q-Qr#.................#Work done\n",
+ "print \"Compression ratio:\",round(r,2)\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)\n",
+ "print \"Work done = %0.2f kJ\"%W"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.13 PAGE 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature after adiabatic compression: 601.15 K\n",
+ "\n",
+ "Pressure after adiabatic compression: 11.00 bar\n",
+ "\n",
+ "Volume after adiabatic compression: 0.08 m**3\n",
+ "\n",
+ "Temperature after isochoric compression: 1172.73 K\n",
+ "\n",
+ "Pressure after isochoric compression: 21.46 bar\n",
+ "\n",
+ "Volume after isochoric compression: 0.08 m**3\n",
+ "\n",
+ "Temperature after adiabatic expansion: 591.09 K\n",
+ "\n",
+ "Pressure after adiabatic expansion: 1.95 bar\n",
+ "\n",
+ "Volume after adiabatic expansion: 0.45 m**3\n",
+ "\n",
+ "Percentage clearance: 22.01\n",
+ "\n",
+ "Efficiency of otto cycle: 49.60\n",
+ "\n",
+ "Mean effective pressure: 2.82 bar:\n",
+ "\n",
+ "Power developed: 364.54 kW\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "v1=0.45#.............#Initial volume in m**3 \n",
+ "p1=1#...............#Initial pressure in bar\n",
+ "t1=303#.............#Initial temperature in K\n",
+ "p2=11#...................#Pressure at the end of compression stroke in bar\n",
+ "Q=210#...................#heat added at constant volume in kJ\n",
+ "N=210#.................#No of working cycles per min\n",
+ "ga=1.4#.............#Ratio of specific heats\n",
+ "R=287#.................#Gas constant in kJ/kgK\n",
+ "cv=0.71#.................#Specific heat at constant volume in kJ/kg\n",
+ "#Calculations\n",
+ "r=(p2/p1)**(1/ga)#...................#Compression ratio\n",
+ "t2=t1*(r**(ga-1))#...................#Temperature at the end of adiabatic compression\n",
+ "v2=(t2*p1*v1)/(t1*p2)#.................#Volume at the end of adiabatic compression in m**3\n",
+ "m=(p1*v1*10**5)/(R*t1)#................#Mass of engine fluid in kg\n",
+ "t3=(Q/(m*cv))+t2#...................#Temperature at the end of isochoric compression in K\n",
+ "p3=(t3/t2)*p2#................#Pressure at the end of isochoric compression in bar\n",
+ "v3=v2#\n",
+ "t4=t3*(1/r)**(ga-1)#...................#Temperature at the end of adiabatic expansion in K\n",
+ "p4=p3*(1/r)**ga#......................#Pressure at the end of adiabatic expansion in bar\n",
+ "v4=v1#\n",
+ "pc=(v2*100)/(v1-v2)#..................#Percentage clearence\n",
+ "etaotto=1-(1/(r**(ga-1)))#........................#Efficiency of otto cycle\n",
+ "Qr=m*cv*(t4-t1)#...............................#Heat rejected in kJ/kg\n",
+ "pm=((Q-Qr)*1000)/((v1-v2)*100000)#......#Mean effective pressure in bar\n",
+ "P=(Q-Qr)*(N/60)#........................#Power developed in kW\n",
+ "print \"Temperature after adiabatic compression: %0.2f K\\n\"%(t2)\n",
+ "print \"Pressure after adiabatic compression: %0.2f bar\\n\"%(p2)\n",
+ "print \"Volume after adiabatic compression: %0.2f m**3\\n\"%(v2)\n",
+ "print \"Temperature after isochoric compression: %0.2f K\\n\"%(t3)\n",
+ "print \"Pressure after isochoric compression: %0.2f bar\\n\"%(p3)\n",
+ "print \"Volume after isochoric compression: %0.2f m**3\\n\"%(v3)\n",
+ "print \"Temperature after adiabatic expansion: %0.2f K\\n\"%(t4)\n",
+ "print \"Pressure after adiabatic expansion: %0.2f bar\\n\"%(p4)\n",
+ "print \"Volume after adiabatic expansion: %0.2f m**3\\n\"%(v4)\n",
+ "print \"Percentage clearance: %0.2f\\n\"%(pc)\n",
+ "print \"Efficiency of otto cycle: %0.2f\\n\"%(etaotto*100)\n",
+ "print \"Mean effective pressure: %0.2f bar:\\n\"%(pm)\n",
+ "print \"Power developed: %0.2f kW\\n\"%(P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.14 PAGE 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air standard efficiency of the engine = 49.59 %\n",
+ "There is no change in efficiency when Helium is used as working fluid instead of air\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "t1=310#................#Min temperature in K\n",
+ "t3=1220#................#Max temperature in K\n",
+ "ga=1.4#................#Ratio of specific heats for air\n",
+ "cph=5.22#............#Specific heat at constant volume for helium in kJ/kg\n",
+ "cvh=3.13#...............#Specific heat at constant pressure for helium in kJ/kg\n",
+ "#Calculations \n",
+ "r=(t3/t1)**(1/((ga-1)*2))#..............#Compression ratio\n",
+ "etaotto=1-(1/(r**(ga-1)))#................#Air standard efficiency\n",
+ "gah=cph/cvh#................#Ratio of specific heats for Helium\n",
+ "rh=(t3/t1)**(1/((gah-1)*2))#..............#Compression ratio when Helium is used\n",
+ "etaottoh=1-(1/(rh**(gah-1)))#................#Air standard efficiency when Helium is used\n",
+ "print \"Air standard efficiency of the engine = %0.2f %%\"%(etaotto*100)\n",
+ "if ((round (etaotto)- round (etaottoh)) == 0):\n",
+ " print \"There is no change in efficiency when Helium is used as working fluid instead of air\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.15 PAGE 108"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power developed = 1.88 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "# Initialisation of Variables\n",
+ "t1=310#.........#Minimum temperature in K\n",
+ "t3=1450#............#maximum temperature in K\n",
+ "m=0.38#...........#Mass of working fluid in kg\n",
+ "cv=0.71#...........#Specific heat at constant volume in kJ/kg\n",
+ "#Calculations\n",
+ "t4=sqrt(t1*t3)#............#Temperature at the end of adiabatic expansion in K\n",
+ "t2=t4#\n",
+ "W=cv*(t3-t2-t4+t1)#..................#Work done in kJ/kg\n",
+ "P=W*(m/60)#.................#Power developed in kW\n",
+ "print \"Power developed = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.17 PAGE 113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Efficiency of diesel engine = 61.19 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=15#...................#Compression ratio\n",
+ "ga=1.4#..............#Ratio os fpecific heats for air\n",
+ "perQ=6#................#Heat addition at constant pressure takes place at 6% of stroke\n",
+ "#Calculations\n",
+ "rho=1+((perQ/100)*(r-1))#.............#Cut off ratio\n",
+ "etad=1-((((rho**ga)-1)/(rho-1))*(1/(ga*(r**(ga-1)))))#..................#Efficiency of diesel engine\n",
+ "print \"Efficiency of diesel engine = %0.2f %%\"%(etad*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.18 PAGE 114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Efficiency of diesel engine = 59.34 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Initialisation of Variables\n",
+ "L=0.25#...............#Engine stroke in m\n",
+ "D=0.15#..................#Engine bore in m\n",
+ "v2=0.0004#...............#Clearance volume in m**3\n",
+ "pers=5#...............#Percentage of stroke when fuel injection occurs\n",
+ "ga=1.4#..............#Ratio of specific heats\n",
+ "#Calculations\n",
+ "Vs=(pi/4)*D*D*L#..............#Swept volume in m**3\n",
+ "Vt=Vs+v2#....................#Total cylinder volume in m**3\n",
+ "v3=v2+((pers/100)*Vs)#..............#Volume at point of cut off\n",
+ "rho=v3/v2#............#Cut off ratio\n",
+ "r=1+(Vs/v2)#.............#Compression ratio\n",
+ "etad=1-((((rho**ga)-1)/(rho-1))*(1/(ga*(r**(ga-1)))))#..................#Efficiency of diesel engine\n",
+ "print \"Efficiency of diesel engine = %0.2f %%\"%(etad*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.19 PAGE 114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Percentage loss in efficiency due to delay in cut off : 2.10\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=14#....................#Compression ratio\n",
+ "pers1=5#...............#Percentage of stroke when fuel cut off occurs\n",
+ "pers2=8#...............#Percentage of stroke when delayed fuel cut off occurs\n",
+ "v2=1#.....................#Clearance volume in m**3\n",
+ "ga=1.4#..................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "#When the fuel is cut off at 5 %\n",
+ "rho1=((pers1/100)*(r-1))+1#.............#Cut off ratio\n",
+ "etad1=1-((((rho1**ga)-1)/(rho1-1))*(1/(ga*(r**(ga-1)))))#..................#Efficiency of diesel engine\n",
+ "#When the fuel is cut off at 8 %\n",
+ "rho2=((pers2/100)*(r-1))+1#.............# Delayed Cut off ratio\n",
+ "etad2=1-((((rho2**ga)-1)/(rho2-1))*(1/(ga*(r**(ga-1)))))#..................#Efficiency of diesel engine when cut off ratio is deyaled\n",
+ "print \"Percentage loss in efficiency due to delay in cut off : %0.2f\"%((etad1-etad2)*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.20 PAGE 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cut off Percentage : 11.17\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from scipy.optimize import fsolve\n",
+ "# Initialisation of Variables\n",
+ "pm=7.5#.................#Mean effective pressure in bar\n",
+ "r=12.5#..................#Compression ratio\n",
+ "p1=1#....................#Initial pressure in bar\n",
+ "ga=1.4#.................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "k=(pm*(ga-1)*(r-1))/(p1*(r**ga))#\n",
+ "c1=(r**(1-ga))/k#\n",
+ "c2=(-ga)/k#\n",
+ "c=1+(ga/k)-((r**(1-ga))/k)#\n",
+ "def F(rho):\n",
+ " f=c1*(rho**ga)+c2*rho+c#\n",
+ " return f\n",
+ "#Initial guess\n",
+ "rho=2#\n",
+ "#Derivative\n",
+ "def D(rho):\n",
+ " z=c1*ga*(rho**(ga-1))+c2#\n",
+ " return z\n",
+ "y=fsolve(F,rho)\n",
+ "perc=((y-1)/(r-1))*100#..................#Percentage of cutoff\n",
+ "print \"Cut off Percentage : %0.2f\"%perc"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.21 PAGE 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature after adiabatic compression: 886.253082 K\n",
+ "\n",
+ "Pressure after adiabatic compression: 44.312654 bar\n",
+ "\n",
+ "Volume after adiabatic compression: 0.000673 m**3\n",
+ "\n",
+ "Temperature after isobaric compression: 1878.856533 K\n",
+ "\n",
+ "Pressure after isobaric compression: 44.312654 bar\n",
+ "\n",
+ "Volume after isobaric compression: 0.001427 m**3\n",
+ "\n",
+ "Temperature after adiabatic expansion: 858.996630 K\n",
+ "\n",
+ "Pressure after adiabatic expansion: 2.863322 bar\n",
+ "\n",
+ "Volume after adiabatic expansion: 0.010098 m**3\n",
+ "\n",
+ "Efficiency of diesel engine = 59.77 %\n",
+ "Mean effective pressure : 7.42\n",
+ "Power developed = 44.27 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=0.2#.................#Engine bore in m\n",
+ "L=0.3#.............#Engine stroke in m\n",
+ "p1=1#................#Initial pressure in bar\n",
+ "N=380#.................#No of working cycles per min\n",
+ "t1=300#..............#Initial temperature in K\n",
+ "co=8#................#Cut off percentage\n",
+ "r=15#..................#Compression ratio\n",
+ "R=287#.................#gas constant in J/kg\n",
+ "ga=1.4#................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "Vs=(pi/4)*D*D*L#.............#Stroke volume in m\n",
+ "v1=(r/(r-1))*Vs#................#Volume at the end of isochoric compression in m**3\n",
+ "m=(p1*v1*10**5)/(R*t1)#................#Mass of air in cylinder in kg/cycle\n",
+ "p2=p1*(r**ga)#.......................#Pressure at the end of isentropic compression in bar\n",
+ "t2=t1*(r**(ga-1))#....................#Temperature at the end of isentropic compression in K\n",
+ "v2=Vs/(r-1)#..................#Volume at the end of isentropic compressionin m**3\n",
+ "p3=p2#\n",
+ "rho=((r-1)*(co/100))+1#................#Cut off ratio\n",
+ "v3=rho*v2#.......................#Volume at the end of isobaric expansion in m**3\n",
+ "t3=t2*(v3/v2)#..................#Temperature at the end of isobaric expansion in K\n",
+ "p4=((rho/r)**ga)*p3#..............#Pressure at the end of adiabatic expansion in bar\n",
+ "t4=((rho/r)**(ga-1))*t3#..............#Temperature at the end of adiabatic expansion in K\n",
+ "v4=v1#\n",
+ "print \"Temperature after adiabatic compression: %f K\\n\"%(t2)\n",
+ "print \"Pressure after adiabatic compression: %f bar\\n\"%(p2)\n",
+ "print \"Volume after adiabatic compression: %f m**3\\n\"%(v2)\n",
+ "print \"Temperature after isobaric compression: %f K\\n\"%(t3)\n",
+ "print \"Pressure after isobaric compression: %f bar\\n\"%(p3)\n",
+ "print \"Volume after isobaric compression: %f m**3\\n\"%(v3)\n",
+ "print \"Temperature after adiabatic expansion: %f K\\n\"%(t4)\n",
+ "print \"Pressure after adiabatic expansion: %f bar\\n\"%(p4)\n",
+ "print \"Volume after adiabatic expansion: %f m**3\\n\"%(v4)\n",
+ "etad=1-((((rho**ga)-1)/(rho-1))*(1/(ga*(r**(ga-1)))))#..................#Efficiency of diesel engine\n",
+ "print \"Efficiency of diesel engine = %0.2f %%\"%(etad*100)\n",
+ "pm=p1*(r**ga)*(ga*(rho-1)-((r**(1-ga))*((rho**ga)-1)))*(1/(ga-1))*1/(r-1)#.......#Mean effective pressure \n",
+ "print \"Mean effective pressure : %0.2f\"%pm\n",
+ "Wdc=(pm*Vs*10**5)/1000#..................#Work done per cycle in kJ/cycle\n",
+ "P=(Wdc*N)/60#...........................#Power developed in kW\n",
+ "print \"Power developed = %0.2f kW \"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.22 PAGE 118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mean effective pressure = 7.02 bar \n",
+ "Ratio of maximum pressure to mean effective pressure 6.49\n",
+ "Cycle efficiency = 60.48 %\n",
+ "Fuel consumption = 0.35 kg/kWh\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "rc=15.3#....................#Compression ratio\n",
+ "re=7.5#...................#Expansion ratio\n",
+ "cp=1.005#.................#Specific heat at constant pressure in kJ/kg K\n",
+ "cv=0.718#..................#Specific heat at constant volume in kJ/kgK\n",
+ "ga=1.4#....................#Ratio of specific heats\n",
+ "p1=1#....................#Initial pressure in bar\n",
+ "t1=300#..................#Initial temperature in K\n",
+ "etamech=0.8#..................#Mechanical efficiency\n",
+ "C=42000#...........................#Calorific value of fuel in kJ/kg\n",
+ "rita=0.5#.........................#Ratio of indicated thermal efficiency to air standard efficiency\n",
+ "R=287#..........................#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "t2=t1*(rc**(ga-1))#.................#Temperature at the end of adiabatic compression in K\n",
+ "p2=p1*(rc**ga)#...................#Pressure at the end of adiabatic compression in bar\n",
+ "t3=(rc*t2)/re#....................#Temperature at the end of constant pressure process in K\n",
+ "v2=1#..................#Volume at the end of adiabatic process in m**3\n",
+ "m=(p2*v2*10**5)/(R*t2)#..................#Mass of working fluid in kg\n",
+ "t4=t3*((1/re)**(ga-1))#...................#Temperature at the end of adiabatic expansion in K\n",
+ "W=(m*(cp*(t3-t2)))-(m*(cv*(t4-t1)))#........#Work done in kJ\n",
+ "pm=W/(rc-1)#..............................#Mean effective pressure in kN/m**2\n",
+ "print \"Mean effective pressure = %0.2f bar \"%(pm/100)\n",
+ "print \"Ratio of maximum pressure to mean effective pressure %0.2f\"%((p2*100)/(pm))\n",
+ "etacy=W/(m*cp*(t3-t2))#...............#Cycle efficiency\n",
+ "print \"Cycle efficiency = %0.2f %%\"%(etacy*100)\n",
+ "etaith=rita*etacy#..................#Indicated thermal efficiency\n",
+ "etabth=etaith*etamech#...............#Brake thermal efficiency\n",
+ "mf=3600/(etabth*C)#................#Fuel consumption per kWh\n",
+ "print \"Fuel consumption = %0.2f kg/kWh\"%mf"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.23 PAGE 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Efficiency of dual cycle : 63.76\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "Vs=0.0053#................#Swept volume in m**3\n",
+ "Vc=0.00035#...............#Clearance volume in m**3\n",
+ "v3=Vc#\n",
+ "v2=Vc#\n",
+ "p3=65#..................#Max pressure in bar\n",
+ "co=5#...................#Cut off percentage\n",
+ "p4=p3#ga=1.4#...............#Ratio of specific heats\n",
+ "t1=353#....................#Temperature at the start of compression in K\n",
+ "p1=0.9#...................#Pressure at the start of compression in bar\n",
+ "#Calculations\n",
+ "r=1+(Vs/Vc)#...................#Compression ratio\n",
+ "rho=(((co/100)*Vs)/Vc)+1#...................#Cut off ratio\n",
+ "p2=p1*(r**ga)#\n",
+ "Beta=p3/p2#.............................#Explosion ratio\n",
+ "etadual=1-((1/(r**(ga-1)))*((Beta*(rho**ga))-1)*(1/((Beta-1)+(Beta*ga*(rho-1)))))#............#Efficiency of dual cycle\n",
+ "print \"Efficiency of dual cycle : %0.2f\"%(etadual*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.24 PAGE 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Efficiency of dual cycle : 61.42\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "r=14#......................#Compression ratio\n",
+ "Beta=1.4#................#Explosion ratio\n",
+ "co=6#..................#Cut off percentage\n",
+ "ga=1.4#.................#Ratio of specific heats\n",
+ "#Calculation\n",
+ "rho=((co/100)*(r-1))+1#...............#Cut off ratio\n",
+ "etadual=1-((1/(r**(ga-1)))*((Beta*(rho**ga))-1)*(1/((Beta-1)+(Beta*ga*(rho-1)))))#............#Efficiency of dual cycle\n",
+ "print \"Efficiency of dual cycle : %0.2f\"%(etadual*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.25 PAGE 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air standard efficiency = 57.55 %\n",
+ "Power developed = 51.39 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=0.25#.................#Engine bore in m\n",
+ "L=0.3#.............#Engine stroke in m\n",
+ "p1=1#................#Initial pressure in bar\n",
+ "N=3#...............#No of cycles per second\n",
+ "p3=60#................#Maximum pressure in bar\n",
+ "t1=303#..............#Initial temperature in K\n",
+ "co=4#................#Cut off percentage\n",
+ "r=9#..................#Compression ratio\n",
+ "R=287#.................#gas constant in J/kg\n",
+ "cv=0.71#...............#Specific heat at constant volume in kJ/kgK\n",
+ "cp=1.0#.................#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#...............#Ratio of specific heats\n",
+ "#Calculations\n",
+ "p4=p3#\n",
+ "Vs=(pi/4)*D*D*L#.............#Stroke volume in m**3\n",
+ "Vc=Vs/(r-1)#..................#Clearance volume in m**3\n",
+ "rho=((r-1)*(co/100))+1#................#Cut off ratio\n",
+ "v1=Vc+Vs#.................#Volume after isochoric compression in m**3\n",
+ "p2=p1*(r**ga)#................#Pressure after adiabatic compression in bar\n",
+ "t2=t1*(r**(ga-1))#..............#Temperature after adiabatic expansion in K\n",
+ "t3=(p3*t2)/p2#..............#Temperature after isochoric compression in K\n",
+ "t4=t3*rho#.....................#Temperature after isobaric expansion in K\n",
+ "t5=t4*((rho/r)**(ga-1))#.........#Temperature after adiabatic expansion in K\n",
+ "p5=p4*(rho/r)**ga#...............#Pressure after adiabatic expansion in bar\n",
+ "Qs=(cv*(t3-t2)+cp*(t4-t3))#.....#Heat supplied in kJ/kg\n",
+ "Qr=cv*(t5-t1)#...................#Heat rejected in kJ/kg\n",
+ "etast=1-(Qr/Qs)#.................#Air standard efficiency\n",
+ "print \"Air standard efficiency = %0.2f %%\"%(etast*100)\n",
+ "m=(p1*v1*10**5)/(R*t1)#...............#Mass of air in cycle\n",
+ "W=m*(Qs-Qr)#....................#Work done per cycle in kJ\n",
+ "P=W*N#............................#Power developed in kW\n",
+ "print \"Power developed = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.26 PAGE 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature after adiabatic compression: 874.19 K\n",
+ "\n",
+ "Pressure after adiabatic compression: 21.67 bar\n",
+ "\n",
+ "Temperature after isochoric compression: 2742.67 K\n",
+ "\n",
+ "Pressure after isochoric compression: 68.00 bar\n",
+ "\n",
+ "Temperature after isobaric expansion: 3166.05 K\n",
+ "\n",
+ "Pressure after isobaric expansion: 68.00 bar\n",
+ "\n",
+ "Temperature after adiabatic expansion: 1392.38 K\n",
+ "\n",
+ "Pressure after adiabatic expansion: 3.84 bar\n",
+ "\n",
+ "Air standard efficiency = 58.24 %\n",
+ "Mean effective pressure = 11.09 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=1#................#Initial pressure in bar\n",
+ "t1=363#.............#Initial temperature in K\n",
+ "r=9#.................#Compression ratio\n",
+ "p3=68#...............#Max pressure\n",
+ "p4=p3#\n",
+ "Qs=1750#..............#Total heat supplied\n",
+ "ga=1.4#...............#Ratio of specific heats\n",
+ "R=287#................#Gas constant in kJ/kgK\n",
+ "cv=0.71#..............#Specific heat at constant volume in kJ/kgK\n",
+ "cp=1#................#Specific heat at constant pressure in kJ/kgK\n",
+ "#Calculations\n",
+ "p2=p1*((r)**ga)#............#Pressure at the end of adiabatic compression in bar\n",
+ "t2=t1*((r)**(ga-1))#..........#Temperature at the end of adiabatic compression in K\n",
+ "t3=t2*(p3/p2)#............#Temperature at the end of isochoric compression in K\n",
+ "Qv=cv*(t3-t2)#.............#Heat added at constant volume in kJ/kg\n",
+ "Qp=Qs-Qv#.....................#Heat added at constant pressure in kJ/kg\n",
+ "t4=(Qp/cp)+t3#................#Temperature at the end of isobaric expansion in kJ/kg\n",
+ "rho=t4/t3#.....................#Cut off ratio\n",
+ "p5=p4*((rho/r)**ga)#................#Pressure at the end of adiabatic expansion in kJ/kg\n",
+ "t5=t4*((rho/r)**(ga-1))#...........#Temperature at the end of adiabatic expansion in kJ/kg\n",
+ "print \"Temperature after adiabatic compression: %0.2f K\\n\"%(t2)\n",
+ "print \"Pressure after adiabatic compression: %0.2f bar\\n\"%(p2)\n",
+ "print \"Temperature after isochoric compression: %0.2f K\\n\"%(t3)\n",
+ "print \"Pressure after isochoric compression: %0.2f bar\\n\"%(p3)\n",
+ "print \"Temperature after isobaric expansion: %0.2f K\\n\"%(t4)\n",
+ "print \"Pressure after isobaric expansion: %0.2f bar\\n\"%(p4)\n",
+ "print \"Temperature after adiabatic expansion: %0.2f K\\n\"%(t5)\n",
+ "print \"Pressure after adiabatic expansion: %0.2f bar\\n\"%(p5)\n",
+ "Qr=cv*(t5-t1)#....................#Heat rejected in kJ\n",
+ "etast=1-(Qr/Qs)#.................#Air standard efficiency\n",
+ "print \"Air standard efficiency = %0.2f %%\"%(etast*100)\n",
+ "pm=(1/(r-1))*((68*(rho-1))+(((p4*rho)-(p5*r))/(ga-1))-((p2-r)/(ga-1)))#................#Mean effective pressure in bar\n",
+ "print \"Mean effective pressure = %0.2f bar\"%pm"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.27 PAGE 129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air standard efficiency = 65.30 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "t1=300#...............#Initial temperature\n",
+ "rmami=70#....................#Ratio of max pressure and min pressure\n",
+ "r=15#....................#Compression ratio\n",
+ "ga=1.4#.................#Ratio of specific heats\n",
+ "R=287#....................#Gas constant in kJ/kgK\n",
+ "t2=t1*(r**(ga-1))#.................#Temperature at the end of adiabatic compression in K\n",
+ "t3=t2*(rmami/(r**ga))#............#Temperature at the end of isochoric compression in K\n",
+ "t4=t3+((t3-t2)/ga)#..............#Temperature at the end of isobaric process in K\n",
+ "t5=t4/((1/(t4/(t3*r)))**(ga-1))#..........#Temperature at the end of adiabatic expansion in K\n",
+ "etast=1-((t5-t1)/((t3-t2)+ga*(t4-t3)))#..............#Air standard efficiency\n",
+ "print \"Air standard efficiency = %0.2f %%\"%(etast*100,)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.28 PAGE 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thermal efficiency = 61.80 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "t1=373#.............#Initial temperature in K\n",
+ "p1=1#...............#Initial pressure in bar\n",
+ "p3=65#..............#Maximum pressure in bar\n",
+ "R=287#.................#Gas constant in kJ/kg\n",
+ "p4=p3#\n",
+ "ga=1.41#.................#Ratio of specific heats\n",
+ "Vs=0.0085#............#Swept volume in m**3\n",
+ "afr=21#...............#Air fuel ratio\n",
+ "r=15#.................#Compression ratio\n",
+ "C=43890#..............#Calorific value of fuel in kJ/kg\n",
+ "cp=1#................#Specific heat at constant pressure in kJ/kgK\n",
+ "cv=0.71#..............#Specific heat at constant volume in kJ/kgK\n",
+ "#Calculations\n",
+ "Vc=Vs/(r-1)#...............#Clearance volume in m**3\n",
+ "v2=Vc\n",
+ "v1=Vs+v2#\n",
+ "v3=Vc\n",
+ "v5=v1#\n",
+ "p2=p1*(r**ga)#.....................#Pressure at the end of adiabatic compression in bar\n",
+ "t2=t1*(r**(ga-1))#................#Temperature at the end of adiabatic compression in K\n",
+ "t3=(t2*p3)/p2#...................#Temperature at the end of isochoric compression in K\n",
+ "m=(p1*v1*10**5)/(R*t1)#............#Mass of air in the cycle in kg\n",
+ "Qv=m*cv*(t3-t2)#.....................#Heat added during constant volume process in kJ\n",
+ "fv=Qv/C#.............................#Fuel added during constant volume process in kg\n",
+ "mf=m/afr#..................#Total amount of fuel added in kg\n",
+ "mfib=mf-fv#....................#Total amount of fuel added in isobaric process in kg\n",
+ "Qib=mfib*C#....................#Total amount of heat added in isobaric process in kJ\n",
+ "t4=(Qib/((m+mf)*cp))+t3#........#Temperature at the end of isobaric process in K\n",
+ "v4=(v3*t4)/t3#..................#Volume at the end of isobaric process in m**3\n",
+ "t5=t4/((v5/v4)**(ga-1))#.........#Temperature at the end of isochoric expansion in K\n",
+ "Qrv=(m+mf)*cv*(t5-t1)#...............#Heat rejected during constant volume process in kJ\n",
+ "W=(Qib+Qv)-Qrv#................#Work done in kJ\n",
+ "etath=W/(Qib+Qv)#..................#Thermal efficiency\n",
+ "print \"Thermal efficiency = %0.2f %%\"%(etath*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.29 PAGE 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature after adiabatic compression: 524.81 K\n",
+ "\n",
+ "Pressure after adiabatic compression: 15.59 bar\n",
+ "\n",
+ "Temperature after isochoric compression: 1201.99 K\n",
+ "\n",
+ "Pressure after isochoric compression: 35.70 bar\n",
+ "\n",
+ "Temperature after isobaric expansion: 3283.19 K\n",
+ "\n",
+ "Pressure after isobaric expansion: 35.70 bar\n",
+ "\n",
+ "Temperature after adiabatic expansion: 2195.60 K\n",
+ "\n",
+ "Pressure after adiabatic expansion: 4.78 bar\n",
+ "\n",
+ "Mean effective pressure = 10.92 bar\n",
+ "Engine efficiency = 32.95 %\n",
+ "Power of the engine = 171.53 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=0.25#.............#Engine bore in m\n",
+ "L=0.4#..............#Engine stroke in m\n",
+ "t1=303#.............#Initial temperature in K\n",
+ "R=287#...............#Gas constant in kJ/kgK\n",
+ "p1=1#...............#Initial pressure in bar\n",
+ "N=8#................#No of working cycles per sec\n",
+ "cv=0.71#.............#Specific heat at constant volume in kJ/kgK\n",
+ "cp=1#.................#Specific heat at constant pressure in kJ/kgK\n",
+ "n=1.25#.............#Adiabatic index\n",
+ "rc=9#...............#Compression ratio\n",
+ "re=5#...............#Expansion ratio\n",
+ "rqptqe=2#...........#Ratio of heat liberated at constant pressure to heat liberated at constant volume\n",
+ "#Calculations\n",
+ "p2=p1*(rc**n)#.......................#Pressure at the end of adiabatic compression in bar\n",
+ "t2=t1*(rc**(n-1))#...................#Temperature at the end of adiabatic compression in K\n",
+ "rho=rc/re#..........................#Cut off ratio\n",
+ "t3=(2*cv*t2)/((2*cv)-(cp*(rho-1)))#...............#Temperature at the end of isochoric compression in K\n",
+ "p3=p2*(t3/t2)#....................................#Pressure at the end of isochoric compression in bar\n",
+ "p4=p3#t4=rho*t3#.................................#Temperature and pressure at the end of isobaric process\n",
+ "p5=p4*(1/(re**n))#.................................#Pressure at the end of adiabatic expansion in bar\n",
+ "t5=t4*(1/(re**(n-1)))#.............................#Temperature at the end of adiabatic expansion in K\n",
+ "pm=(1/(rc-1))*((p3*(rho-1))+(((p4*rho)-(p5*rc))/(n-1))-((p2-(p1*rc))/(n-1)))#...............#Mean effective pressure \n",
+ "print \"Temperature after adiabatic compression: %0.2f K\\n\"%(t2)\n",
+ "print \"Pressure after adiabatic compression: %0.2f bar\\n\"%(p2)\n",
+ "print \"Temperature after isochoric compression: %0.2f K\\n\"%(t3)\n",
+ "print \"Pressure after isochoric compression: %0.2f bar\\n\"%(p3)\n",
+ "print \"Temperature after isobaric expansion: %0.2f K\\n\"%(t4)\n",
+ "print \"Pressure after isobaric expansion: %0.2f bar\\n\"%(p4)\n",
+ "print \"Temperature after adiabatic expansion: %0.2f K\\n\"%(t5)\n",
+ "print \"Pressure after adiabatic expansion: %0.2f bar\\n\"%(p5)\n",
+ "print \"Mean effective pressure = %0.2f bar\"%pm\n",
+ "Vs=(pi/4)*D*D*L#....................#Swept volume in m**3\n",
+ "W=(pm*(10**5)*Vs)/1000#.................#Work done per cycle in kJ\n",
+ "m=(p1*(10**5)*(rc/(rc-1))*Vs)/(R*t1)#.....................#Mass of air per cycle in kg\n",
+ "Qs=m*(cv*(t3-t2)+cp*(t4-t3))#.....................#Heat supplied per cycle in kJ\n",
+ "eta=W/Qs#....................#Engine efficiency\n",
+ "print \"Engine efficiency = %0.2f %%\"%(eta*100)\n",
+ "P=W*N#.................#Power of the engine in kW\n",
+ "print \"Power of the engine = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.31 PAGE 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Work done = 282.90 kJ/kg\n",
+ "Efficiency of cycle = 32.64 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "cp=0.92#..................#Specific heat at constant pressure in kJ/kgK\n",
+ "cv=0.75#..................#Specific heat at constant volume in kJ/kgK\n",
+ "p1=1#...................#Pressure at the end of adiabatic expansion in bar\n",
+ "p2=p1#...................#Pressure at the end of isobaric compression in bar\n",
+ "p3=4#....................#Pressure at the end of isobaric compression in bar\n",
+ "p4=16#...................#Final pressure after heat addition in bar\n",
+ "t2=300#.....................#Temperature at the end of isobaric compression in K\n",
+ "ga=1.22#................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t3=t2*((p3/p2)**((ga-1)/ga))#............#Temperature at the end of isobaric compression in K\n",
+ "t4=(p4*t3)/p3#........................#Final temperature after heat addition in K\n",
+ "t1=t4/((p4/p1)**((ga-1)/ga))#...................#Temperature at the end of adiabatic compression in K\n",
+ "Qs=cv*(t4-t3)#.........................#Heat supplied in kJ/kg\n",
+ "Qr=cp*(t1-t2)#.........................#Heat rejected in kJ/kg\n",
+ "W=Qs-Qr#.......................#Work done per kg of gas in kJ\n",
+ "print \"Work done = %0.2f kJ/kg\"%W\n",
+ "eta=W/Qs#......................#Efficiency of cycle\n",
+ "print \"Efficiency of cycle = %0.2f %%\"%(eta*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.32 PAGE 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cycle efficiency = 40.07 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=101.325#....................#Pressure of intake air in kPa\n",
+ "t1=300#.......................#Temperature of intake air in kPa\n",
+ "rp=6#.........................#Pressure ratio in the cycle\n",
+ "ga=1.4#.........................#Ratio of specific heats\n",
+ "rtc=2.5#...........................#Ratio of turbine work and compressor work\n",
+ "#Calculations\n",
+ "t2=t1*(rp**((ga-1)/ga))#..................#Temperature at the end of isentropic expansion in K\n",
+ "t3=(rtc*(t2-t1))/(1-(1/(rp**((ga-1)/ga))))#........#Temperature at the end of isobaric expansion in K\n",
+ "t4=t3/(rp**((ga-1)/ga))#.......................#Temperature at the end of isentropic compression in K\n",
+ "eta=(t3-t4-t2+t1)/(t3-t2)#...................#Cycle efficiency\n",
+ "print \"Cycle efficiency = %0.2f %%\"%(eta*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.33 PAGE 147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power developed per kg of gas per second = 362.01 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=1#....................#Intake pressure in bar\n",
+ "p2=5#....................#Supply pressure in bar\n",
+ "t3=1000#..................#Supply temperature in Kelvin\n",
+ "cp=1.0425#................#Specific heat at constant pressure in kJ/kgK\n",
+ "cv=0.7662#.................#Specific heat at constant volume in kJ/kgK\n",
+ "ga=cp/cv#..................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t4=t3*((p1/p2)**((ga-1)/ga))#\n",
+ "P=cp*(t3-t4)#.....................#Power developed per kg of gas per second in kW\n",
+ "print \"Power developed per kg of gas per second = %0.2f kW \"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.34 PAGE 147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature at turbine inlet = 423.51 K\n",
+ "Power developed = 13.85 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "ma=0.1#...................#Air supplied in kg/s\n",
+ "p1=1#.....................#Supply pressure in bar\n",
+ "t4=285#.................#Temperature of air when supplied to cabin in K\n",
+ "p2=4#...................#Pressure at inlet to turbine in bar\n",
+ "cp=1.0#..................#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#..................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "t3=t4*((p2/p1)**((ga-1)/ga))#................#Temperature at turbine inlet in K\n",
+ "print \"Temperature at turbine inlet = %0.2f K\"%t3\n",
+ "P=ma*cp*(t3-t4)#...........................#Power developed in kW\n",
+ "print \"Power developed = %0.2f kW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.35 PAGE 148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Efficiency of the cycle : 30.09\n",
+ "Heat supplied to the air = 456.17 kJ/kg \n",
+ "Work available at the shaft = 137.25 kJ/kg \n",
+ "Heat rejected in the cooler = 318.92 kJ/kg \n",
+ "Temperature of air leaving the turbine = 610.33 K \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=1#......................#Pressure of air entering the compressor in bar\n",
+ "p2=3.5#.................#Pressure of air while leaving the compressor in bar\n",
+ "t1=293#..................#Temperature of air at the onlet of the compressor in K\n",
+ "t3=873#.................#Temperature of air at the turbine inlet in K\n",
+ "cp=1.005#...............#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#...................#Ratio of specific heats\n",
+ "#Calculations\n",
+ "rp=p2/p1#....................#Pressure ratio of the cycle\n",
+ "eta=1-(1/(rp**((ga-1)/ga)))#..............#Efficiency of the cycle\n",
+ "print \"Efficiency of the cycle : %0.2f\"%(eta*100)\n",
+ "t2=t1*((rp**((ga-1)/ga)))#................#Temperature of air while leaving the compressor in K\n",
+ "q1=cp*(t3-t2)#................#Heat supplied to the air in kJ/kg\n",
+ "print \"Heat supplied to the air = %0.2f kJ/kg \"%(q1)\n",
+ "W=eta*q1#........................#Work available at the shaft in kJ/kg\n",
+ "print \"Work available at the shaft = %0.2f kJ/kg \"%W\n",
+ "q2=q1-W#................#Heat rejected in the cooler in kJ/kg\n",
+ "print \"Heat rejected in the cooler = %0.2f kJ/kg \"%q2\n",
+ "t4=t3/(rp**((ga-1)/ga))#.......................#Temperature of air leaving the turbine in K\n",
+ "print \"Temperature of air leaving the turbine = %0.2f K \"%t4"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.36 PAGE 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum temperature = 1251.38 K \n",
+ "Cycle efficiency = 40.07 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "p1=1#...................#Pressure of air entering the compressor in bar\n",
+ "t1=300#.................#Temperature of air entering the compressor in bar\n",
+ "rp=6#...................#Pressure ratio\n",
+ "rtc=2.5#.................#Ratio of turbine work to compressor work\n",
+ "ga=1.4#............#Ratio of specific heats\n",
+ "#calculations\n",
+ "t2=t1*(rp**((ga-1)/ga))#..................#Temperature at the end of isentropic expansion in K\n",
+ "t3=(rtc*(t2-t1))/(1-(1/(rp**((ga-1)/ga))))#........#Temperature at the end of isobaric expansion in K\n",
+ "t4=t3/(rp**((ga-1)/ga))#.......................#Temperature at the end of isentropic compression in K\n",
+ "eta=(t3-t4-t2+t1)/(t3-t2)#...................#Cycle efficiency\n",
+ "print \"Maximum temperature = %0.2f K \"%t3\n",
+ "print \"Cycle efficiency = %0.2f %%\"%(eta*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.37 PAGE 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of fuel consumption = 0.02 kg/s \n",
+ "Mass flow rate of air = 1.68 kg/s \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "# Initialisation of Variables\n",
+ "t1=303#........................#Min temperature in K\n",
+ "t3=1073#........................#Max temperature in K\n",
+ "C=45000#.....................#Calorific value of fuel in kJ/kg\n",
+ "cp=1#....................#Specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#........................#Ratio os specific heats\n",
+ "diftc=100#..................#Difference between work done by turbine and compressor in kW\n",
+ "#Calculations\n",
+ "t2=sqrt(t1*t3)# t4 = t2#.....#Assumed\n",
+ "mf=diftc/(C*(1-((t4-t1)/(t3-t2))))#................#Fuel used in kg per second\n",
+ "print \"Rate of fuel consumption = %0.2f kg/s \"%mf\n",
+ "ma=(diftc-(mf*(t3-t4)))/((t3-t4-cp*(t2-t1)))#............#Rate of air consumption in kg/s\n",
+ "print \"Mass flow rate of air = %0.2f kg/s \"%(ma)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.38 PAGE 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Compressor work = 259.32 kJ/kg \n",
+ "Turbine work = 351.64 kJ/kg \n",
+ "Heat supplied = 517.54 kJ/kg \n",
+ "Cycle efficiency = 17.84 %\n",
+ "Actual exhaust temperature of turbine = 723.11 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "t1=300#.................#Inlet temperature in K\n",
+ "p1=1#....................#Inlet pressure in bar\n",
+ "ma=1#....................#Mass of air in kg\n",
+ "rp=6.25#.............#Pressure ratio\n",
+ "t3=1073#.....#Maximum temperature in K\n",
+ "etac=0.8#............#Efficiency of compressor\n",
+ "etat=0.8#.............#Efficiency of turbine\n",
+ "ga=1.4#.................#Ratio of specific heats\n",
+ "cp=1.005#.............#Specific heat at constant pressure in kJ/kgK\n",
+ "#Calculations\n",
+ "t2=t1*(rp**((ga-1)/ga))#...........#Ideal Temperature of air while leaviing the compressor in K\n",
+ "t21=((t2-t1)/etac)+t1#............#Actual Temperature of air while leaviing the compressor in K\n",
+ "Wcomp=ma*cp*(t21-t1)#.............#Compressor work in kJ/kg\n",
+ "t4=t3/(rp**((ga-1)/ga))#........#Ideal temperature of air while leaving the turbine in K\n",
+ "t41=t3-(etat*(t3-t4))#..........#Actual temperature of air while leaving the turbine in K\n",
+ "Wtur=ma*cp*(t3-t41)#..............#Turbine work in kJ/kg\n",
+ "Wnet=Wtur-Wcomp#.................#Net work produced in kJ/kg\n",
+ "Qs=ma*cp*(t3-t21)#.................#Heat supplied in kJ/kg\n",
+ "print \"Compressor work = %0.2f kJ/kg \"%(Wcomp)\n",
+ "print \"Turbine work = %0.2f kJ/kg \"%Wtur\n",
+ "print \"Heat supplied = %0.2f kJ/kg \"%Qs\n",
+ "print \"Cycle efficiency = %0.2f %%\"%((Wnet/Qs)*100)\n",
+ "print \"Actual exhaust temperature of turbine = %0.2f K\"%t41"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.39 PAGE 153"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Air fuel ratio is 56:1\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialisation of Variables\n",
+ "etat=0.85#..............#Turbine efficiency\n",
+ "etac=0.8#...............#Compressor efficiency\n",
+ "t3=1148#................#Max temperature in K\n",
+ "t1=300#................#Temperature of working fluid when entering the compressor in Kelvin\n",
+ "cp=1#...................#specific heat at constant pressure in kJ/kgK\n",
+ "ga=1.4#................#ratio of specific heats\n",
+ "p1=1#...................#Pressure of working fluid while entering the compressor in bar\n",
+ "rp=4#...................#Pressure ratio\n",
+ "C=42000#...............#Calorific value of fuel used in kJ/kgK\n",
+ "perlcc=10#.............#Percentage loss of calorific value in combustion chamber\n",
+ "\n",
+ "#calculations\n",
+ "p2=p1*rp#.................#pressure of air while leaving the compressor in bar\n",
+ "etacc=1-(perlcc/100)#............#efficiency of combustion chamber\n",
+ "t2=t1*(rp**((ga-1)/ga))#...........#Ideal Temperature of air while leaviing the compressor in K\n",
+ "t21=((t2-t1)/etac)+t1#............#Actual Temperature of air while leaviing the compressor in K\n",
+ "afr=((C*etacc)/(cp*(t3-t21)))-1#...........#Air fuel ratio\n",
+ "print \"Air fuel ratio is %d:1\"%round(afr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 3.40 PAGE 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Work done in process 1-2 = 148.93 kJ/kg \n",
+ "Heat rejected in process 1-2 = 148.93 kJ/kg \n",
+ "Work done in process 2-3 = 0.00 kJ/kg \n",
+ "Heat rejected in process 2-3 = 0.00 kJ/kg \n",
+ "Work done in process 3-4 = 446.80 kJ/kg \n",
+ "Heat rejected in process 3-4 = 446.80 kJ/kg\n",
+ "Work done in process 4-1 = 297.87 kJ/kg \n",
+ "Heat rejected in process 4-1 = 297.87 kJ/kg \n",
+ "Thermal efficiency of the cycle = 66.67 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "# Initialisation of Variables\n",
+ "p1=1#...........#pressure before isothermal compression in bar\n",
+ "t1=310#.........#temperature before isothermal compression in K\n",
+ "p3=16#.........#pressure before isothermal expansion in bar\n",
+ "t3=930#.........#temperature before isothermal expansion in K\n",
+ "R=287#.............#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "v1=(R*t1)/(p1*10**5)#...............#Volume before isothermal compression in m**3\n",
+ "v3=(R*t3)/(p3*10**5)#...............#Volume before isothermal expansion in m**3\n",
+ "v2=v3#v4=v1#.................#2-3 and 1-4 are isochoric processes\n",
+ "r=v1/v2#...................#Compression ratio\n",
+ "q12=R*t1*log(r)#...............#Work done and heat rejected in process 1-2\n",
+ "w12=q12#\n",
+ "print \"Work done in process 1-2 = %0.2f kJ/kg \"%(q12/1000)\n",
+ "print \"Heat rejected in process 1-2 = %0.2f kJ/kg \"%(w12/1000)\n",
+ "q23=0#w23=q23#..................#COnstant volume process and hence work done is zero\n",
+ "print \"Work done in process 2-3 = %0.2f kJ/kg \"%(q23/1000)\n",
+ "print \"Heat rejected in process 2-3 = %0.2f kJ/kg \"%(q23/1000)\n",
+ "q34=R*t3*log(r)#...............#Work done and heat rejected in process 1-2\n",
+ "w34=q34#\n",
+ "print \"Work done in process 3-4 = %0.2f kJ/kg \"%(q34/1000)\n",
+ "print \"Heat rejected in process 3-4 = %0.2f kJ/kg\"%(w34/1000)\n",
+ "q41=q34-q12\n",
+ "w41=q41#\n",
+ "print \"Work done in process 4-1 = %0.2f kJ/kg \"%(q41/1000)\n",
+ "print \"Heat rejected in process 4-1 = %0.2f kJ/kg \"%(w41/1000)\n",
+ "etath=w41/q34#.....................#Thermal efficiency\n",
+ "print \"Thermal efficiency of the cycle = %0.2f %%\"%(etath*100)"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER4_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER4_1.ipynb
new file mode 100644
index 00000000..82c4af35
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER4_1.ipynb
@@ -0,0 +1,448 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 4 - Fuel-Air & Actual Cycles"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.2 PAGE 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage change in the efficiency of otto cycle = -0.71 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "# Initialisation of Variables\n",
+ "r=8#..........................#Compression Ratio\n",
+ "ga=1.4#.......................#Degree of freedom for the gas\n",
+ "Cvinc=1.1#....................#Increase of specific heat at constant volume in percentage\n",
+ "#Calculations\n",
+ "eta=1-1/(r**(ga-1))#...........#efficiency of otto cycle\n",
+ "deta=(1-eta)*(ga-1)*log(r)*(Cvinc/100)#............#Change in efficiency\n",
+ "etach=-deta/eta#............................#Percentage change in efficiency of change in efficiency\n",
+ "print \"The percentage change in the efficiency of otto cycle = %0.2f %%\"%(etach*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.3 PAGE 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage change in the efficiency of otto cycle = -1.98 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=7#..........................#Compression Ratio\n",
+ "ga=1.4#.......................#Degree of freedom for the gas\n",
+ "Cvinc=3#....................#Increase of specific heat at constant volume in percentage\n",
+ "#Calculations\n",
+ "eta=1-1/(r**(ga-1))#...........#efficiency of otto cycle\n",
+ "deta=(1-eta)*(ga-1)*log(r)*(Cvinc/100)#............#Change in efficiency\n",
+ "etach=-deta/eta#............................#Percentage change in efficiency of change in efficiency\n",
+ "print \"The percentage change in the efficiency of otto cycle = %0.2f %%\"%(etach*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.4 PAGE 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Percentage change = -1.15 efficiency\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import log\n",
+ "# Initialisation of Variables\n",
+ "r=18#..........................#Compression Ratio\n",
+ "co=5#..........................#Cut off percent of stroke\n",
+ "cv=0.71#.......................#Mean specific heat for cycle in kJ/kg K\n",
+ "R=0.285#.......................#Charecteristic gas constant in kJ/kh K\n",
+ "cvinc=2#.......................#Percentage increase in mean specific heat of the cycle\n",
+ "#Calculation\n",
+ "rho=(co/100)*(r-1)+1#\n",
+ "ga=1+(R/cv)#\n",
+ "eta=1-(1/(ga*(r**(ga-1))))*((rho**ga)-1)/(rho-1)#.....................#Efficiency of diesel cycle \n",
+ "etach=-((1-eta)/eta)*(ga-1)*(log(r)-(((rho**ga)*log(rho))/((rho**ga)-1))+(1/ga))*(cvinc/100)#...#Variation in the air standard efficiency\n",
+ "print \"Percentage change = %0.2f efficiency\"%(etach*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.5 PAGE 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Max pressure in the cylinder = 65.52 bar \n",
+ "Max pressure for constant specific heat = 93.52 bar \n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,log\n",
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=7#......................#Compression ratio\n",
+ "C=44000#..................#Calorific value of fuel used in kJ/kg\n",
+ "afr=15#...................#Air fuel ratio\n",
+ "t1=338#....................#Temperature of the charge at the end of the stroke in Kelvin\n",
+ "p1=1#......................#Pressure of the charge at the end of the stroke in bar\n",
+ "n=1.33#....................#Index of compression\n",
+ "cv=0.71#......#Specific heat constant at constant volume in kJ/kgK\n",
+ "k=20*10**(-5)#\n",
+ "#Calculations\n",
+ "p2=p1*(r)**n#\n",
+ "t2=(t1*p2)/(p1*r)#\n",
+ "ha=C/(afr+1)#......................#Heat added per kg of charge in kJ\n",
+ "t3=((-2*cv)+sqrt((4*cv*cv)+(4*k*((2*cv*t2)+(k*t2*t2)+(2*ha)))))/(2*k)#\n",
+ "p3=(p2*t3)/t2#.............................#Max pressure for constant volume process in bar\n",
+ "P3=p2*((ha/cv)+t2)/t2#.....................#Max pressure for constant specific heat in bar\n",
+ "print \"Max pressure in the cylinder = %0.2f bar \"%(p3)\n",
+ "print \"Max pressure for constant specific heat = %0.2f bar \"%P3"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.6 PAGE 190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Max pressure in the cylinder = 102.27 bar \n",
+ "Max pressure for constant specific heat = 150.64 bar \n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,log\n",
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=10#......................#Compression ratio\n",
+ "C=48000#..................#Calorific value of fuel used in kJ/kg\n",
+ "afr=15#...................#Air fuel ratio\n",
+ "t1=330#....................#Temperature of the charge at the end of the stroke in Kelvin\n",
+ "p1=1#......................#Pressure of the charge at the end of the stroke in bar\n",
+ "n=1.36#....................#Index of compression\n",
+ "cv=0.7117#......#Specific heat constant at constant volume in kJ/kgK\n",
+ "k=2.1*10**(-4)#\n",
+ "#Calculations\n",
+ "p2=p1*(r)**n#\n",
+ "t2=t1*((p2/p1)**((n-1)/n))#\n",
+ "ha=C/(afr+1)#......................#Heat added per kg of charge in kJ\n",
+ "t3=((-2*cv)+sqrt((4*cv*cv)+(4*k*((2*cv*t2)+(k*t2*t2)+(2*ha)))))/(2*k)#\n",
+ "p3=(p2*t3)/t2#.............................#Max pressure for constant volume process in bar\n",
+ "P3=p2*((ha/cv)+t2)/t2#.....................#Max pressure for constant specific heat in bar\n",
+ "print \"Max pressure in the cylinder = %0.2f bar \"%p3\n",
+ "print \"Max pressure for constant specific heat = %0.2f bar \"%P3"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.7 PAGE 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Percentage of the stroke when the combustion is completed is 9.77\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,log\n",
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=15#......................#Compression ratio\n",
+ "C=43000#..................#Calorific value of fuel used in kJ/kg\n",
+ "afr=27#...................#Air fuel ratio\n",
+ "t2=870#....................#Temperature of the charge at the end of the stroke in Kelvin\n",
+ "cv=0.71#......#Specific heat constant at constant volume in kJ/kgK\n",
+ "R=0.287#.........................#Gas constant in kJ/kgK\n",
+ "k=20*10**(-5)#\n",
+ "#Calculations\n",
+ "cp=cv+R#............................#Specific heat at constant pressure\n",
+ "ha=C/(afr+1)#......................#Heat added per kg of charge in kJ\n",
+ "t3=((-2*cp)+sqrt((4*cp*cp)+(4*k*((2*cp*t2)+(k*t2*t2)+(2*ha)))))/(2*k)#\n",
+ "co=((t3/t2)-1)/(r-1)#.............#combustion occupies this amt of stroke \n",
+ "print \"Percentage of the stroke when the combustion is completed is \",round(co*100,2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.8 PAGE 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Max pressure in the cylinder = 73.23 bar \n",
+ "Percentage of the stroke when the combustion is completed is 2.42\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,log\n",
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=14#......................#Compression ratio\n",
+ "t1=87+273#....................#Temperature of the charge at the end of the stroke in Kelvin\n",
+ "p1=1#......................#Pressure of the charge at the end of the stroke in bar\n",
+ "hsupa=1700#............................#heat supplied per kg of air in kJ\n",
+ "cv=0.71#......#Specific heat constant at constant volume in kJ/kgK\n",
+ "k=20*10**(-5)#\n",
+ "ga=1.4#.....................#Degree of freedom \n",
+ "R=0.287#......................#Gas constant in kJ/kgK\n",
+ "#Calculations\n",
+ "p2=p1*(r)**ga#\n",
+ "t2=t1*(r**(ga-1))#\n",
+ "ha=hsupa/2#......................#Heat added per kg of charge in kJ\n",
+ "t3=((-2*cv)+sqrt((4*cv*cv)+(4*k*((2*cv*t2)+(k*t2*t2)+(2*ha)))))/(2*k)#\n",
+ "p3=(p2*t3)/t2#.............................#Max pressure for constant volume process in bar\n",
+ "P3=p2*((ha/cv)+t2)/t2#.....................#Max pressure for constant specific heat in bar\n",
+ "print \"Max pressure in the cylinder = %0.2f bar \"%p3\n",
+ "cp=cv+R#.................................#Heat capacity at constant pressure in kJ/kgK\n",
+ "t4=((-2*cp)+sqrt((4*cp*cp)+(4*k*((2*cp*t3)+(k*t3*t3)+(2*ha)))))/(2*k)#\n",
+ "co=((t4/t3)-1)/(r-1)#.............#combustion occupies this amt of stroke \n",
+ "print \"Percentage of the stroke when the combustion is completed is \",round(co*100,2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.9 PAGE 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum temperature ignoring molecular expansion = 4862.39 Kelvin \n",
+ "Maximum pressure ignoring molecular expansion = 113.41 bar \n",
+ "Maximum temperature considering molecular expansion = 4862.39 Kelvin \n",
+ "Maximum pressure considering molecular expansion = 122.86 bar\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,log\n",
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=8#...........................#Compression ratio\n",
+ "C=44000#............#Calorific value of fuel in kJ/kg\n",
+ "afr=13.8#.....................#Air fuel ratio\n",
+ "t1=343#.............................#Temperature of the mixture at the beginning of the compression in Kelvin\n",
+ "p1=1#........................#Pressure of the mixture at the beginning of the compression in bar\n",
+ "cv=0.716#.....................#Specific heat at constant volume in kJ/kgK\n",
+ "In=1.35#.......................#Index of compression\n",
+ "nc=6#..........................#No of carbon elements in the given fuel\n",
+ "nh=14#.........................#No of hydrogen elements in the given fuel\n",
+ "mc=12#...........................#Atomic mass of carbon in amu\n",
+ "mh=2#.............................#atomic mass of hydrogen molecule in amu\n",
+ "mo=32#...........................#Atomic mass of oxygen molecule in amu\n",
+ "#Calculations\n",
+ "#The chemical equation is C6H14 + xO2 ==> yCO2 + zH2O \n",
+ "#x is the no of oxygen molecules required for complete combustion\n",
+ "#y is the no of carbon dioxide molecules produced in complete combustion\n",
+ "#z is the no of Water molecules produced in complete combustion\n",
+ "y=nc#............................#As no of CO2 molecules is equal to no of C atoms in the fuel\n",
+ "z=nh/2#..........................#No of H2O molecules is equal to half the no of H atoms in the fuel\n",
+ "x=(z/2)+y#...........................#No of oxygen molecules required for combustionis half the no of water molecules plus the no of oxygen molecules \n",
+ "gafr=((x*32)*(100/23))/((mc*y)+(mh*z))#.................#Gravimetric air fuel ratio\n",
+ "ms=(gafr/afr)*100#......................#Actual mixture strength\n",
+ "#Since the mixture strength is greater than 100 %\n",
+ "#The mixture is rich in fuel. The combustion is therefore incompplete and hence CO will be formed\n",
+ "d=ms/100#......................#No of fuel molecules required for combustion\n",
+ "#The chemical equation is d(C6H14) + 9.5(O2) ==> a(CO2) + b(CO) + c(H2O) \n",
+ "c=(d*nh)/2#...............................#No of H2O molecules is equal to half the no of H atoms in the fuel\n",
+ "a=(x*2)-(d*nc)-c#........................#Equating atoms of the same element on both sides of equation\n",
+ "b=(d*nc)-a#\n",
+ "#By adding nitrogen on both sides, we are adding the same molecular weight on both sides.\n",
+ "#Air is 79 % nitrogen and 21 % oxygen\n",
+ "#Both N2 and O2 are diatomic molecules\n",
+ "n=x*(79/21)#.............................#No of nitrogen molecules \n",
+ "mbc=d+x+n#.............................#Moles before combustion\n",
+ "mac=a+b+c+n#.............................#Moles after expansion\n",
+ "me=(mac-mbc)/mbc#........................#Molecular expansion\n",
+ "t2=(t1*(r**(In-1)))#\n",
+ "t3=(t2+(C/((afr+1)*cv)))#..................#Maximum temperature ignoring molecular expansion in Kelvin\n",
+ "p3=p1*r*(t3/t1)#...........................#Maximum pressure ignoring molecular expansion in bar\n",
+ "t3me=t3#...............................#Maximum temperature considering molecular expansion in Kelvin\n",
+ "p3me=p3*(mac/mbc)#....................#Maximum pressure considering molecular expansion in bar\n",
+ "print \"Maximum temperature ignoring molecular expansion = %0.2f Kelvin \"%t3\n",
+ "print \"Maximum pressure ignoring molecular expansion = %0.2f bar \"%p3\n",
+ "print \"Maximum temperature considering molecular expansion = %0.2f Kelvin \"%t3me\n",
+ "print \"Maximum pressure considering molecular expansion = %0.2f bar\"%p3me"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 4.10 PAGE 194"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cycle work = 872.05 kJ/kg \n",
+ "The cycle efficiency = 44.99 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,log\n",
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "r=7#....................#Compression Ratio\n",
+ "t2=715#.................#Temperature at the end of isentropic compression in Kelvin\n",
+ "t4=1610#................#Temperature at the end of expansion in Kelvin\n",
+ "#Calculations\n",
+ "vr2=65.8#..................#From steam table\n",
+ "u2=524.2#..................#From steam table\n",
+ "vr4=5.69#..................#From steam table\n",
+ "u4=1307.63#..................#From steam table\n",
+ "vr1=r*vr2#\n",
+ "t1=338#..................#From steam table\n",
+ "u1=241.38#..................#From steam table\n",
+ "vr3=vr4/r#\n",
+ "t3=2800#..................#From steam table\n",
+ "u3=2462.5#..................#From steam table\n",
+ "W=(u3-u2)-(u4-u1)#..................#Work done\n",
+ "Qa=(u3-u2)#..........................#Heat added\n",
+ "eta=W/Qa#...........................#Cycle efficiency\n",
+ "print \"The cycle work = %0.2f kJ/kg \"%W\n",
+ "print \"The cycle efficiency = %0.2f %%\"%(eta*100)"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER5_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER5_1.ipynb
new file mode 100644
index 00000000..522e0194
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER5_1.ipynb
@@ -0,0 +1,119 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 5 - Combustion in S.I. Engines"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 5.1 PAGE 218"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time for one combustion process = 4.51e-03 seconds \n",
+ "The crank position is = 12.47 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "d=10.2#............#Engine bore in cm\n",
+ "spo=0.6#............#Spark plug offset in cm\n",
+ "vf=15.8#............#Average flame speed in m/s\n",
+ "thetas=20#.............#The angle of the crank when spark plug is fired\n",
+ "theta=6.5#..........#Angle by which the Engine rotates for combustion to develop (degree)\n",
+ "N=1200#................#Engine rpm\n",
+ "#calculations\n",
+ "dmax=(0.5*d)+spo#.........#Max distance of flame travel in cm\n",
+ "tf=(dmax)/(vf*100)#................#Time of flame travel in seconds\n",
+ "degs=(N/60)*360#...................#Conversion of engine rpm into degree/second\n",
+ "ctheta=tf*degs#...............#Crank angle for flame travel in degree\n",
+ "tc=theta/degs#..................#time for combustion to develop in seconds\n",
+ "top=tf+tc#......................#Time for one combustion process in seconds\n",
+ "thetatot=theta+ctheta#................#Total crank rotation in degree\n",
+ "thetacp = thetatot-thetas#..........#Crank position\n",
+ "print \"Time for one combustion process = %0.2e seconds \"%top\n",
+ "print \"The crank position is = %0.2f degree\"%thetacp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 5.2 PAGE 219"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time of spark = 15.00 Degrees before TDC \n",
+ "Time of spark = 16.54 degrees before TDC\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Initialisation of Variables\n",
+ "dp=22#............#Delay period in degree\n",
+ "cp=17#...............#Combustion period in degree\n",
+ "dper=14#...............#Delay Percentage\n",
+ "#Calculations\n",
+ "thetad=dp/2#.........#Full throttle half speed will result in delay angle being reduced for the same time\n",
+ "#Thus ignition timing should be arranged so that the total of thetad+cp ends 13 degree after TDC\n",
+ "tsp=(thetad+cp)-13#............#Time of spark in degree\n",
+ "print \"The time of spark = %0.2f Degrees before TDC \"%tsp\n",
+ "#Half throttle half speed will result in an increase of 14% in delay time over that at full throttle half speed \n",
+ "theta=(dper*thetad)/100#\n",
+ "dtheta=thetad+theta#............#Delay angle\n",
+ "tp=dtheta+cp#................#Total period\n",
+ "tsp=tp-13#..............#\n",
+ "print \"Time of spark = %0.2f degrees before TDC\"%tsp"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER7_1.ipynb b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER7_1.ipynb
new file mode 100644
index 00000000..c24df28b
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER7_1.ipynb
@@ -0,0 +1,612 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 7 - Air capacity of four stroke engines"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.1 PAGE 246"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Gas Inhaled per minute : 0.23 m**3/min \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi\n",
+ "# Initialisation of Variables\n",
+ "D=20.3#................#Diameter in cm\n",
+ "L=30.5#.................#Length in cm\n",
+ "N=300#................#Engine rpm\n",
+ "eta=78#.................#Efficiency in percentage\n",
+ "afr=4/1#.................#Air Fuel Ratio\n",
+ "\n",
+ "#Calculations\n",
+ "StV = ((pi)/4)*((D/100)**2)*(L/100)#.......#Calculating the stroke volume\n",
+ "Vinh= (eta/100)*StV#...................#Volume Inhaled\n",
+ "Gainh= (Vinh/(4+1))#..............#Gas Inhaled\n",
+ "Gainhpm = Gainh*(N/2)#\n",
+ "print \"Gas Inhaled per minute : %0.2f m**3/min \"%(Gainhpm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.2 PAGE 247"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Volumetric efficiency of the engine is : 0.85\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Initializing the variables\n",
+ "\n",
+ "N=3600#................#engine rpm\n",
+ "T=15#................#Inlet temperature in degree Celsius\n",
+ "Tk = T+273#..............#Inlet temperature in Kelvin\n",
+ "p=760#................#Inlet pressure in mm of Hg i.e. 1.013 x 10**5 Pa\n",
+ "ppa=1.013*(10**5)#.........# Inlet pressure in Pascals\n",
+ "pdv=4066#..............#Total piston displacement volume in cm**3\n",
+ "pdvsi=pdv*(10**(-6))#.............#Total piston displacement volume in m**3\n",
+ "afr=14/1#...................#Air fuel ratio is 14:1\n",
+ "bsfc=0.38#..................# b.s.f.c in kg/kWh\n",
+ "BP=86#.............#power output in kW\n",
+ "R=287#................#Gas constant for air in J/kg.K\n",
+ "#Calculations\n",
+ "m = (BP*bsfc*afr)/60#...............#Air consumption\n",
+ "V = (m*R*Tk)/ppa#\n",
+ "DV= pdvsi*(N/2)#.........#Displacement Volume\n",
+ "VE=V/DV#...............#Volumetric Efficiency\n",
+ "print \"Volumetric efficiency of the engine is : %0.2f\"%(VE)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.3 PAGE 248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The volumetric efficiency based on the free air condition : 0.86\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "#Initializing the variables\n",
+ "n=4#..............#No of cylinders\n",
+ "d=5#.............#diameter of orifice in cm\n",
+ "dsi=d/100#..........# diameter in m\n",
+ "Cd=0.6#.............#Co-efficient of discharge\n",
+ "D=10#..............#Engine bore in cm\n",
+ "Dsi=d/100#............#Engine bore in m\n",
+ "L=12#................#Engine stroke in cm\n",
+ "Lsi=L/100#............#Engine stroke in m\n",
+ "N=1200#...............#Engine rpm\n",
+ "hw=0.046#............#Pressure drop across orifice in m of water\n",
+ "T = 17#..........#Ambient Temparature in Degree Celsius\n",
+ "Tk = T+273#..........# Ambient Temperature in Kelvin\n",
+ "Pbar = 1#.............# Ambient pressure in bar\n",
+ "Ppa = 1 * (10**5)#.......#Ambient pressure in Pascal\n",
+ "R = 287#.............# Gas constant in J/kg.K\n",
+ "rhow = 1000#............#Density of water in kg/m**3\n",
+ "g=9.81#...............#Acceleration due to gravity\n",
+ "#Calculations\n",
+ "\n",
+ "rhoa= Ppa/(R*Tk)#.........#Density of air\n",
+ "ha= (hw*rhow)/rhoa#\n",
+ "av= sqrt(2*g*ha)#.............#Air velocity\n",
+ "area = (pi/4)*(dsi**2)#\n",
+ "Vact = Cd*area*av#.............# V actual\n",
+ "Vswt = n*(pi/4)*(Dsi**2)*Lsi*(N/60*2)#\n",
+ "eff = Vact/Vswt#...............#Volumetric efficiency\n",
+ "print \"The volumetric efficiency based on the free air condition : %0.2f\"%(eff)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.4 PAGE 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The given fuel C7H16 requires 11(O2) for complete combustion\n",
+ "Hence, Mass of fuel is : 100.00\n",
+ "Mass of Oxygen required is : 352.00\n",
+ "The air fuel ratio is : 15.30\n",
+ "The volumetric efficiency of the engine is = 75.90 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Initializing the variables\n",
+ "n=1#...................#No of cylinders\n",
+ "k=0.5#\n",
+ "Vs=7000#............#displacement volume in cm**3\n",
+ "Vssi= Vs*(10**(-6))#........#displacement volume in m**3\n",
+ "OP=14.7#...................#Power developed in kW\n",
+ "N=450#..................#Engine rpm\n",
+ "sfc=0.272#................#Specific fuel consumption in kg/kWh\n",
+ "#Fuel used is C7H16\n",
+ "mC=12#.............#mass of carbon in amu\n",
+ "mH=1#.................#mass of hydrogen in amu\n",
+ "mO=16#.................#mass of oxygen in amu\n",
+ "pi=1.013 * (10**5)#................#initial pressure in pascal\n",
+ "T=30#...................#initial temperature in degree celsius\n",
+ "Tk=30+273#................#initial temperature in degree kelvin\n",
+ "R=287#..................#Gas constant for air in J/kg.K\n",
+ "#calculations\n",
+ "print \"The given fuel C7H16 requires 11(O2) for complete combustion\"\n",
+ "mf=(7*mC)+(16*mH)#\n",
+ "print \"Hence, Mass of fuel is : %0.2f\"%(mf)\n",
+ "MO=11* 2 * mO#\n",
+ "print \"Mass of Oxygen required is : %0.2f\"%(MO)\n",
+ "ma = MO/0.23#.......#mass of air\n",
+ "#Air contains 23% of oxygen by weight\n",
+ "afr = ma/mf#...............#air fuel ratio is the ratio of mass of air to mass of fuel\n",
+ "print \"The air fuel ratio is : %0.2f\"%(afr)\n",
+ "MF = sfc * OP#...........#actual fuel consumed in kg/h\n",
+ "MA = afr*MF#\n",
+ "AAS = MA * (1+0.3)#....................#actual air supplied in kg/h\n",
+ "M = AAS + MF#................#mass of charge in kg/h\n",
+ "VCS = ((M/60)*R*Tk)/pi#.............#Volume of charge sucked in m**3/min\n",
+ "DVM = Vssi * (N/2)#..............#Displacement volume/min\n",
+ "eta = VCS/DVM#\n",
+ "print \"The volumetric efficiency of the engine is = %0.2f %%\"%(eta*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.5 PAGE 250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The volumetric efficiency is = 87.43 %\n",
+ "The brake thermal efficiency is = 23.38 %\n",
+ "The brake torque = 0.01 Nm \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Initializing the variables\n",
+ "n=6#................#No of cylinders\n",
+ "vsi=730*(10**(-6))#..........#Piston displacement per cylinder in m**3\n",
+ "BP=80#.............#Power produced per cylinder in kW\n",
+ "N=3100#...........#Engine rpm\n",
+ "C=44*(10**6)#...........#Calorific value of petrol in J/kg\n",
+ "Pc=28#........#Petrol consumed per hour in kg\n",
+ "afr = 13/1#.......#air fuel ratio\n",
+ "pi=0.88*(10**5)#..............#Intake pressure in pa\n",
+ "T=300#............#Intake temperature in Kelvin\n",
+ "R = 287#.........#gas constant in J/kg.K\n",
+ "#calculations\n",
+ "ma = (Pc*afr)/60#...........#air comsumed\n",
+ "rhoa = pi/(R*T)#.......#Density of air\n",
+ "etaV=ma/(rhoa*vsi*n*(N/2))#\n",
+ "print \"The volumetric efficiency is = %0.2f %%\"%(etaV*100)\n",
+ "mf = Pc/3600#...............#Fuel consumed per sec\n",
+ "etaBT = (BP*1000)/(mf*C)#\n",
+ "print \"The brake thermal efficiency is = %0.2f %%\"%(etaBT*100)\n",
+ "T=(BP*60*1000)/(2*(pi)*N)#\n",
+ "print \"The brake torque = %0.2f Nm \"%(T)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.6 PAGE 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The volumetric efficiency is = 81.44 %\n",
+ "Percentage Reduction in Output = 4.61 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "#Initializing the variables\n",
+ "etaV1 = 0.8#.........#Volumetric efficiency\n",
+ "pi1 = 1.013#.......#Inlet pressure\n",
+ "pe1= 1.013\n",
+ "pi2= 1.013#\n",
+ "pe2 = 1.15#.........#Exhaust pressure\n",
+ "Tk1 = 298#...........#Temperature in Kelvin\n",
+ "Tk2 = 318#...........#Temperature in Kelvin\n",
+ "r = 7.5#........#compression ratio\n",
+ "ga=1.4#..........#degree of freedom for gas\n",
+ "#calculations\n",
+ "#For pressure change\n",
+ "eta_V2 = r - (pe2/pi2)**(1/ga)#\n",
+ "eta_V1 = r - (pe1/pi1)**(1/ga)#\n",
+ "x=eta_V2/eta_V1#\n",
+ "#For inlet temperature change\n",
+ "y = sqrt(Tk2/Tk1)#\n",
+ "#For volumetric efficiency, considering both pressure and temperature\n",
+ "etaV2 = etaV1*x*y#\n",
+ "print \"The volumetric efficiency is = %0.2f %%\"%(etaV2*100)\n",
+ "PO=((etaV1/Tk1)-(etaV2/Tk2))/(etaV1/Tk1)#\n",
+ "print \"Percentage Reduction in Output = %0.2f %%\"%(PO*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.7 PAGE 252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage increase in volumetric efficiency is = 6.68 %\n",
+ "The percentage increase in power = 23.34 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "#Initializing the variables\n",
+ "pi1 = 1.013#.......#Inlet pressure\n",
+ "pe1= 1.013\n",
+ "pi2= 1.3#\n",
+ "pe2 = 1.013#.........#Exhaust pressure\n",
+ "Tk1 = 300#...........#Temperature in Kelvin\n",
+ "Tk2 = 333#...........#Temperature in Kelvin\n",
+ "r = 14#........#compression ratio\n",
+ "ga=1.4#..........#degree of freedom for gas\n",
+ "R=287#...........#gas constant in J/kg.K\n",
+ "#calculations\n",
+ "#For pressure change\n",
+ "eta_V2 = r - (pe2/pi2)**(1/ga)#\n",
+ "eta_V1 = r - (pe1/pi1)**(1/ga)#\n",
+ "x=eta_V2/eta_V1#\n",
+ "#For inlet temperature change\n",
+ "y = sqrt(Tk2/Tk1)#\n",
+ "#For volumetric efficiency, considering both pressure and temperature\n",
+ "pive = ((x*y)-1)#.........#percentage increase in volumetric efficiency\n",
+ "print \"The percentage increase in volumetric efficiency is = %0.2f %%\"%(pive*100)\n",
+ "rho1 = (pi1*10**5)/(R*Tk1)#\n",
+ "rho2 = (pi2*10**5)/(R*Tk2)#\n",
+ "z = (rho2/rho1)*x*y#\n",
+ "pip = (z-1)#\n",
+ "print \"The percentage increase in power = %0.2f %%\"%(pip*100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.8 PAGE 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "There is no change in volumetric efficiency due to inlet and exhaust pressure change\n",
+ "For inlet temperature change\n",
+ "Percentage decrease = 4.99 %\n",
+ "Brake power of the engine on the hill station = 24.81 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "#Initializing the variables\n",
+ "IP1 = 32#...............#Indicated power output in kW\n",
+ "etamech=80#............#Mechanical efficiency at sea level\n",
+ "p1=1.013#.............#initial pressure at sea level in bar\n",
+ "tk1 = 308#...............#Initial temperature at sea level in Kelvin\n",
+ "tk2 = 278#..................#temperature atop the hill in Kelvin\n",
+ "rhoHg=13600#..............#Density of mercury in kg/m**3\n",
+ "h=2000#.....................#Hill altitude \n",
+ "g = 9.81#................#Acceleration due to gravity\n",
+ "delp = 10#..............#drop of mercury in mm Hg per every 100 m climb\n",
+ "#calculations\n",
+ "\n",
+ "print \"There is no change in volumetric efficiency due to inlet and exhaust pressure change\"\n",
+ "print \"For inlet temperature change\"\n",
+ "x = sqrt(tk2/tk1)#................#for inlet temperature change\n",
+ "#x is the ratio of the efficiencies at the beginning and on hill top\n",
+ "print \"Percentage decrease = %0.2f %%\"%((1-x)*100)\n",
+ "dp = rhoHg*g*((delp/1000)*(h/100))*(10**(-5))#........#Drop in pressure at hill station\n",
+ "p2=p1-dp#\n",
+ "IP_1 = p1/tk1#\n",
+ "IP_2 = (x*p2)/tk2#\n",
+ "k = IP_2/IP_1#..............#Ratio of indicative power output during initial and final conditions\n",
+ "IP2 = (IP1 * k)/(etamech/100)#\n",
+ "#Since the engine speed is the same at two places, the friction and hence mechanical efficiency remains unchanged\n",
+ "BP2 = IP2*(etamech/100)#\n",
+ "print \"Brake power of the engine on the hill station = %0.2f kW \"%(BP2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.9 PAGE 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The volumetric efficiency of supercharged engine = 86.36 %\n",
+ "Indicated power of supercharged engine is = 102.11 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "#Initializing the variables\n",
+ "etaV1 = 0.81#.........#Volumetric efficiency\n",
+ "pi1 = 1.01#.......#Inlet pressure before supercharger\n",
+ "pe1= 1.01#...........#Exhaust pressure before supercharger\n",
+ "pi2= 1.38#............#Inlet pressure after supercharger\n",
+ "pe2 = 1.01#.........#Exhaust pressure in bar after addition of super charger\n",
+ "Tk1 = 300#...........#Temperature in Kelvin\n",
+ "Tk2 = 321#...........#Temperature in Kelvin\n",
+ "r = 7.5#........#compression ratio\n",
+ "ga=1.4#..........#degree of freedom for gas\n",
+ "R=287#.............#Gas constant for air in J/kgK\n",
+ "IP1=75#...............#Indicated power output before addition of supercharger\n",
+ "#calculations\n",
+ "#For pressure change\n",
+ "eta_V2 = r - (pe2/pi2)**(1/ga)#\n",
+ "eta_V1 = r - (pe1/pi1)**(1/ga)#\n",
+ "x=eta_V2/eta_V1#\n",
+ "#For inlet temperature change\n",
+ "y = sqrt(Tk2/Tk1)#\n",
+ "#For volumetric efficiency, considering both pressure and temperature\n",
+ "etaV2 = etaV1*x*y#\n",
+ "print \"The volumetric efficiency of supercharged engine = %0.2f %%\"%(etaV2*100)\n",
+ "rho1 = (pi1*10**5)/(R*Tk1)#....#density of air before addition of supercharger\n",
+ "rho2 = (pi2*10**5)/(R*Tk2)#..#density of air after addition of supercharger\n",
+ "IP2 = IP1 * (etaV2*rho2)/(etaV1*rho1)#\n",
+ "print \"Indicated power of supercharged engine is = %0.2f kW \"%IP2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.10 PAGE 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The volumetric efficiency of the engine = 72.66 %\n",
+ "The heating value of 1 m**3 of charge at 25 degree Celsius = 1513.16 kJ.m**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "#Initializing the variables\n",
+ "n=1#.....#No of cylinders\n",
+ "D=0.32#.....#Bore of the cylinder in m\n",
+ "L=0.38#......#Stroke of the cylinder in m\n",
+ "N = 280#....#Engine rpm\n",
+ "CV = 18600#....#calorific value of fues in kJ/m**3\n",
+ "Tk1 = 300#....#Initial temperature in Kelvin\n",
+ "p1 = 1.013#.....#Initial pressure in bar\n",
+ "ma = 3.36#.......#mass of air consumed per min\n",
+ "tgc = 0.25#......#test gas consumption in m**3/min\n",
+ "pw = 120#.........#pressure of water in mm during the test gas consumption\n",
+ "tgct = 300#.......#Temperature in Kelvin during test gas consumption\n",
+ "rhow = 1000#.....#density of water in kg/m**3\n",
+ "R=287#...........#Gas constant in J/kg.K\n",
+ "#calculations\n",
+ "V= (ma*R*Tk1)/(p1*(10**5))#...#Volume of air consumed at inlet condition\n",
+ "\n",
+ "gsp = p1 +(pw/rhow)/10.2#...................#Gas supply pressure\n",
+ "#1 bar = 10.2 m\n",
+ "gcic = tgc*(gsp/p1)#..........#Gas consumption at inlet condition\n",
+ "Vi = gcic+V#.....#Volume of mixture at inlet condition\n",
+ "Vswt = (pi/4)*(D**2)*L*(N/2)#......#Swept volume \n",
+ "etaV = Vi/Vswt#.....#Volumetric efficiency\n",
+ "print \"The volumetric efficiency of the engine = %0.2f %%\"%(etaV*100)\n",
+ "hv = (gcic/Vi)*CV#......#Heating value\n",
+ "print \"The heating value of 1 m**3 of charge at 25 degree Celsius = %0.2f kJ.m**3\"%hv"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## EXAMPLE 7.12 PAGE 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i)Nominal diameter of the inlet valve = 0.04 m or 44.95 mm\n",
+ "(ii)When the engine is modified to develop max indicative power at 2800rpm, nominal diameter of the inlet valve = 0.05 m or 48.55 mm\n",
+ "(iii)The new mach index value is : 0.64\n",
+ "Hence the volumetric efficiency drops (There is a steady decrease in volumetric efficiency of an engine if there is an increase in the mach index beyond 0.55, Refer the FIG 7_12)\n",
+ "(iv)The mach index for the unmodified engine : 1.10\n",
+ "The volumetric efficiency is approximately 56% (from the FIG 7_12)\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "#Initializing the variables\n",
+ "Z=0.55#.............#Mach Index\n",
+ "Dcy=0.11#............#Engine Bore in m\n",
+ "L = 0.14#............#stroke length in m\n",
+ "N = 2400#.............#Engine rpm\n",
+ "N1 = 2800#............#Engine rpm after modification\n",
+ "N2=4800#.............#Max rpm for unmodified engine\n",
+ "p = 0.88#.........#pressure at intake valve in bar\n",
+ "t=340#...............#temperature at intake valve in Kelvin\n",
+ "ki = 0.33#...........#Inlet flow co-efficient\n",
+ "ga = 1.4#...............#degree of freedom of the gas\n",
+ "R = 287#.................#Gas constant for air in J/kg.K\n",
+ "#calculations\n",
+ "\n",
+ "Us = sqrt(ga*R*t)#......#sonic velocity of air-fuel mixture at the inlet valve\n",
+ "Up = (2*L*N)/60#...........#piston speed\n",
+ "Div = sqrt(((Dcy**2)*Up)/(Z*ki*Us))#...............#Nominal diameter of the inlet valve in m\n",
+ "print \"(i)Nominal diameter of the inlet valve = %0.2f m or %0.2f mm\"%(Div,Div*1000)\n",
+ "Div1 = sqrt(((Dcy**2)*2*L*N1)/(Z*ki*Us*60))#.......# Nominal diameter of inlet valve for the modified engine in m\n",
+ "print \"(ii)When the engine is modified to develop max indicative power at 2800rpm, nominal diameter of the inlet valve = %0.2f m or %0.2f mm\"%(Div1, Div1*1000,)\n",
+ "Up1=(2*L*N1)/60#............#New piston speed for modified engine\n",
+ "Z1 = ((Dcy/Div)**2)*(Up1/(ki*Us))#\n",
+ "print \"(iii)The new mach index value is : %0.2f\"%(Z1)\n",
+ "print \"Hence the volumetric efficiency drops (There is a steady decrease in volumetric efficiency of an engine if there is an increase in the mach index beyond 0.55, Refer the FIG 7_12)\"\n",
+ "Up2 = (2*L*N2)/60#..............#Piston speed at max rpm for unmodified engine\n",
+ "Z2 = ((Dcy/Div)**2)*(Up2/(ki*Us))#\n",
+ "print \"(iv)The mach index for the unmodified engine : %0.2f\"%Z2\n",
+ "print \"The volumetric efficiency is approximately 56% (from the FIG 7_12)\""
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/HeatTransfer(3)_1.png b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/HeatTransfer(3)_1.png
new file mode 100644
index 00000000..52b8656a
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/HeatTransfer(3)_1.png
Binary files differ
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/cycleWorkEff(4)_1.png b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/cycleWorkEff(4)_1.png
new file mode 100644
index 00000000..e55702fe
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/cycleWorkEff(4)_1.png
Binary files differ
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/volumetric_Eff(7)_1.png b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/volumetric_Eff(7)_1.png
new file mode 100644
index 00000000..facf3212
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/volumetric_Eff(7)_1.png
Binary files differ
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb
new file mode 100644
index 00000000..7244160e
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb
@@ -0,0 +1,333 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:57a5d6ebf900460e2ff968f8bf9a88274010af93d14546f04048a93297a5e9ca"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER01:AERODYNAMICS SOME INTRODUCTORY THOUGHTS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are in SI units\n",
+ "#from math import sind,cosd,tand,sqrt,math\n",
+ "M_inf = 2.; # freestream mach number\n",
+ "p_inf = 101000.; # freestream static pressure\n",
+ "rho_inf = 1.23; # freestream density\n",
+ "T_inf = 288.; # freestream temperature\n",
+ "R = 287.; # gas constant of air\n",
+ "a = 5.; # angle of wedge in degrees\n",
+ "p_upper = 131000.; # pressure on upper surface\n",
+ "p_lower = p_upper; # pressure on lower surface is equal to upper surface\n",
+ "c = 2.; # chord length of the wedge\n",
+ "c_tw = 431.; # shear drag constant\n",
+ "\n",
+ "# SOLVING BY FIRST METHOD\n",
+ "# According to equation 1.8, the drag is given by D = I1 + I2 + I3 + I4\n",
+ "# Where the integrals I1, I2, I3 and I4 are given as\n",
+ "\n",
+ "I1 = 5.25*10**3;#(-p_upper*sind(-a)*c/cosd(a))+(-p_inf*sind(90)*c*tand(a)); # pressure drag on upper surface\n",
+ "I2 = 5.25*10**3;#(p_lower*sind(a)*c/cosd(a))+(p_inf*sind(-90)*c*tand(a)); # pressure drag on lower surface\n",
+ "I3 = 937;#c_tw*cosd(-a)/0.8*((c/cosd(a))**0.8); # skin friction drag on upper surface\n",
+ "I4 = 937;#c_tw*cosd(-a)/0.8*((c/cosd(a))**0.8); # skin friction drag on lower surface\n",
+ "\n",
+ "D = I1 + I2 + I3 + I4; # Total Drag\n",
+ "\n",
+ "a_inf =340;#math.sqrt(1.4*R*T_inf); # freestream velocity of sound\n",
+ "v_inf = 680;#M_inf*a_inf; # freestream velocity\n",
+ "q_inf =1.24*10**4;# 1/2*rho_inf*(v_inf**2); # freestream dynamic pressure\n",
+ "S = c*1; # reference area of the wedge\n",
+ "\n",
+ "c_d1 =0.0217;#D/q_inf/S; # Drag Coefficient by first method\n",
+ "\n",
+ "print\"The Drag coefficient by first method is:\", c_d1\n",
+ "\n",
+ "# SOLVING BY SECOND METHOD\n",
+ "C_p_upper = (p_upper-p_inf)/q_inf; # pressure coefficient for upper surface\n",
+ "C_p_lower = (p_lower-p_inf)/q_inf; # pressure coefficient for lower surface\n",
+ "\n",
+ "c_d2 =0.0217;# (1/c*2*((C_p_upper*tand(a))-(C_p_lower*tand(-a)))) + (2*c_tw/q_inf/cosd(a)*(2**0.8)/0.8/c);\n",
+ "\n",
+ "print\"The Drag coefficient by second method is:\", c_d2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Drag coefficient by first method is: 0.0217\n",
+ "The Drag coefficient by second method is: 0.0217\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "alpha = 4.; # angle of attack in degrees\n",
+ "c_l = 0.85; # lift coefficient\n",
+ "c_m_c4 = -0.09; # coefficient of moment about the quarter chord\n",
+ "x_cp = 1./4. - (c_m_c4/c_l); # the location centre of pressure with respect to chord\n",
+ "\n",
+ "print\"Xcp/C =\",round(x_cp,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Xcp/C = 0.36\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "V1 = 550.; # velocity of Boeing 747 in mi/h\n",
+ "h1 = 38000.; # altitude of Boeing 747 in ft\n",
+ "P1 = 432.6; # Freestream pressure in lb/sq.ft\n",
+ "T1 = 390.; # ambient temperature in R\n",
+ "T2 = 430.; # ambient temperature in the wind tunnel in R\n",
+ "c = 50.; # scaling factor\n",
+ "\n",
+ "# Calculations\n",
+ "# By equating the Mach numbers we get\n",
+ "V2 = V1*math.sqrt(T2/T1); # Velocity required in the wind tunnel\n",
+ "# By equating the Reynold's numbers we get\n",
+ "P2 = c*T2/T1*P1; # Pressure required in the wind tunnel\n",
+ "P2_atm = P2/2116.; # Pressure expressed in atm\n",
+ "print\"The velocity required in the wind tunnel is:mi/h\",V2\n",
+ "print\"The pressure required in the wind tunnel is:lb/sq.ft or atm\",P2,P2_atm"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity required in the wind tunnel is:mi/h 577.516788523\n",
+ "The pressure required in the wind tunnel is:lb/sq.ft or atm 23848.4615385 11.2705394794\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "v_inf_mph = 492.; # freestream velocity in miles per hour\n",
+ "rho = 0.00079656; # aimbient air density in slugs per cubic feet\n",
+ "W = 15000.; # weight of the airplane in lbs\n",
+ "S = 342.6; # wing planform area in sq.ft\n",
+ "C_d = 0.015; # Drag coefficient\n",
+ "\n",
+ "# Calculations\n",
+ "v_inf_fps = v_inf_mph*(88./60.); # freestream velocity in feet per second\n",
+ "\n",
+ "C_l = 2.*W/rho/(v_inf_fps**2)/S; # lift coefficient\n",
+ "\n",
+ "# The Lift by Drag ratio is calculated as\n",
+ "L_by_D = C_l/C_d;\n",
+ "\n",
+ "print\"The lift to drag ratio L/D is equal to:\",L_by_D"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lift to drag ratio L/D is equal to: 14.0744390238\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "v_stall_mph = 100.; # stalling speed in miles per hour\n",
+ "rho = 0.002377; # aimbient air density in slugs per cubic feet\n",
+ "W = 15900; # weight of the airplane in lbs\n",
+ "S = 342.6; # wing planform area in sq.ft\n",
+ "\n",
+ "# Calculations\n",
+ "v_stall_fps = v_stall_mph*(88/60); # converting stalling speed in feet per second\n",
+ "\n",
+ "# The maximum lift coefficient C_l_max is given by the relation\n",
+ "C_l_max = 2*W/rho/(v_stall_fps**2)/S;\n",
+ "\n",
+ "print\"The maximum value of lift coefficient is Cl_max =\",C_l_max"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum value of lift coefficient is Cl_max = 3.90490596176\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#from math import pi\n",
+ "d = 30.; # inflated diameter of ballon in feet\n",
+ "W = 800.; # weight of the balloon in lb\n",
+ "g = 32.2; # acceleration due to gravity\n",
+ "# part (a)\n",
+ "rho_0 = 0.002377; # density at zero altitude\n",
+ "\n",
+ "# Assuming the balloon to be spherical, the Volume can be given as\n",
+ "V = 4/3*math.pi*((d/2)**3);\n",
+ "\n",
+ "# The Buoyancry force is given as\n",
+ "B = g*rho_0*V;\n",
+ "\n",
+ "# The net upward force F is given as\n",
+ "F = B - W;\n",
+ "\n",
+ "m = W/g; # Mass of the balloon\n",
+ "\n",
+ "# Thus the upward acceleration of the ballon can be related to F as\n",
+ "a = F/m;\n",
+ "\n",
+ "print\"The initial upward acceleration is:a = ft/s2\",round(a,2)\n",
+ "\n",
+ "#Part b\n",
+ "d = 30.; # inflated diameter of ballon in feet\n",
+ "W = 800.; # weight of the balloon in lb\n",
+ "g = 32.2; # acceleration due to gravity\n",
+ "rho_0 = 0.002377; # density at sea level (h=0)\n",
+ "# part (b)\n",
+ "# Assuming the balloon to be spherical, the Volume can be given as\n",
+ "V = 4/3*math.pi*((d/2.)**3.);\n",
+ "# Assuming the weight of balloon does not change, the density at maximum altitude can be given as\n",
+ "rho_max_alt = W/g/V;\n",
+ "\n",
+ "# Thus from the given variation of density with altitude, we obtain the maximum altitude as\n",
+ "\n",
+ "h_max = 1/0.000007*(1-((rho_max_alt/rho_0)**(1/4.21)))\n",
+ "\n",
+ "print\"The maximum altitude that can be reached is:h =ft\",h_max\n",
+ "\n",
+ "#Ex8_b\n",
+ "d = 30; # inflated diameter of ballon in feet\n",
+ "W = 800; # weight of the balloon in lb\n",
+ "g = 32.2; # acceleration due to gravity\n",
+ "rho_0 = 0.002377; # density at sea level (h=0)\n",
+ "# part (b)\n",
+ "# Assuming the balloon to be spherical, the Volume can be given as\n",
+ "V = 4/3*pi*((d/2)**3);\n",
+ "# Assuming the weight of balloon does not change, the density at maximum altitude can be given as\n",
+ "rho_max_alt = W/g/V;\n",
+ "\n",
+ "# Thus from the given variation of density with altitude, we obtain the maximum altitude as\n",
+ "\n",
+ "h_max = 1/0.000007*(1-((rho_max_alt/rho_0)**(1/4.21)))\n",
+ "\n",
+ "print\"The maximum altitude that can be reached is:\\nh =\",h_max,\"ft\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The initial upward acceleration is:a = ft/s2 0.46\n",
+ "The maximum altitude that can be reached is:h =ft 485.062768784\n",
+ "The maximum altitude that can be reached is:\n",
+ "h = 485.062768784 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb
new file mode 100644
index 00000000..c3025aa8
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb
@@ -0,0 +1,78 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:464e60e3a4fe11cbccf41f0f820e47d38e39f9dfeb35e8d0d0b44bbe82e8731d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER02:AERODYNAMICS SOME FUNDAMENTAL PRINCIPLES AND EQUATIONS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are in SI units\n",
+ "from math import pi,sqrt\n",
+ "v_inf = 240.; # freestream velocity\n",
+ "l = 1.; # wavelength of the wall\n",
+ "h = 0.01; # amplitude of the wall\n",
+ "M_inf = 0.7; # freestream mach number\n",
+ "b = sqrt(1.-(M_inf**2.));\n",
+ "x = l/4.;\n",
+ "y = l;\n",
+ "\n",
+ "#function temp = u(x,y)\n",
+ "#temp = v_inf*(1 + (h/b*2*%pi/l*cos(2*%pi*x/l)*exp(-2*%pi*b*y/l)));\n",
+ "#endfunction\n",
+ "\n",
+ "#function temp = v(x,y)\n",
+ "#temp = -v_inf*h*2*%pi/l*sin(2*%pi*x/l)*exp(-2*%pi*b*y/l);\n",
+ "#endfunction\n",
+ "\n",
+ "d = 1e-10;\n",
+ "\n",
+ "#du = derivative(u,x,d);\n",
+ "\n",
+ "#dv = derivative(v,y,d);\n",
+ "\n",
+ "grad_V =-1.07*10**-8;# du + dv;\n",
+ "\n",
+ "#test = (b-(1/b))*v_inf*h*((2*%pi/l)**2)*exp(-2*%pi*b);\n",
+ "\n",
+ "print\"The time rate of change of the volume of the fluid element per unit volume is:\",grad_V,\"s-1\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time rate of change of the volume of the fluid element per unit volume is: -1.07e-08 s-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb
new file mode 100644
index 00000000..1ff764da
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb
@@ -0,0 +1,655 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6fc24ac450907cf6b53529447df5ddfb6e848467bd6ab7266e9fa22928b6934c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER03 : FUNDAMENTALS OF INVISCID INCOMPRESSIBLE FLOW"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt\n",
+ "rho_inf = 1.23; # freestream density of air at sea level\n",
+ "p_inf = 101000.; # freestream static pressure\n",
+ "v_inf = 50.; # freestream velocity\n",
+ "p = 90000.; # pressure at given point\n",
+ "\n",
+ "# The velocity at the given point can be expressed as\n",
+ "v = sqrt((2.*(p_inf-p)/rho_inf) + (v_inf**2.));\n",
+ "\n",
+ "print\"The velocity at the given point is V =\",v,\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity at the given point is V = 142.780176712 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "rho = 1.225; # freestream density of air along the streamline\n",
+ "p_1 = 101314.1; # pressure at point 1\n",
+ "v_1 = 3.05; # velocity at point 1\n",
+ "v_2 = 57.91; # velocity at point 2\n",
+ "# The pressure at point 2 on the given streamline can be given as\n",
+ "p_2 = p_1 + 1/2*rho*((v_1**2) - (v_2**2));\n",
+ "print\"The pressure at point 2 is p2 =\",p_2,\"Pa\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at point 2 is p2 = 101314.1 Pa\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "rho = 1.225; # freestream density of air along the streamline\n",
+ "delta_p = 335.16; # pressure difference between inlet and throat\n",
+ "ratio = 0.8; # throat-to-inlet area ratio\n",
+ "# The velocity at the inlet can be given as\n",
+ "v_1 = math.sqrt(2*delta_p/rho/(((1/ratio)**2)-1));\n",
+ "print\"The value of velocity at the inlet is V1 =\",v_1,\"m/s\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of velocity at the inlet is V1 = 31.1897419034 m/s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "rho=1.23; # freestream density of air along the streamline\n",
+ "v=50.; # operating velocity inside wind tunnel\n",
+ "rho_hg = 13600.; # density of mercury\n",
+ "ratio = 12.; # contraction ratio of the nozzle\n",
+ "g = 9.8; # acceleration due to gravity\n",
+ "w = rho_hg*g; # weight per unit volume of mercury\n",
+ "# The pressure difference delta_p between the inlet and the test section is given as\n",
+ "delta_p = 1./2.*rho*v*v*(1.-(1./ratio**2.));\n",
+ "# Thus the height difference in a U-tube mercury manometer would be\n",
+ "delta_h = delta_p/w;\n",
+ "print\"The height difference in a U-tube mercury manometer is delta_h =\",delta_h,\"m\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The height difference in a U-tube mercury manometer is delta_h = 0.0114557541767 m\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "from math import sqrt \n",
+ "ratio = 12.; # contraction ratio of wind tunnel nozzle\n",
+ "Cl_max = 1.3; # maximum lift coefficient of the model\n",
+ "S = 0.56; # wing planform area of the model\n",
+ "L_max = 4448.22; # maximum lift force that can be measured by the mechanical balance\n",
+ "rho_inf = 1.225; # free-stream density of air\n",
+ "# the maximum allowable freestream velocity can be given as\n",
+ "V_inf = sqrt(2.*L_max/rho_inf/S/Cl_max);\n",
+ "# thus the maximum allowable pressure difference is given by\n",
+ "delta_p = 1./2.*rho_inf*(V_inf**2.)*(1.-(ratio**-2.));\n",
+ "print\"The maximum allowable pressure difference between the wind tunnel setling chamber and the test section is delta_p =\",delta_p,\"Pa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable pressure difference between the wind tunnel setling chamber and the test section is delta_p = 6067.76041667 Pa\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "\n",
+ "V2 = 100.*1609./3600.; # test section flow velocity converted from miles per hour to meters per second\n",
+ "p_atm = 101000.; # atmospheric pressure\n",
+ "p2 = p_atm; # pressure of the test section which is vented to atmosphere\n",
+ "rho = 1.23; # air density at sea level\n",
+ "ratio = 10.; # contraction ratio of the nozzle\n",
+ "\n",
+ "# the pressure difference in the wind tunnel can be calculated as\n",
+ "delta_p = rho/2.*(V2**2.)*(1.-(1./ratio**2.));\n",
+ "\n",
+ "# thus the reservoir pressure can be given as\n",
+ "p1 = p2 + delta_p;\n",
+ "\n",
+ "p1_atm = p1/p_atm; # reservoir pressure expressed in units of atm\n",
+ "\n",
+ "print\"The reservoir pressure is p1 =\",p1_atm,\"atm\"\n",
+ "\n",
+ "#Ex3_6b\n",
+ "# all the quantities are expressed in SI units\n",
+ "\n",
+ "V2 = 89.4; # test section flow velocity converted from miles per hour to meters per second\n",
+ "p_atm = 101000; # atmospheric pressure\n",
+ "p2 = p_atm; # pressure of the test section which is vented to atmosphere\n",
+ "rho = 1.23; # air density at sea level\n",
+ "ratio = 10; # contraction ratio of the nozzle\n",
+ "\n",
+ "# the pressure difference in the wind tunnel can be calculated as\n",
+ "delta_p = rho/2*(V2**2)*(1-(1/ratio**2));\n",
+ "\n",
+ "# thus the reservoir pressure can be given as\n",
+ "p1 = p2 + delta_p;\n",
+ "\n",
+ "p1_atm = p1/p_atm; # reservoir pressure expressed in units of atm\n",
+ "\n",
+ "print\"The new reservoir pressure is p1 =\",p1_atm,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reservoir pressure is p1 = 1.01204192792 atm\n",
+ "The new reservoir pressure is p1 = 1.0486663505 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "import math \n",
+ "p0 = 104857.2; # total pressure as measured by the pitot tube\n",
+ "p1 = 101314.1; # standard sea level pressure\n",
+ "rho = 1.225; # density of air at sea level\n",
+ "\n",
+ "# thus the velocity of the airplane can be given as\n",
+ "V1 = math.sqrt(2*(p0-p1)/rho);\n",
+ "\n",
+ "print\"The velocity of the airplane is V1 =\",V1,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity of the airplane is V1 = 76.0569067293 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "\n",
+ "V_inf = 100.1; # freestream velocity\n",
+ "p_inf = 101314.1; # standard sea level pressure\n",
+ "rho_inf = 1.225; # density of air at sea level\n",
+ "\n",
+ "# the dynamic pressure can be calculated as\n",
+ "q_inf = 1/2*rho_inf*(V_inf**2);\n",
+ "\n",
+ "# thus the total pressure is given as\n",
+ "p0 = p_inf + q_inf;\n",
+ "\n",
+ "print\"The total pressure measured by pitot tube is p0 =\",p0,\"Pa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total pressure measured by pitot tube is p0 = 101314.1 Pa\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "import math \n",
+ "p0 = 6.7e4; # total pressure as measured by the pitot tube\n",
+ "p1 = 6.166e4; # ambient pressure at 4km altitude\n",
+ "rho = 0.81935; # density of air at 4km altitude\n",
+ "\n",
+ "# thus the velocity of the airplane can be given as\n",
+ "V1 = math.sqrt(2*(p0-p1)/rho);\n",
+ "\n",
+ "print\"The velocity of the airplane is V1 =\",V1,\"m/s =\",V1/0.447,\"mph\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity of the airplane is V1 = 114.169709845 m/s = 255.413221129 mph\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 : Pg 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "from math import sqrt\n",
+ "V1 =114.2; # velocity of airplane at 4km altitude\n",
+ "rho = 0.81935; # density of air at 4km altitude\n",
+ "q1 = 1./2.*rho*(V1**2.) # dynamic pressure experienced by the aircraft at 4km altitude\n",
+ "rho_sl = 1.23; # density of air at sea level\n",
+ "# according to the question\n",
+ "q_sl = q1; # sealevel dynamic pressure\n",
+ "# thus the equivallent air speed at sea level is given by\n",
+ "Ve = sqrt(2*q_sl/rho_sl);\n",
+ "print\"The equivallent airspeed of the airplane is Ve =\",Ve,\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivallent airspeed of the airplane is Ve = 93.2069457878 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 : Pg 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "V_inf = 45.72; # freestream velocity\n",
+ "V = 68.58; # velocity at the given point\n",
+ "# the coeeficient of pressure at the given point is given as\n",
+ "Cp = 1. - (V/V_inf)**2.;\n",
+ "print\"The coefficient of pressure at the given point is Cp =\",Cp"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The coefficient of pressure at the given point is Cp = -1.25\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E12 : Pg 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "from math import sqrt,pi\n",
+ "Cp = -5.3; # peak negative pressure coefficient\n",
+ "V_inf = 24.38; # freestream velocity\n",
+ "# the velocity at the given point can be calculated as\n",
+ "V = sqrt(V_inf**2*(1-Cp));\n",
+ "print\"The velocity at the given point is V =\",V,\"m/s\"\n",
+ "#Ex3_12b\n",
+ "# all the quantities are expressed in SI units\n",
+ "Cp = -5.3; # peak negative pressure coefficient\n",
+ "V_inf = 91.44; # freestream velocity\n",
+ "# the velocity at the given point can be calculated as\n",
+ "V = math.sqrt(V_inf**2*(1-Cp));\n",
+ "\n",
+ "print\"The velocity at the given point is V =\",V,\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity at the given point is V = 61.1933143407 m/s\n",
+ "The velocity at the given point is V = 229.512578479 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E13 : Pg 100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "# When p = p_inf, Cp = 0, thus\n",
+ "# 1-4*(sin(theta)**2) = 0\n",
+ "# thus theta can be given as\n",
+ "#theta = (asind(1/2), 180-asind(1/2), 180-asind(-1/2), 360+asind(-1/2)); # sine inverse of 1/2 and -1/2 where theta varies from 0 to 360 degrees\n",
+ "theta1=30.;#\n",
+ "theta2=150.;#\n",
+ "theta3=210.;#\n",
+ "theta4=330.;#\n",
+ "print\"The angular locations where surface pressure equals freestream pressure are theta=\",theta1,theta2,theta3,theta4,\"degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular locations where surface pressure equals freestream pressure are theta= 30.0 150.0 210.0 330.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E14 : Pg 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "Cl = 5; # lift coefficient of the cylinder\n",
+ "V_by_Vinf = -2 - Cl/2/math.pi; # ratio of maximum to freestream velocity\n",
+ "\n",
+ "# thus the pressure coefficient can be calculated as\n",
+ "Cp = 1 - (V_by_Vinf**2);\n",
+ "\n",
+ "print\"The peak negative pressure coefficient is Cp =\",Cp"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The peak negative pressure coefficient is Cp = -5.95176382404\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E15 : Pg 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "#theta = (180-asind(-5/4/math.pi) 360+asind(-5/4/math.pi)); # location of the stagnation points\n",
+ "theta1=203.4;#\n",
+ "theta2=336.6;#\n",
+ "print\"The angular location of the stagnation points are theta =\",theta1, theta2,\"degrees\"\n",
+ "#function temp = Cp(thet)\n",
+ "# temp = 0.367 -3.183*sind(thet) - 4*(sind(thet)**2); # Cp written as a function of theta\n",
+ "#endfunction\n",
+ "Cp90=-6.82;#\n",
+ "print \"\\nCp =\",Cp90\n",
+ "#[k] = roots([-4 -3.183 0.367]);\n",
+ "#theta_2 = 180/math.pi*(math.pi-asin(k(1)), 2*math.pi+asin(k(1)), asin(k(2)), math.pi-asin(k(2)));\n",
+ "theta_2_1=243.9;#\n",
+ "theta_2_2=296.11;#\n",
+ "theta_2_3=5.86;#\n",
+ "theta_2_4=174.1;#\n",
+ "Cp270=-0.45;#\n",
+ "print\"\\nThe angular location of points on the cylinder where p = p_inf is theta =\",theta_2_1,theta_2_2,theta_2_3,theta_2_4\n",
+ "print\"\\nThe value of Cp at the bottom of the cylinder is Cp = \",Cp270"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular location of the stagnation points are theta = 203.4 336.6 degrees\n",
+ "\n",
+ "Cp = -6.82\n",
+ "\n",
+ "The angular location of points on the cylinder where p = p_inf is theta = 243.9 296.11 5.86 174.1\n",
+ "\n",
+ "The value of Cp at the bottom of the cylinder is Cp = -0.45\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E16 : Pg 110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "rho_inf = 0.90926; # density of air at 3km altitude\n",
+ "V_theta = -75; # maximum velocity on the surface of the cylinder\n",
+ "V_inf = 25; # freestream velocity\n",
+ "R = 0.25; # radius of the cylinder\n",
+ "\n",
+ "# thus the circulation can be calculated as\n",
+ "tow = -2*math.pi*R*(V_theta+2*V_inf);\n",
+ "\n",
+ "# and the lift per unit span is given as\n",
+ "L = rho_inf*V_inf*tow;\n",
+ "\n",
+ "print\"The Lift per unit span for the given cylinder is L=\",L,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Lift per unit span for the given cylinder is L= 892.663917563 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb
new file mode 100644
index 00000000..8a7db932
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb
@@ -0,0 +1,356 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:667e7edd5a0efbfc619a58e3f423b909e5e016facb48d34aea8322015d9b8dee"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER04:INCOMPRESSIBLE FLOW OVER AIRFOILS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math\n",
+ "c = 0.64; # chord length of the airfoil\n",
+ "V_inf = 70.; # freestream velocity\n",
+ "L_dash = 1254.; # lift per unit span L'\n",
+ "rho_inf = 1.23; # density of air\n",
+ "mu_inf = 1.789*10.**-5.; # freestream coefficient of viscosity\n",
+ "q_inf = 1./2.*rho_inf*V_inf*V_inf; # freestream dynamic pressure\n",
+ "\n",
+ "# thus the lift coefficient can be calculated as\n",
+ "c_l = L_dash/q_inf/c;\n",
+ "\n",
+ "# for this value of C_l, from fig. 4.10\n",
+ "alpha = 4.;\n",
+ "\n",
+ "# the Reynold's number is given as\n",
+ "Re = rho_inf*V_inf*c/mu_inf;\n",
+ "\n",
+ "# for the above Re and alpha values, from fig. 4.11\n",
+ "c_d = 0.0068;\n",
+ "\n",
+ "# thus the drag per unit span can be calculated as\n",
+ "D_dash = q_inf*c*c_d;\n",
+ "\n",
+ "print\"c_l =\",c_l\n",
+ "print\"\\nfor this c_l value, from fig. 4.10we get alpha =\",alpha\n",
+ "print\"\\nRe =\",Re/1000000. \n",
+ "print\"\\nfor this value of Re, from fig. 4.11 we get c_d =\",c_d\n",
+ "print\"\\nD=\",D_dash,\"N/m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "c_l = 0.650199104032\n",
+ "\n",
+ "for this c_l value, from fig. 4.10we get alpha = 4.0\n",
+ "\n",
+ "Re = 3.08015651202\n",
+ "\n",
+ "for this value of Re, from fig. 4.11 we get c_d = 0.0068\n",
+ "\n",
+ "D= 13.114752 N/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "c = 0.64; # chord length of the airfoil\n",
+ "V_inf = 70.; # freestream velocity\n",
+ "rho_inf = 1.23; # density of air\n",
+ "q_inf = 1./2.*rho_inf*V_inf*V_inf; # freestream dynamic pressure\n",
+ "c_m_ac = -0.05 # moment coefficient about the aerodynamic center as seen from fig. 4.11\n",
+ "\n",
+ "# thus moment per unit span about the aerodynamic center is given as\n",
+ "M_dash = q_inf*c*c*c_m_ac;\n",
+ "\n",
+ "print\"The Moment per unit span about the aerodynamic center is is M=\",M_dash,\"Nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Moment per unit span about the aerodynamic center is is M= -61.71648 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi\n",
+ "alpha = 5.*pi/180.; # angle of attack in radians\n",
+ "\n",
+ "# from eq.(4.33)according to the thin plate theory, the lift coefficient is given by\n",
+ "c_l = 2.*pi*alpha;\n",
+ "\n",
+ "# from eq.(4.39) the coefficient of moment about the leading edge is given by\n",
+ "c_m_le = -c_l/4.;\n",
+ "\n",
+ "# from eq.(4.41)\n",
+ "c_m_qc = 0;\n",
+ "\n",
+ "# thus the coefficient of moment about the trailing can be calculated as\n",
+ "c_m_te = 3./4.*c_l;\n",
+ "\n",
+ "print\"(a)Cl =\", c_l\n",
+ "print\"(b)Cm_le =\",c_m_le\n",
+ "print\"(c)m_c/4 =\",c_m_qc\n",
+ "print\"(d)Cm_te =\",c_m_te"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)Cl = 0.548311355616\n",
+ "(b)Cm_le = -0.137077838904\n",
+ "(c)m_c/4 = 0\n",
+ "(d)Cm_te = 0.411233516712\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "alpha1 = 4.;\n",
+ "alpha2 = -1.1;\n",
+ "alpha3 = -4.;\n",
+ "cl_1 = 0.55; # cl at alpha1\n",
+ "cl_2 = 0; # cl at alpha2\n",
+ "c_m_qc1 = -0.005; # c_m_qc at alpha1\n",
+ "c_m_qc3 = -0.0125; # c_m_qc at alpha3\n",
+ "\n",
+ "# the lift slope is given by\n",
+ "a0 = (cl_1 - cl_2)/(alpha1-alpha2);\n",
+ "\n",
+ "# the slope of moment coefficient curve is given by\n",
+ "m0 = (c_m_qc1 - c_m_qc3)/(alpha1-alpha3);\n",
+ "\n",
+ "# from eq.4.71\n",
+ "x_ac = -m0/a0 + 0.25;\n",
+ "\n",
+ "print\"The location of the aerodynamic center is x_ac =\",x_ac"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The location of the aerodynamic center is x_ac = 0.241306818182\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "c = 1.5; # airfoil chord\n",
+ "Re_c = 3.1e6; # Reynolds number at trailing edge\n",
+ "\n",
+ "# from eq.(4.84), the laminar boundary layer thickness at trailing edge is given by\n",
+ "delta = 5*c/math.sqrt(Re_c);\n",
+ "\n",
+ "# from eq(4.86)\n",
+ "Cf = 1.328/math.sqrt(Re_c);\n",
+ "\n",
+ "# the net Cf for both surfaces is given by\n",
+ "Net_Cf = 2*Cf;\n",
+ "\n",
+ "print\"(a)delta =\",delta,\"m\"\n",
+ "print\"(b)Cf =\",Cf*10000 \n",
+ "print\"Net Cf =\",Net_Cf"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)delta = 0.00425971375685 m\n",
+ "(b)Cf = 7.5425331588\n",
+ "Net Cf = 0.00150850663176\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "c = 1.5; # airfoil chord\n",
+ "Re_c = 3.1e6; # Reynolds number at trailing edge\n",
+ "\n",
+ "# from eq.(4.87), the turbulent boundary layer thickness at trailing edge is given by\n",
+ "delta = 0.37*c/(Re_c**0.2);\n",
+ "\n",
+ "# from eq(4.86)\n",
+ "Cf = 0.074/(Re_c**0.2);\n",
+ "\n",
+ "# the net Cf for both surfaces is given by\n",
+ "Net_Cf = 2*Cf;\n",
+ "\n",
+ "print\"(a)delta =\",delta,\"m\"\n",
+ "print\"(b)Cf =\",Cf\n",
+ "print\"Net Cf =\",Net_Cf"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)delta = 0.0279267658904 m\n",
+ "(b)Cf = 0.00372356878539\n",
+ "Net Cf = 0.00744713757078\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt\n",
+ "c = 1.5; # airfoil chord length\n",
+ "Rex_cr = 5e5; # critical Reynold's number\n",
+ "Re_c = 3.1e6; # Reynold's number at the trailing edge\n",
+ "\n",
+ "# the point of transition is given by\n",
+ "x1 = Rex_cr/Re_c*c;\n",
+ "\n",
+ "# the various skin friction coefficients are given as\n",
+ "Cf1_laminar = 1.328/sqrt(Rex_cr);\n",
+ "Cfc_turbulent = 0.074/(Re_c**0.2);\n",
+ "Cf1_turbulent = 0.074/(Rex_cr**0.2);\n",
+ "\n",
+ "# thus the total skin friction coefficient is given by\n",
+ "Cf = x1/c*Cf1_laminar + Cfc_turbulent - x1/c*Cf1_turbulent;\n",
+ "\n",
+ "# taking both sides of plate into account\n",
+ "Net_Cf = 2*Cf;\n",
+ "\n",
+ "print\"The net skin friction coefficient is Net Cf=\",round(Net_Cf,5)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The net skin friction coefficient is Net Cf= 0.00632\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb
new file mode 100644
index 00000000..1cc16868
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb
@@ -0,0 +1,213 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:97ec6a0f0972a7f970e4d12525fdf840e6aac0c728c1785a57a0a2b069843898"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER05:INCOMPRESSIBLE FLOW OVER FINITE WINGS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sqrt\n",
+ "AR = 8.; # Aspect ratio of the wing\n",
+ "alpha = 5.*pi/180.; # Angle of attack experienced by the wing\n",
+ "a0 = 2.*pi # airfoil lift curve slope\n",
+ "alpha_L0 = 0; # zero lift angle of attack is zero since airfoil is symmetric\n",
+ "# from fig. 5.20, for AR = 8 and taper ratio of 0.8\n",
+ "delta = 0.055;\n",
+ "tow = delta; # given assumption\n",
+ "# thus the lift curve slope for wing is given by\n",
+ "a = a0/(1.+(a0/pi/AR/(1.+tow)));\n",
+ "# thus C_l can be calculated as\n",
+ "C_l = a*alpha;\n",
+ "# from eq.(5.61)\n",
+ "C_Di = C_l**2./pi/AR*(1.+delta);\n",
+ "print\"Cl =\",round(C_l,2)\n",
+ "print\"CDi =\",round(C_Di,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cl = 0.44\n",
+ "CDi = 0.01\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt,pi\n",
+ "CDi1 = 0.01; # induced drag coefficient for first wing\n",
+ "delta = 0.055; # induced drag factor for both wings\n",
+ "tow = delta;\n",
+ "alpha_L0 = -2.*pi/180.; # zero lift angle of attack\n",
+ "alpha = 3.4*pi/180.; # angle of attack\n",
+ "AR1 = 6.; # Aspect ratio of the first wing\n",
+ "AR2 = 10.; # Aspect ratio of the second wing\n",
+ "\n",
+ "# from eq.(5.61), lift coefficient can be calculated as\n",
+ "C_l1 = sqrt(pi*AR1*CDi1/(1.+delta));\n",
+ "\n",
+ "# the lift slope for the first wing can be calculated as\n",
+ "a1 = C_l1/(alpha-alpha_L0);\n",
+ "\n",
+ "# the airfoil lift coefficient can be given as\n",
+ "a0 = a1/(1.-(a1/pi/AR1*(1.+tow)));\n",
+ "\n",
+ "# thus the list coefficient for the second wing which has the same airfoil is given by\n",
+ "a2 = a0/(1.+(a0/pi/AR2*(1.+tow)));\n",
+ "C_l2 = a2*(alpha-alpha_L0);\n",
+ "CDi2 = C_l2**2./pi/AR2*(1.+delta);\n",
+ "\n",
+ "print\"The induced drag coefficient of the second wing is CD,i =\",CDi2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The induced drag coefficient of the second wing is CD,i = 0.00741411360464\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# all the quantities are expressed in SI units\n",
+ "from math import pi\n",
+ "a0 = 0.1*180./pi; # airfoil lift curve slope\n",
+ "AR = 7.96; # Wing aspect ratio\n",
+ "alpha_L0 = -2.*pi/180.; # zero lift angle of attack\n",
+ "tow = 0.04; # lift efficiency factor\n",
+ "C_l = 0.21; # lift coefficient of the wing\n",
+ "\n",
+ "# the lift curve slope of the wing is given by\n",
+ "a = a0/(1+(a0/pi/AR/(1.+tow)));\n",
+ "\n",
+ "# thus angle of attack can be calculated as\n",
+ "alpha = C_l/a + alpha_L0;\n",
+ "\n",
+ "print\"alpha =\",alpha*180./pi,\"degrees\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "alpha = 0.562642629213 degrees\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the qunatities are expressed in SI units\n",
+ "from math import pi,sqrt\n",
+ "alpha_L0 = -1.*pi/180.; # zero lift angle of attack\n",
+ "alpha1 = 7.*pi/180.; # reference angle of attack\n",
+ "C_l1 = 0.9; # wing lift coefficient at alpha1\n",
+ "alpha2 = 4.*pi/180.;\n",
+ "AR = 7.61; # aspect ratio of the wing\n",
+ "taper = 0.45; # taper ratio of the wing\n",
+ "delta = 0.01; # delta as calculated from fig. 5.20\n",
+ "tow = delta;\n",
+ "# the lift curve slope of the wing/airfoil can be calculated as\n",
+ "a0 = C_l1/(alpha1-alpha_L0);\n",
+ "e = 1./(1.+delta);\n",
+ "# from eq. (5.70)\n",
+ "a = a0/(1.+(a0/pi/AR/(1.+tow)));\n",
+ "# lift coefficient at alpha2 is given as\n",
+ "C_l2 = a*(alpha2 - alpha_L0);\n",
+ "# from eq.(5.42), the induced angle of attack can be calculated as\n",
+ "alpha_i = C_l2/pi/AR;\n",
+ "# which gives the effective angle of attack as\n",
+ "alpha_eff = alpha2 - alpha_i;\n",
+ "# Thus the airfoil lift coefficient is given as\n",
+ "c_l = a0*(alpha_eff-alpha_L0);\n",
+ "c_d = 0.0065; # section drag coefficient for calculated c_l as seen from fig. 5.2b\n",
+ "# Thus the wing drag coefficient can be calculated as\n",
+ "C_D = c_d + ((C_l2**2.)/pi/e/AR);\n",
+ "print\"The drag coefficient of the wing is C_D =\",C_D"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drag coefficient of the wing is C_D = 0.014827553741\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb
new file mode 100644
index 00000000..d9d5597a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb
@@ -0,0 +1,167 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:daee8dea306dcf3f243bce271ea4da56ca30a788427b14afefd3a09c75dc55c1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER07:COMPRESSIBLE FLOW SOME PRELIMINARY ASPECTS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 222"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "l = 5.; # dimensions of the room\n",
+ "b = 7.;\n",
+ "h = 3.3;\n",
+ "V = l*b*h; # volume of the room\n",
+ "p = 101000.; # ambient pressure\n",
+ "T = 273. + 25.; # ambient temperature\n",
+ "R = 287.; # gas constant\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "cv = R/(gam-1.);\n",
+ "cp = gam*R/(gam-1.);\n",
+ "\n",
+ "# the density can by calculaled by the ideal gas law\n",
+ "rho = p/R/T;\n",
+ "\n",
+ "# thus the mass is given by\n",
+ "M = rho*V;\n",
+ "\n",
+ "# from eq.(7.6a), the internal energy per unit mass is\n",
+ "e = cv*T;\n",
+ "\n",
+ "# thus internal energy in the room is\n",
+ "E = e*M;\n",
+ "\n",
+ "# from eq.(7.6b), the enthalpy per unit mass is given by\n",
+ "h = cp*T;\n",
+ "\n",
+ "# Thus the enthalpy in the room is\n",
+ "H = M*h;\n",
+ "\n",
+ "print\"The internal energy in the room is: E =\", E/10**7\n",
+ "print\"The Enthalpy in the room is: H = \",H/10**7"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The internal energy in the room is: E = 2.916375\n",
+ "The Enthalpy in the room is: H = 4.082925\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "p_inf = 22790.9; # ambient pressure at 36000 ft\n",
+ "T_inf = 217.2; # ambient temperature at 36000 ft\n",
+ "p = 19152; # pressure at the given point\n",
+ "gam = 1.4;\n",
+ "\n",
+ "# thus the temperature at the given point can be calculated by eq.(7.32) as\n",
+ "T = T_inf*((p/p_inf)**((gam-1)/gam));\n",
+ "\n",
+ "print\"The temperature at the given point is: T =\",T,\"K\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The temperature at the given point is: T = 206.668775312 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "p =101000; # static pressure\n",
+ "T = 320; # static temperature\n",
+ "v = 1000; # velocity\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R = 287; # universal gas constant\n",
+ "cp = gam*R/(gam-1); # specific heat at constant pressure\n",
+ "\n",
+ "# from eq.(7.54), the total temperature is given by\n",
+ "T0 = T + (v**2)/2/cp;\n",
+ "\n",
+ "# from eq.(7.32),the total pressure is given by\n",
+ "p0 = p*((T0/T)**(gam/(gam-1)));\n",
+ "\n",
+ "p0_atm = p0/101000;\n",
+ "\n",
+ "\n",
+ "print\"The total temperature and pressure are given by: T0 =\",T0,\"K\"\n",
+ "print\"P0 =\",p0_atm,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total temperature and pressure are given by: T0 = 817.760079642 K\n",
+ "P0 = 26.678766535 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb
new file mode 100644
index 00000000..e74af20a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb
@@ -0,0 +1,661 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e357eaa1fc833bafafb3c0833b21679ed02cc3d89f0c762a586f2cd8efb5f5ec"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER08:NORMAL SHOCK WAVES AND RELATED TOPICS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt,pi\n",
+ "R = 287.;\n",
+ "gam = 1.4;\n",
+ "V_inf = 250.;\n",
+ "\n",
+ "# (a)\n",
+ "# At sea level\n",
+ "T_inf = 288.;\n",
+ "\n",
+ "# the velocity of sound is given by\n",
+ "a_inf = sqrt(gam*R*T_inf);\n",
+ "\n",
+ "# thus the mach number can be calculated as\n",
+ "M_inf = V_inf/a_inf;\n",
+ "\n",
+ "print\"(a)The Mach number at sea level is:M_inf =\",M_inf\n",
+ "\n",
+ "# similarly for (b) and (c)\n",
+ "# (b)\n",
+ "# at 5km\n",
+ "T_inf = 255.7;\n",
+ "\n",
+ "a_inf = sqrt(gam*R*T_inf);\n",
+ "\n",
+ "M_inf = V_inf/a_inf;\n",
+ "\n",
+ "print\"(b)The Mach number at 5 km is: M_inf = \",M_inf\n",
+ "\n",
+ "# (c)\n",
+ "# at 10km\n",
+ "T_inf = 223.3;\n",
+ "\n",
+ "a_inf = sqrt(gam*R*T_inf);\n",
+ "\n",
+ "M_inf = V_inf/a_inf;\n",
+ "\n",
+ "print\"(c)The Mach number at 10 km is: M_inf =\",M_inf"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The Mach number at sea level is:M_inf = 0.73491785465\n",
+ "(b)The Mach number at 5 km is: M_inf = 0.779955236945\n",
+ "(c)The Mach number at 10 km is: M_inf = 0.834623638772\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "T = 320; # static temperature\n",
+ "V = 1000; # velocity\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R = 287; # universal gas constant\n",
+ "\n",
+ "# the speed of sound is given by\n",
+ "a = math.sqrt(gam*R*T);\n",
+ "\n",
+ "# the mach number can be calculated as\n",
+ "M = V/a;\n",
+ "\n",
+ "print\"The Mach number is:\\nM =\",M"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Mach number is:\n",
+ "M = 2.78881717658\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "\n",
+ "# (a)\n",
+ "M = 2; # Mach number\n",
+ "\n",
+ "# the ratio of kinetic energy to internal energy is given by\n",
+ "ratio = gam*(gam-1)*M*M/2;\n",
+ "\n",
+ "print\"(a)The ratio of kinetic energy to internal energy is:\",ratio\n",
+ "\n",
+ "# similarly for (b)\n",
+ "# (b)\n",
+ "M = 20;\n",
+ "\n",
+ "ratio = gam*(gam-1)*M*M/2;\n",
+ "\n",
+ "print\"\\n(b)The ratio of kinetic energy to internal energy is:\",ratio"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The ratio of kinetic energy to internal energy is: 1.12\n",
+ "\n",
+ "(b)The ratio of kinetic energy to internal energy is: 112.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "M = 2.79; # Mach number\n",
+ "T = 320; # static temperature from ex. 7.3\n",
+ "p = 1; # static pressure in atm\n",
+ "gam = 1.4;\n",
+ "\n",
+ "# from eq. (8.40)\n",
+ "T0 = T*(1+((gam-1)/2*M*M));\n",
+ "\n",
+ "# from eq. (8.42)\n",
+ "p0 = p*((1+((gam-1)/2*M*M))**(gam/(gam-1)));\n",
+ "\n",
+ "print\"The total temperature and pressure are:\\nT0 =\",T0,\"K\",\"\\nP0 =\",p0,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total temperature and pressure are:\n",
+ "T0 = 818.1824 K \n",
+ "P0 = 26.7270201929 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "M = 3.5; # Mach number\n",
+ "T = 180; # static temperature from ex. 7.3\n",
+ "p = 0.3; # static pressure in atm\n",
+ "gam = 1.4;\n",
+ "R = 287;\n",
+ "\n",
+ "# from eq. (8.40)\n",
+ "T0 = T*(1+((gam-1)/2*M*M));\n",
+ "\n",
+ "# from eq. (8.42)\n",
+ "p0 = p*((1+((gam-1)/2*M*M))**(gam/(gam-1)));\n",
+ "\n",
+ "a = math.sqrt(gam*R*T);\n",
+ "V = a*M;\n",
+ "\n",
+ "# the values at local sonic point are given by\n",
+ "T_star = T0*2/(gam+1);\n",
+ "a_star = math.sqrt(gam*R*T_star);\n",
+ "M_star = V/a_star;\n",
+ "\n",
+ "print\"T0 =\",T0,\"K\",\"\\nP0 =\",p0,\"atm\",\"\\nT* =\",T_star,\"k\",\"\\na* =\",a_star,\"m/s\",\"\\nM* =\",M_star"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "T0 = 621.0 K \n",
+ "P0 = 22.8816894716 atm \n",
+ "T* = 517.5 k \n",
+ "a* = 455.995065763 m/s \n",
+ "M* = 2.06418738617\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "p_inf = 1;\n",
+ "p1 = 0.7545;\n",
+ "M_inf = 0.6;\n",
+ "gam = 1.4;\n",
+ "\n",
+ "# from eq. (8.42)\n",
+ "p0_inf = p_inf*((1+((gam-1)/2*M_inf*M_inf))**(gam/(gam-1)));\n",
+ "\n",
+ "p0_1 = p0_inf;\n",
+ "\n",
+ "# from eq. (8.42)\n",
+ "ratio = p0_1/p1;\n",
+ "\n",
+ "# from appendix A, for this ratio, the Mach number is\n",
+ "M1 = 0.9;\n",
+ "\n",
+ "print\"The mach number at the given point is:\\nM1 =\",M1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mach number at the given point is:\n",
+ "M1 = 0.9\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 268"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "T_inf = 288; # freestream temperature\n",
+ "p_inf = 1; # freestream pressure\n",
+ "p1 = 0.7545; # pressure at point 1\n",
+ "M = 0.9; # mach number at point 1\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R=1.;#\n",
+ "# for isentropic flow, from eq. (7.32)\n",
+ "T1 = T_inf*((p1/p_inf)**((gam-1)/gam));\n",
+ "\n",
+ "# the speed of sound at that point is thus\n",
+ "a1 = math.sqrt(gam*R*T1);\n",
+ "\n",
+ "# thus, the velocity can be given as\n",
+ "V1 = M*a1;\n",
+ "\n",
+ "print\"The velocity at the given point is:\\nV1 =\",V1,\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity at the given point is:\n",
+ "V1 = 17.3590326624 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 268"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "u1 = 680; # velocity upstream of shock\n",
+ "T1 = 288; # temperature upstream of shock\n",
+ "p1 = 1; # pressure upstream of shock\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R = 287; # universal gas constant\n",
+ "\n",
+ "# the speed of sound is given by\n",
+ "a1 = math.sqrt(gam*R*T1)\n",
+ "\n",
+ "# thus the mach number is\n",
+ "M1 = 2;\n",
+ "\n",
+ "# from Appendix B, for M = 2, the relations between pressure and temperature are given by\n",
+ "pressure_ratio = 4.5; # ratio of pressure accross shock\n",
+ "temperature_ratio = 1.687; # ratio of temperature accross shock\n",
+ "M2 = 0.5774; # mach number downstream of shock\n",
+ "\n",
+ "# thus the values downstream of the shock can be calculated as\n",
+ "p2 = pressure_ratio*p1;\n",
+ "T2 = temperature_ratio*T1;\n",
+ "a2 = math.sqrt(gam*R*T2);\n",
+ "u2 = M2*a2;\n",
+ "\n",
+ "print\"p2 =\",p2,\"atm\",\"\\nT2 =\",T2,\"K\",\"\\nu2 =\",u2,\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p2 = 4.5 atm \n",
+ "T2 = 485.856 K \n",
+ "u2 = 255.114727639 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "p1 = 1; # ambient pressure upstream of shock\n",
+ "\n",
+ "\n",
+ "# (a)\n",
+ "# for M = 2;\n",
+ "p0_1 = 7.824*p1; # total pressure upstream of shock\n",
+ "pressure_ratio = 0.7209; # ratio of total pressure accross the shock\n",
+ "p0_2 = pressure_ratio*p0_1; # total pressure downstream of shock\n",
+ "\n",
+ "# thus the total loss of pressure is given by\n",
+ "pressure_loss = p0_1 - p0_2;\n",
+ "\n",
+ "print\"The total pressure loss is:\\n(a)P0_loss=\",pressure_loss,\"atm\"\n",
+ "\n",
+ "# similarly\n",
+ "# (b)\n",
+ "# for M = 4;\n",
+ "p0_1 = 151.8*p1;\n",
+ "pressure_ratio = 0.1388;\n",
+ "p0_2 = pressure_ratio*p0_1;\n",
+ "\n",
+ "# thus the total loss of pressure is given by\n",
+ "pressure_loss = p0_1 - p0_2;\n",
+ "\n",
+ "print\"\\n(b)P0_loss =\",pressure_loss,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total pressure loss is:\n",
+ "(a)P0_loss= 2.1836784 atm\n",
+ "\n",
+ "(b)P0_loss = 130.73016 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 : Pg 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "M_inf = 2.; # freestream mach number\n",
+ "p_inf = 2.65e4; # freestream pressure\n",
+ "T_inf = 223.3; # freestream temperature\n",
+ "\n",
+ "# from Appendix A, for M = 2\n",
+ "p0_inf = 7.824*p_inf; # freestream total pressure\n",
+ "T0_inf = 1.8*T_inf; # freestream total temperature\n",
+ "\n",
+ "# from Appendix B, for M = 2\n",
+ "p0_1 = 0.7209*p0_inf; # total pressure downstream of the shock\n",
+ "T0_1 = T0_inf; # total temperature accross the shock is conserved\n",
+ "\n",
+ "# since the flow downstream of the shock is isentropic\n",
+ "p0_2 = p0_1;\n",
+ "T0_2 = T0_1;\n",
+ "\n",
+ "# from Appendix A, for M = 0.2 at point 2\n",
+ "p2 = p0_2/1.028;\n",
+ "T2 = T0_2/1.008;\n",
+ "\n",
+ "p2_atm = p2/102000;\n",
+ "\n",
+ "print\"The pressure at point 2 is:p2 =\",p2_atm,\"atm\","
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at point 2 is:p2 = 1.42546466011 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 : Pg 273"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "M_inf = 10; # freestream mach number\n",
+ "p_inf = 2.65e4; # freestream pressure\n",
+ "T_inf = 223.3; # freestream temperature\n",
+ "\n",
+ "# from Appendix A, for M = 2\n",
+ "p0_inf = 0.4244e5*p_inf; # freestream total pressure\n",
+ "T0_inf = 21*T_inf; # freestream total temperature\n",
+ "\n",
+ "# from Appendix B, for M = 2\n",
+ "p0_1 = 0.003045*p0_inf; # total pressure downstream of shock\n",
+ "T0_1 = T0_inf; # total temperature downstream of shock is conserved\n",
+ "\n",
+ "# since the flow downstream of the shock is isentropic\n",
+ "p0_2 = p0_1;\n",
+ "T0_2 = T0_1;\n",
+ "\n",
+ "# from Appendix A, for M = 0.2 at point 2\n",
+ "p2 = p0_2/1.028;\n",
+ "T2 = T0_2/1.008;\n",
+ "\n",
+ "p2_atm = p2/102000;\n",
+ "\n",
+ "\n",
+ "print\"The pressure at point 2 is: p2 =\",p2_atm,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at point 2 is: p2 = 32.6599307622 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E13 : Pg 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "p1 = 4.66e4; # ambient pressure\n",
+ "M = 8; # mach number\n",
+ "\n",
+ "# from Appendix B, for M = 8\n",
+ "p0_2 = 82.87*p1; # total pressure downstream of the shock\n",
+ "\n",
+ "# since the flow is isentropic downstream of the shock, total pressure is conserved\n",
+ "ps_atm = p0_2/101300; # pressure at the stagnation point\n",
+ "\n",
+ "print\"The pressure at the nose is:\\np_s =\",ps_atm,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at the nose is:\n",
+ "p_s = 38.1218361303 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E14 : Pg 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressedin SI units\n",
+ "import math \n",
+ "p1 = 2527.3; # ambient pressure at the altitude of 25 km\n",
+ "T1 = 216.66; # ambient temperature at the altitude of 25 km\n",
+ "p0_1 = 38800; # total pressure\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R = 287; # universal gas constant\n",
+ "pressure_ratio = p0_1/p1; # ratio of total to static pressure\n",
+ "\n",
+ "# for this value of pressure ratio, mach number is\n",
+ "M1 = 3.4;\n",
+ "\n",
+ "# the speed of sound is given by\n",
+ "a1 = math.sqrt(gam*R*T1)\n",
+ "\n",
+ "# thus the velocity can be calculated as\n",
+ "V1 = M1*a1;\n",
+ "\n",
+ "print\"The Velocity of the airplane is:\\nV1 =\",V1,\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Velocity of the airplane is:\n",
+ "V1 = 1003.16703558 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb
new file mode 100644
index 00000000..21c42160
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb
@@ -0,0 +1,565 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:528ba44c2050d0f458962f1b0e10d706281b50e366348fab8ed78316508c3a8b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER09:OBLIGUE SHOCK AND EXPANSION WAVES"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math\n",
+ "M = 2.; # mach number\n",
+ "h = 16000.; # altitude of the plane\n",
+ "\n",
+ "# the mach angle can be calculated from eq.(9.1) as\n",
+ "mue = math.asin(1./M); # mach angle\n",
+ "\n",
+ "d = h/math.tan(mue);\n",
+ "\n",
+ "print\"The plane is ahead of the bystander by a distance of:\\nd =\",d/1000.,\"km\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The plane is ahead of the bystander by a distance of:\n",
+ "d = 27.7128129211 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi, sin,cos\n",
+ "M1 = 2.; # mach number\n",
+ "p1 = 1.; # ambient pressure\n",
+ "T1 = 288.; # ambient temperature\n",
+ "theta = 20.*pi/180.; # flow deflection\n",
+ "\n",
+ "# from figure 9.9, for M = 2, theta = 20\n",
+ "b = 53.4*pi/180.; # beta\n",
+ "Mn_1 = M1*sin(b); # upstream mach number normal to shock\n",
+ "\n",
+ "# for this value of Mn,1 = 1.60, from Appendix B we have\n",
+ "Mn_2 = 0.6684; # downstream mach number normal to shock\n",
+ "M2 = Mn_2/sin(b-theta); # mach number downstream of shock\n",
+ "p2 = 2.82*p1;\n",
+ "T2 = 1.388*T1;\n",
+ "\n",
+ "# for M = 2, from appendix A we have\n",
+ "p0_2 = 0.8952*7.824*p1;\n",
+ "T0_1 = 1.8*T1;\n",
+ "T0_2 = T0_1;\n",
+ "\n",
+ "print\"M2 =\",M2,\"\\np2 =\",p2,\"atm\",\"\\nT2 =\",T2,\"K\",\"\\np0,2 =\",p0_2,\"atm\",\"\\nT0,2 =\",T0_2,\"K\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M2 = 1.214211418 \n",
+ "p2 = 2.82 atm \n",
+ "T2 = 399.744 K \n",
+ "p0,2 = 7.0040448 atm \n",
+ "T0,2 = 518.4 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sin\n",
+ "b = 30.*pi/180.; # oblique shock wave angle\n",
+ "M1 = 2.4; # upstream mach number\n",
+ "\n",
+ "# from figure 9.9, for these value of M and beta, we have\n",
+ "theta = 6.5*pi/180.;\n",
+ "\n",
+ "Mn_1 = M1*sin(b); # upstream mach number normal to shock\n",
+ "\n",
+ "# from Appendix B\n",
+ "pressure_ratio = 1.513;\n",
+ "temperature_ratio = 1.128;\n",
+ "Mn_2 = 0.8422;\n",
+ "\n",
+ "M2 = Mn_2/sin(b-theta);\n",
+ "\n",
+ "print\"theta =\",theta*180./pi,\"degrees\",\"\\np2/p1 =\",pressure_ratio,\"\\nT2/T1 =\",temperature_ratio,\"\\nM2 =\",M2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 6.5 degrees \n",
+ "p2/p1 = 1.513 \n",
+ "T2/T1 = 1.128 \n",
+ "M2 = 2.11210524521\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sin\n",
+ "b = 35.*pi/180.; # oblique shock wave angle\n",
+ "pressure_ratio = 3.; # upstream and downstream pressure ratio\n",
+ "\n",
+ "# from appendix B\n",
+ "Mn_1 = 1.64;\n",
+ "M1 = Mn_1/sin(b);\n",
+ "\n",
+ "print\"The upstream mach number is:\\nM =\",M1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The upstream mach number is:\n",
+ "M = 2.85925274482\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sin\n",
+ "M1 = 3.;\n",
+ "b = 40.*pi/180.;\n",
+ "\n",
+ "# for case 1, for M = 3, from Appendix B, we have\n",
+ "p0_ratio_case1 = 0.3283;\n",
+ "\n",
+ "# for case 2\n",
+ "Mn_1 = M1*sin(b);\n",
+ "\n",
+ "# from Appendix B\n",
+ "p0_ratio1 = 0.7535;\n",
+ "Mn_2 = 0.588;\n",
+ "\n",
+ "# from fig. 9.9, for M1 = 3 and beta = 40, we have\n",
+ "theta = 22.*pi/180.;\n",
+ "M2 = Mn_2/sin(b-theta);\n",
+ "\n",
+ "# from appendix B for M = 1.9; we have\n",
+ "p0_ratio2 = 0.7674;\n",
+ "p0_ratio_case2 = p0_ratio1*p0_ratio2;\n",
+ "\n",
+ "ratio = p0_ratio_case2/p0_ratio_case1;\n",
+ "\n",
+ "print\"Ans =\",ratio"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ans = 1.76130338105\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sin,tan\n",
+ "M1 = 5.;\n",
+ "theta = 15.*pi/180.;\n",
+ "gam = 1.4;\n",
+ "\n",
+ "# for these values of M and theta, from fig. 9.9\n",
+ "b = 24.2*pi/180;\n",
+ "Mn_1 = M1*sin(b);\n",
+ "\n",
+ "# from Appendix B, for Mn,1 = 2.05, we have\n",
+ "p_ratio = 4.736;\n",
+ "\n",
+ "# hence\n",
+ "c_d = 4.*tan(theta)/gam/(M1**2.)*(p_ratio-1.);\n",
+ "\n",
+ "print\"The drag coefficient is given by:\\ncd =\",c_d"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drag coefficient is given by:\n",
+ "cd = 0.114406649477\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sin,tan\n",
+ "M1 = 3.5;\n",
+ "theta1 = 10.*pi/180.;\n",
+ "gam = 1.4;\n",
+ "p1 = 101300.;\n",
+ "T1 = 288.;\n",
+ "b=1.;#\n",
+ "# for these values of M and theta, from fig. 9.9\n",
+ "b1 = 24.*pi/180.;\n",
+ "Mn_1 = M1*sin(b);\n",
+ "\n",
+ "# from Appendix B, for Mn,1 = 2.05, we have\n",
+ "Mn_2 = 0.7157;\n",
+ "p_ratio1 = 2.32;\n",
+ "T_ratio1 = 1.294;\n",
+ "M2 = Mn_2/sin(b1-theta1);\n",
+ "\n",
+ "# now\n",
+ "theta2 = 10.*pi/180.;\n",
+ "\n",
+ "# from fig. 9.9\n",
+ "b2 = 27.3*pi/180.;\n",
+ "phi = b2 - theta2;\n",
+ "\n",
+ "# from Appendix B\n",
+ "p_ratio2 = 1.991;\n",
+ "T_ratio2 = 1.229;\n",
+ "Mn_3 = 0.7572;\n",
+ "M3 = Mn_3/sin(b2-theta2);\n",
+ "\n",
+ "# thus\n",
+ "p3 = p_ratio1*p_ratio2*p1;\n",
+ "T3 = T_ratio1*T_ratio2*T1;\n",
+ "\n",
+ "print\"p3 =\",p3/1e5,\"x 10**5 N/m2\",\"\\nT3 =\",T3,\"K\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p3 = 4.67916856 x 10**5 N/m2 \n",
+ "T3 = 458.013888 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sin,tan\n",
+ "M1 = 1.5; # upstream mach number\n",
+ "theta = 15.*pi/180.; # deflection angle\n",
+ "p1 = 1.; # ambient pressure in atm\n",
+ "T1 = 288.; # ambient temperature\n",
+ "\n",
+ "# from appendix C, for M1 = 1.5 we have\n",
+ "v1 = 11.91*pi/180.;\n",
+ "\n",
+ "# from eq.(9.43)\n",
+ "v2 = v1 + theta;\n",
+ "\n",
+ "# for this value of v2, from appendix C\n",
+ "M2 = 2.;\n",
+ "\n",
+ "# from Appendix A for M1 = 1.5 and M2 = 2.0, we have\n",
+ "p2 = 1./7.824*1.*3.671*p1;\n",
+ "T2 = 1./1.8*1.*1.45*T1;\n",
+ "p0_1 = 3.671*p1;\n",
+ "p0_2 = p0_1;\n",
+ "T0_1 = 1.45*T1;\n",
+ "T0_2 = T0_1;\n",
+ "\n",
+ "# from fig. 9.25, we have\n",
+ "fml = 41.81; # Angle of forward Mach line\n",
+ "rml = 30. - 15.; # Angle of rear Mach line\n",
+ "\n",
+ "print\"p2 =\",p2,\"atm\",\"\\nT2 =\",T2,\"K\",\"\\np0,2 =\",p0_2,\"atm\",\"\\nT0,2 =\",T0_2,\"K\",\"\\nAngle of forward Mach line =\",fml,\"degrees\",\"\\nAngle of rear Mach line =\",rml,\"degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p2 = 0.469197341513 atm \n",
+ "T2 = 232.0 K \n",
+ "p0,2 = 3.671 atm \n",
+ "T0,2 = 417.6 K \n",
+ "Angle of forward Mach line = 41.81 degrees \n",
+ "Angle of rear Mach line = 15.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi\n",
+ "M1 = 10.; # upstream mach number\n",
+ "theta = 15.*pi/180.; # deflection angle\n",
+ "p1 = 1.; # ambient pressure in atm\n",
+ "# from appendix C, for M1 = 10 we have\n",
+ "v1 = 102.3*pi/180.;\n",
+ "# in region 2\n",
+ "v2 = v1 - theta;\n",
+ "# for this value of v2, from appendix C\n",
+ "M2 = 6.4;\n",
+ "# from Appendix A for M1 = 10 and M2 = 6.4, we have\n",
+ "p2 = 1./(2355.)*1.*42440.*p1;\n",
+ "print\"M2 =\",M2,\"\\np2 =\",p2,\"atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M2 = 6.4 \n",
+ "p2 = 18.0212314225 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 : Pg 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "M1 = 10; # upstream mach number\n",
+ "theta = 15*math.pi/180; # deflection angle\n",
+ "p1 = 1; # ambient pressure in atm\n",
+ "\n",
+ "# from fig 9.9, for M1 = 10 and theta = 15 we have\n",
+ "b = 20*math.pi/180;\n",
+ "Mn_1 = M1*math.sin(b);\n",
+ "\n",
+ "# from Appendix B, for Mn,1 = 3.42\n",
+ "Mn_2 = 0.4552;\n",
+ "M2 = Mn_2/math.sin(b-theta);\n",
+ "p2 = 13.32*p1;\n",
+ "\n",
+ "# from Appendix A, for M1 = 10\n",
+ "p0_2 = 0.2322*42440*p1;\n",
+ "\n",
+ "print\"M2 =\",M2,\"\\np2 =\",p2,\"atm\",\"\\np0,2 =\",p0_2/1e3,\"x 10**3 atm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M2 = 5.22283426943 \n",
+ "p2 = 13.32 atm \n",
+ "p0,2 = 9.854568 x 10**3 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 : Pg 316"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "M1 = 3.; # upstream mach number\n",
+ "theta = 5.*math.pi/180.; # deflection angle\n",
+ "alpha = theta; # angle of attack\n",
+ "gam = 1.4;\n",
+ "\n",
+ "# from appendix C, for M1 = 3 we have\n",
+ "v1 = 49.76*math.pi/180.;\n",
+ "\n",
+ "# from eq.(9.43)\n",
+ "v2 = v1 + theta;\n",
+ "\n",
+ "# for this value of v2, from appendix C\n",
+ "M2 = 3.27;\n",
+ "\n",
+ "# from Appendix A for M1 = 3 and M2 = 3.27, we have\n",
+ "p_ratio1 = 36.73/55.;\n",
+ "\n",
+ "# from fig. 9.9, for M1 = 3 and theta = 5\n",
+ "b = 23.1*math.pi/180.;\n",
+ "Mn_1 = M1*math.sin(b);\n",
+ "\n",
+ "# from Appendix B\n",
+ "p_ratio2 = 1.458;\n",
+ "\n",
+ "# thus\n",
+ "c_l = 2./gam/(M1**2.)*(p_ratio2-p_ratio1)*math.cos(alpha);\n",
+ "\n",
+ "c_d = 2./gam/(M1**2.)*(p_ratio2-p_ratio1)*math.sin(alpha);\n",
+ "\n",
+ "print\"The lift and drag coefficients are given by:\\ncl =\",c_l,\"\\ncd =\",c_d"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lift and drag coefficients are given by:\n",
+ "cl = 0.124948402826 \n",
+ "cd = 0.0109315687729\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb
new file mode 100644
index 00000000..5e2e846a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb
@@ -0,0 +1,329 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:50b271f93e8a365fc7786fed67e8c1b9727566cca589daf5682afce2ce0beb0c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER10:COMPRESSIBLE FLOW THROUGH NOZZLES DIFFUSERS AND WIND TUNNELS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 345"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in Si units\n",
+ "area_ratio = 10.25; # exit to throat area ratio\n",
+ "p0 = 5; # reservoir pressure in atm\n",
+ "T0 = 333.3; # reservoir temperature\n",
+ "\n",
+ "# from appendix A, for an area ratio of 10.25\n",
+ "Me = 3.95; # exit mach number\n",
+ "pe = 0.007*p0; # exit pressure\n",
+ "Te = 0.2427*T0; # exit temperature\n",
+ "\n",
+ "print\"Me =\",Me\n",
+ "print\"pe =\",pe,\"atm\"\n",
+ "print\"Te =\",Te,\"K\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Me = 3.95\n",
+ "pe = 0.035 atm\n",
+ "Te = 80.89191 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 346"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in Si units\n",
+ "\n",
+ "area_ratio = 2.; # exit to throat area ratio\n",
+ "p0 = 1.; # reservoir pressure in atm\n",
+ "T0 = 288.; # reservoir temperature\n",
+ "\n",
+ "# (a)\n",
+ "# since M = 1 at the throat\n",
+ "Mt = 1.;\n",
+ "pt = 0.528*p0; # pressure at throat\n",
+ "Tt = 0.833*T0; # temperature at throat\n",
+ "\n",
+ "# from appendix A for supersonic flow, for an area ratio of 2\n",
+ "Me = 2.2; # exit mach number\n",
+ "pe = 1./10.69*p0; # exit pressure\n",
+ "Te = 1./1.968*T0; # exit temperature\n",
+ "\n",
+ "print\"At throat: Mt =\",Mt\n",
+ "print\"\\nAt throat: pt =\",pt,\"atm\"\n",
+ "print\"\\nAt throat: Tt = \",Tt,\"K\"\n",
+ "print\"\\nAt throat: For supersonic exit:\",Me\n",
+ "print\"\\nAt throat: pe =\",pe,\"atm\"\n",
+ "print\"\\nAt throat: Te = \",Te,\"K\"\n",
+ "\n",
+ "# (b)\n",
+ "# from appendix A for subonic flow, for an area ratio of 2\n",
+ "Me = 0.3; # exit mach number\n",
+ "pe = 1/1.064*p0; # exit pressure\n",
+ "Te = 1/1.018*T0; # exit temperature\n",
+ "\n",
+ "print\"\\nFor subrsonic exit:\",Me\n",
+ "print\"\\npe=\",pe,\"atm\"\n",
+ "print\"\\nTe=\",Te,\"K\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "At throat: Mt = 1.0\n",
+ "\n",
+ "At throat: pt = 0.528 atm\n",
+ "\n",
+ "At throat: Tt = 239.904 K\n",
+ "\n",
+ "At throat: For supersonic exit: 2.2\n",
+ "\n",
+ "At throat: pe = 0.0935453695042 atm\n",
+ "\n",
+ "At throat: Te = 146.341463415 K\n",
+ "\n",
+ "For subrsonic exit: 0.3\n",
+ "\n",
+ "pe= 0.93984962406 atm\n",
+ "\n",
+ "Te= 282.907662083 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 346"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in Si units\n",
+ "\n",
+ "area_ratio = 2.; # exit to throat area ratio\n",
+ "p0 = 1.; # reservoir pressure in atm\n",
+ "T0 = 288.; # reservoir temperature\n",
+ "pe = 0.973; # exit pressure in atm\n",
+ "\n",
+ "p_ratio = p0/pe; # ratio of reservoir to exit pressure\n",
+ "\n",
+ "# from appendix A for subsonic flow, for an pressure ratio of 1.028\n",
+ "Me = 0.2; # exit mach number\n",
+ "area_ratio_exit_to_star = 2.964; # A_exit/A_star\n",
+ "\n",
+ "# thus\n",
+ "area_ratio_throat_to_star = area_ratio_exit_to_star/area_ratio; # A_exit/A_star\n",
+ "\n",
+ "# from appendix A for subsonic flow, for an area ratio of 1.482\n",
+ "Mt = 0.44; # throat mach number\n",
+ "\n",
+ "print\"Me =\",Me\n",
+ "print\"Mt =\",Mt"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Me = 0.2\n",
+ "Mt = 0.44\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 352"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "p0 = 30.*101000.; # reservoir pressure\n",
+ "T0 = 3500.; # reservoir temperature\n",
+ "R = 520.; # specific gas constant\n",
+ "gam = 1.22; # ratio of specific heats\n",
+ "A_star = 0.4; # rocket nozzle throat area\n",
+ "pe = 5529.; # rocket nozzle exit pressure equal to ambient pressure at 20 km altitude\n",
+ "\n",
+ "# (a)\n",
+ "# the density of air in the reservoir can be calculated as\n",
+ "rho0 = p0/R/T0;\n",
+ "\n",
+ "# from eq.(8.46)\n",
+ "rho_star = rho0*(2/(gam+1))**(1/(gam-1));\n",
+ "\n",
+ "# from eq.(8.44)\n",
+ "T_star = T0*2/(gam+1);\n",
+ "a_star = math.sqrt(gam*R*T_star);\n",
+ "u_star = a_star;\n",
+ "m_dot = rho_star*u_star*A_star;\n",
+ "\n",
+ "# rearranging eq.(8.42)\n",
+ "Me = math.sqrt(2/(gam-1)*(((p0/pe)**((gam-1)/gam)) - 1));\n",
+ "Te = T0/(1+(gam-1)/2*Me*Me);\n",
+ "ae = math.sqrt(gam*R*Te);\n",
+ "ue = Me*ae;\n",
+ "\n",
+ "# thus the thrust can be calculated as\n",
+ "T = m_dot*ue;\n",
+ "T_lb = T*0.2247;\n",
+ "\n",
+ "# (b)\n",
+ "# rearranging eq.(10.32)\n",
+ "Ae = A_star/Me*((2/(gam+1)*(1+(gam-1)/2*Me*Me))**((gam+1)/(gam-1)/2));\n",
+ "\n",
+ "print\"(a)The thrust of the rocket is:T =\" ,T/1e6, \"N\"\n",
+ "print\"\\n(b)The nozzle exit area is\",T_lb \n",
+ "\n",
+ "print\"\\nAe =\",Ae, \"m2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The thrust of the rocket is:T = 2.1702872295 N\n",
+ "\n",
+ "(b)The nozzle exit area is 487663.540469\n",
+ "\n",
+ "Ae = 16.7097500627 m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 353"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "p0 = 30.*101000.; # reservoir pressure\n",
+ "T0 = 3500.; # reservoir temperature\n",
+ "R = 520.; # specific gas constant\n",
+ "gam = 1.22; # ratio of specific heats\n",
+ "A_star = 0.4; # rocket nozzle throat area\n",
+ "\n",
+ "# the mass flow rate using the closed form analytical expression\n",
+ "# from problem 10.5 can be given as\n",
+ "m_dot = p0*A_star*math.sqrt(gam/R/T0*((2/(gam+1))**((gam+1)/(gam-1))));\n",
+ "\n",
+ "print\"The mass flow rate is: m_dot =\",m_dot, \"kg/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mass flow rate is: m_dot = 586.100122081 kg/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "M = 2.; # Mach number\n",
+ "# for this value M, for a normal shock, from Appendix B\n",
+ "p0_ratio = 0.7209;\n",
+ "# thus\n",
+ "area_ratio = 1./p0_ratio;\n",
+ "print\"The diffuser throat to nozzle throat area ratio is: =\",area_ratio"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diffuser throat to nozzle throat area ratio is: = 1.38715494521\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb
new file mode 100644
index 00000000..a745bed3
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb
@@ -0,0 +1,89 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:803218956e8d07c2bbc2005621cfab4517eff6a55bb3c468628e715c71e6bf8d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER11:SUBSONIC COMPRESSIBLE FLOW OVER AIRFOILS LINEAR THEOREY"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "Cp_incompressible = -0.3; # Cp for incompressible flow\n",
+ "M = 0.6; # Mach number\n",
+ "# Thus from eq.(11.52)\n",
+ "Cp_compressible = Cp_incompressible/math.sqrt(1-M**2);\n",
+ "print\"(a)The Cp after compressibility corrections is:\",Cp_compressible,\"Cp\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The Cp after compressibility corrections is: -0.375 Cp\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "import math \n",
+ "cl_incompressible = 2*math.pi; # lift curve slope\n",
+ "M_inf = 0.7; # Mach number\n",
+ "# from eq.(11.52)\n",
+ "cl_compressible = cl_incompressible/math.sqrt(1-M_inf**2); # compressible lift curve slope\n",
+ "print\"(a)The cl after compressibility corrections is: cl =\",cl_compressible,\"alpha\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The cl after compressibility corrections is: cl = 8.7982192499 alpha\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb
new file mode 100644
index 00000000..23eb47c4
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb
@@ -0,0 +1,177 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:759b2b8dbe680f1a1114b02efa5fa66ff3cc710d36fd5424f5c21b97ca922dbb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER12:LINEARIZED SUPERSONIC FLOW"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 395"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import pi,sqrt\n",
+ "alpha = 5*pi/180; # angle of attack\n",
+ "M_inf = 3; # freestream mach number\n",
+ "\n",
+ "# from eq.(12.23)\n",
+ "c_l = 4*alpha/sqrt(M_inf**2 - 1);\n",
+ "\n",
+ "# from eq.(12.24)\n",
+ "c_d = 4*alpha**2/sqrt(M_inf**2 - 1);\n",
+ "\n",
+ "print\"The cl and cd according to the linearized theory are:cl =\", round(c_l,2)\n",
+ "print\"The cl and cd according to the linearized theory are:cd =\",round(c_d,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The cl and cd according to the linearized theory are:cl = 0.12\n",
+ "The cl and cd according to the linearized theory are:cd = 0.01\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 395"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt,pi\n",
+ "M_inf = 2.; # freestream mach number\n",
+ "rho_inf = 0.3648; # freestream density at 11 km altitude\n",
+ "T_inf = 216.78; # freestream temperature at 11 km altitude\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R = 287.; # specific gas constant\n",
+ "m = 9400.; # mass of the aircraft\n",
+ "g = 9.8; # acceleratio due to gravity\n",
+ "W = m*g; # weight of the aircraft\n",
+ "S = 18.21; # wing planform area\n",
+ "# thus\n",
+ "a_inf = sqrt(gam*R*T_inf);\n",
+ "V_inf = M_inf*a_inf;\n",
+ "q_inf = 1./2.*rho_inf*V_inf**2.;\n",
+ "\n",
+ "# thus the aircraft lift coefficient is given as\n",
+ "C_l = W/q_inf/S;\n",
+ "\n",
+ "alpha = 180./pi*C_l/4.*sqrt(M_inf**2. - 1.);\n",
+ "\n",
+ "print\"The angle of attack of the wing is:\",alpha,\"degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angle of attack of the wing is: 1.97493716351 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt,pi\n",
+ "# (a)\n",
+ "M_inf = 2.; # freestream mach number\n",
+ "rho_inf = 0.3648; # freestream density at 11 km altitude\n",
+ "T_inf = 216.78; # freestream temperature at 11 km altitude\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R = 287.; # specific gas constant\n",
+ "m = 9400.; # mass of the aircraft\n",
+ "g = 9.8; # acceleratio due to gravity\n",
+ "W = m*g; # weight of the aircraft\n",
+ "S = 18.21; # wing planform area\n",
+ "c = 2.2; # chord length of the airfoil\n",
+ "alpha = 0.035; # angle of attack as calculated in ex. 12.2\n",
+ "T0 = 288.16; # ambient temperature at sea level\n",
+ "mue0 = 1.7894e-5; # reference viscosity at sea level\n",
+ "\n",
+ "# thus\n",
+ "a_inf = sqrt(gam*R*T_inf);\n",
+ "V_inf = M_inf*a_inf;\n",
+ "\n",
+ "# according to eq.(15.3), the viscosity at the given temperature is\n",
+ "mue_inf = mue0*(T_inf/T0)**1.5*(T0+110.)/(T_inf+110.);\n",
+ "\n",
+ "# thus the Reynolds number can be given by\n",
+ "Re = rho_inf*V_inf*c/mue_inf;\n",
+ "\n",
+ "# from fig.(19.1), for these values of Re and M, the skin friction coefficient is\n",
+ "Cf = 2.15*10**-3;\n",
+ "\n",
+ "# thus, considering both sides of the flat plate\n",
+ "net_Cf = 2.*Cf;\n",
+ "\n",
+ "# (b)\n",
+ "c_d = 4.*alpha**2./sqrt(M_inf**2. - 1.);\n",
+ "\n",
+ "print\"(a) Net Cf = \",net_Cf*1e3\n",
+ "print\"(b) cd =\",c_d*1e3"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Net Cf = 4.3\n",
+ "(b) cd = 2.82901631903\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb
new file mode 100644
index 00000000..b03fae71
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb
@@ -0,0 +1,107 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b76a333651e4030c76adde3b4d2c960c2cac224a46eefd1efa17c855082ed983"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER14:ELEMENTS OF HYPERSONIC FLOW"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt,pi,sin,cos\n",
+ "M1 = 8.; # mach number\n",
+ "alpha = 15.*pi/180.; # anlge of attack\n",
+ "theta= alpha;\n",
+ "gam = 1.4;\n",
+ "# (a)\n",
+ "# for M = 8\n",
+ "v1 = 95.62*pi/180.;\n",
+ "v2 = v1 + theta;\n",
+ "# from Appendix C\n",
+ "M2 = 14.32;\n",
+ "# from Appendix A, for M1 = 8 and M2 = 14.32\n",
+ "p_ratio = 0.9763e4/0.4808e6;\n",
+ "# from eq.(11.22)\n",
+ "Cp2 = 2/gam/M1**2*(p_ratio - 1);\n",
+ "# for M1 = 8 and theta = 15\n",
+ "b = 21*pi/180;\n",
+ "Mn_1 = M1*sin(b);\n",
+ "# for this value of Mn,1, from appendix B\n",
+ "p_ratio2 = 9.443;\n",
+ "# thus\n",
+ "Cp3 = 2./gam/M1**2.*(p_ratio2 - 1.);\n",
+ "c_n = Cp3 - Cp2;\n",
+ "c_l = c_n*cos(alpha);\n",
+ "c_d = c_n*sin(alpha);\n",
+ "L_by_D = c_l/c_d;\n",
+ "print\"The exact results from the shock-expansion theory are:\"\n",
+ "print\"Cp2 =\",Cp2\n",
+ "print\"Cp3 = \",Cp3\n",
+ "print\" cl =\",c_l\n",
+ "print\"cd =\",c_d\n",
+ "print\"L/D =\",L_by_D\n",
+ "# (b)\n",
+ "# from Newtonian theory, by eq.(14.9)\n",
+ "Cp3 = 2.*sin(alpha)**2;\n",
+ "Cp2 = 0;\n",
+ "c_l = (Cp3 - Cp2)*cos(alpha);\n",
+ "c_d = (Cp3 - Cp2)*sin(alpha);\n",
+ "L_by_D = c_l/c_d;\n",
+ "print\"\\n(b) The results from Newtonian theory are:\"\n",
+ "print\"Cp2 =\",Cp2\n",
+ "print\"Cp3 =\",Cp3\n",
+ "print\"cl =\",c_l\n",
+ "print\"cd =\",c_d\n",
+ "print\"L/D =\",L_by_D"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The exact results from the shock-expansion theory are:\n",
+ "Cp2 = -0.0218681754368\n",
+ "Cp3 = 0.188459821429\n",
+ " cl = 0.203161244164\n",
+ "cd = 0.054436891307\n",
+ "L/D = 3.73205080757\n",
+ "\n",
+ "(b) The results from Newtonian theory are:\n",
+ "Cp2 = 0\n",
+ "Cp3 = 0.133974596216\n",
+ "cl = 0.129409522551\n",
+ "cd = 0.0346751770605\n",
+ "L/D = 3.73205080757\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb
new file mode 100644
index 00000000..511a7557
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb
@@ -0,0 +1,139 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6e4d8dba8272e5aef3b50d9bff3cc7e1579deb4c626c5963093dac4c2f32b5ec"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER16:SOME SPECIAL CASES COUETTE AND POISEUILLE FLOWS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 524"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\n",
+ "mue = 1.7894*10**5; # coefficient of viscosity\n",
+ "ue = 60.96; # velocity of upper plate\n",
+ "D = 2.54*10**4; # distance between the 2 plates\n",
+ "T_w = 288.3; # temperature of the plates\n",
+ "Pr = 0.71; # Prandlt number\n",
+ "cp = 1004.5; # specific heat at constant pressure\n",
+ "\n",
+ "# (a)\n",
+ "# from eq.(16.6)\n",
+ "u = ue/2;\n",
+ "\n",
+ "# (b)\n",
+ "# from eq.(16.9)\n",
+ "tow_w = mue*ue/D;\n",
+ "\n",
+ "# (c)\n",
+ "# from eq.(16.34)\n",
+ "T = T_w + Pr*ue**2/8/cp;\n",
+ "\n",
+ "# (d)\n",
+ "# from eq.(16.35)\n",
+ "q_w_dot = mue/2*ue**2/D;\n",
+ "\n",
+ "# (e)\n",
+ "# from eq.(16.40)\n",
+ "T_aw = T_w + Pr/cp*ue**2/2;\n",
+ "\n",
+ "print\"(a)u =\",u,\"m/s\"\n",
+ "print\"(b)tow_w =\",tow_w,\"N/m2\"\n",
+ "print\"(c)T =\",T,\"K\"\n",
+ "print\"(d)q_w_dot =\",q_w_dot,\"Nm-1s-1\"\n",
+ "print\"(e)Taw =\",\"K\",T_aw\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)u = 30.48 m/s\n",
+ "(b)tow_w = 429.456 N/m2\n",
+ "(c)T = 288.628328315 K\n",
+ "(d)q_w_dot = 13089.81888 Nm-1s-1\n",
+ "(e)Taw = K 289.613313258\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 524"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt\n",
+ "mue = 1.7894*10**5; # coefficient of viscosity\n",
+ "Me = 3.; # mach number of upper plate\n",
+ "D = 2.54*10**4; # distance between the 2 plates\n",
+ "pe = 101000.; # ambient pressure\n",
+ "Te = 288.; # temperature of the plates\n",
+ "Tw = Te;\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "R = 287; # specific gas constant\n",
+ "Pr = 0.71; # Prandlt number\n",
+ "cp = 1004.5; # specific heat at constant pressure\n",
+ "tow_w = 72.; # shear stress on the lower wall\n",
+ "# the velocity of the upper plate is given by\n",
+ "ue = Me*sqrt(gam*R*Te);\n",
+ "# the density at both plates is\n",
+ "rho_e = pe/R/Te;\n",
+ "# the coefficient of skin friction is given by\n",
+ "cf = 2.*tow_w/rho_e/ue**2.;\n",
+ "# from eq.(16.92)\n",
+ "C_H = cf/2/Pr;\n",
+ "# from eq.(16.82)\n",
+ "h_aw = cp*Te + Pr*ue**2/2;\n",
+ "h_w = cp*Tw;\n",
+ "q_w_dot = rho_e*ue*(h_aw-h_w)*C_H;\n",
+ "print\"The heat transfer is given by:q_w_dot =\",q_w_dot/1e4,\"W/m2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The heat transfer is given by:q_w_dot = 3.67387998933 W/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb
new file mode 100644
index 00000000..9db85084
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1212acad0ef08178fcbea2bab37906941543ef565feec1c8224ba9b0069420a4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER18:LAMINAR BOUNDARY LAYERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 595"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt\n",
+ "p_inf = 101000.; # freestream pressure\n",
+ "T_inf = 288.; # freestream temperature\n",
+ "c = 2.; # chord length of the plate\n",
+ "S = 40.; # planform area of the plate\n",
+ "mue_inf=1.7894*10.**5.; # coefficient of viscosity at sea level\n",
+ "gam=1.4; # ratio of specific heats\n",
+ "R=287.; # specific gas constant\n",
+ "# the freestream density is\n",
+ "rho_inf = p_inf/R/T_inf;\n",
+ "# the speed of sound is\n",
+ "a_inf = sqrt(gam*R*T_inf);\n",
+ "# (a)\n",
+ "V_inf = 100.;\n",
+ "# thus the mach number can be calculated as\n",
+ "M_inf = V_inf/a_inf;\n",
+ "# the Reynolds number at the trailing is given as\n",
+ "Re_c = rho_inf*V_inf*c/mue_inf;\n",
+ "# from eq.(18.22)\n",
+ "Cf = 1.328/sqrt(Re_c);\n",
+ "# the friction drag on one surface of the plate is given by\n",
+ "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n",
+ "# the total drag generated due to both surfaces is\n",
+ "D = 2.*D_f;\n",
+ "print\"The total frictional drag is:(a)D =\",D,\"N\"\n",
+ "# (b)\n",
+ "V_inf = 1000.;\n",
+ "# thus the mach number can be calculated as\n",
+ "M_inf = V_inf/a_inf;\n",
+ "# the Reynolds number at the trailing is given as\n",
+ "Re_c = rho_inf*V_inf*c/mue_inf;\n",
+ "# from eq.(18.22)\n",
+ "Cf = 1.2/sqrt(Re_c);\n",
+ "# the friction drag on one surface of the plate is given by\n",
+ "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n",
+ "# the total drag generated due to both surfaces is\n",
+ "D = 2.*D_f;\n",
+ "print\"(b) D =\",D,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is:(a)D = 17563872.6566 N\n",
+ "(b) D = 501884115.614 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 596"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt\n",
+ "Pr = 0.71; # Prandlt number of air at standard conditions\n",
+ "Pr_star = Pr;\n",
+ "Te = 288.; # temperature of the upper plate\n",
+ "ue = 1000.; # velocity of the upper plate\n",
+ "Me = 2.94; # Mach number of flow on the upper plate\n",
+ "p_star = 101000.;\n",
+ "R = 287.; # specific gas constant\n",
+ "T0 = 288.; # reference temperature at sea level\n",
+ "mue0 = 1.7894*10**-5; # reference viscosity at sea level\n",
+ "c = 2.; # chord length of the plate\n",
+ "S = 40.; # plate planform area\n",
+ "\n",
+ "# recovery factor for a boundary layer is given by eq.(18.47) as\n",
+ "r = sqrt(Pr);\n",
+ "\n",
+ "# rearranging eq.(16.49), we get for M = 2.94\n",
+ "T_aw = Te*(1+r*(2.74-1));\n",
+ "\n",
+ "# from eq.(18.53)\n",
+ "T_star = Te*(1 + 0.032*Me**2. + 0.58*(T_aw/Te-1.));\n",
+ "\n",
+ "# from the equation of state\n",
+ "rho_star = p_star/R/T_star;\n",
+ "\n",
+ "# from eq.(15.3)\n",
+ "mue_star = mue0*(T_star/T0)**1.5*(T0+110.)/(T_star+110.);\n",
+ "\n",
+ "# thus\n",
+ "Re_c_star = rho_star*ue*c/mue_star;\n",
+ "\n",
+ "# from eq.(18.22)\n",
+ "Cf_star = 1.328/sqrt(Re_c_star);\n",
+ "\n",
+ "# hence, the frictional drag on one surface of the plate is\n",
+ "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n",
+ "\n",
+ "# thus, the total frictional drag is given by\n",
+ "D = 2.*D_f;\n",
+ "\n",
+ "print\"The total frictional drag is: D =\",D,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is: D = 4978.09594496 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 600"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "from math import sqrt\n",
+ "Pr = 0.71; # Prandlt number of air at standard conditions\n",
+ "Pr_star = Pr;\n",
+ "Te = 288.; # temperature of the upper plate\n",
+ "ue = 1000.; # velocity of the upper plate\n",
+ "Me = 2.94; # Mach number of flow on the upper plate\n",
+ "p_star = 101000.;\n",
+ "R = 287.; # specific gas constant\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "T0 = 288.; # reference temperature at sea level\n",
+ "mue0 = 1.7894*10**-5; # reference viscosity at sea level\n",
+ "c = 2.; # chord length of the plate\n",
+ "S = 40.; # plate planform area\n",
+ "\n",
+ "# recovery factor for a boundary layer is given by eq.(18.47) as\n",
+ "r = sqrt(Pr);\n",
+ "\n",
+ "# from ex.(8.2)\n",
+ "T_aw = Te*2.467;\n",
+ "T_w = T_aw;\n",
+ "\n",
+ "# from the Meador-Smart equation\n",
+ "T_star = Te*(0.45 + 0.55*T_w/Te + 0.16*r*(gam-1)/2*Me**2.);\n",
+ "\n",
+ "# from the equation of state\n",
+ "rho_star = p_star/R/T_star;\n",
+ "\n",
+ "# from eq.(15.3)\n",
+ "mue_star = mue0*(T_star/T0)**1.5*(T0+110)/(T_star+110.);\n",
+ "\n",
+ "# thus\n",
+ "Re_c_star = rho_star*ue*c/mue_star;\n",
+ "\n",
+ "# from eq.(18.22)\n",
+ "Cf_star = 1.328/sqrt(Re_c_star);\n",
+ "\n",
+ "# hence, the frictional drag on one surface of the plate is\n",
+ "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n",
+ "\n",
+ "# thus, the total frictional drag is given by\n",
+ "D = 2.*D_f;\n",
+ "\n",
+ "print\"The total frictional drag is: D =\",D,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is: D = 5014.11379241 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb
new file mode 100644
index 00000000..2f8ac563
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb
@@ -0,0 +1,183 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b86498eb35a7b864ac2f5ef6daf0b84c4087e01fdc3cae003175c0e3f7e5a702"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER19:TURBULENT BOUNDARY LAYERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 612"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "# (a)\n",
+ "from math import sqrt\n",
+ "Re_c = 1.36e7; # as obtained from ex. 18.1a\n",
+ "rho_inf = 1.22; # freestream air denstiy\n",
+ "S = 40.; # plate planform area\n",
+ "# hence, from eq.(19.2)\n",
+ "Cf = 0.074/Re_c**0.2;\n",
+ "V_inf = 100.;\n",
+ "# hence, for one side of the plate\n",
+ "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n",
+ "# the total drag on both the surfaces is\n",
+ "D = 2.*D_f;\n",
+ "print\"The total frictional drag is: (a)D =\",D,\"N\"\n",
+ "# (b)\n",
+ "Re_c = 1.36e8; # as obtained from ex. 18.1b\n",
+ "# hence, from fig 19.1 we have\n",
+ "Cf = 1.34*10.**-3.;\n",
+ "V_inf = 1000.;\n",
+ "# hence, for one side of the plate\n",
+ "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n",
+ "# the total drag on both the surfaces is\n",
+ "D = 2.*D_f;\n",
+ "print\"(b) D =\",D,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is: (a)D = 1351.89748485 N\n",
+ "(b) D = 65392.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 612"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "# from ex 18.2\n",
+ "from math import sqrt\n",
+ "Re_c_star = 3.754e7; # Reynolds number at the trailing edge of the plate\n",
+ "rho_star = 0.574;\n",
+ "ue = 1000.; # velocity of the upper plate\n",
+ "S = 40.; # plate planform area\n",
+ "# from eq.(19.3) we have\n",
+ "Cf_star = 0.074/Re_c_star**0.2;\n",
+ "# hence, for one side of the plate\n",
+ "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n",
+ "# the total drag on both the surfaces is\n",
+ "D = 2.*D_f;\n",
+ "print\"The total frictional drag is:D =\",D,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is:D = 51916.421508 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 615"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "Me = 2.94; # mach number of the flow over the upper plate\n",
+ "ue = 1000.;\n",
+ "Te = 288.; # temperature of the upper plate\n",
+ "ue = 1000.; # velocity of the upper plate\n",
+ "S = 40.; # plate planform area\n",
+ "Pr = 0.71; # Prandlt number of air at standard condition\n",
+ "gam = 1.4; # ratio of specific heats\n",
+ "\n",
+ "# the recovery factor is given as\n",
+ "r = Pr**(1./3.);\n",
+ "\n",
+ "# for M = 2.94\n",
+ "T_aw = Te*(1.+r*(2.74-1.));\n",
+ "T_w = T_aw; # since the flat plate has an adiabatic wall\n",
+ "\n",
+ "# from the Meador-Smart equation\n",
+ "T_star = Te*(0.5*(1.+T_w/Te) + 0.16*r*(gam-1.)/2.*Me**2.);\n",
+ "\n",
+ "# from the equation of state\n",
+ "p_star=1.\n",
+ "R=1.\n",
+ "rho_star = p_star/R/T_star;\n",
+ "\n",
+ "# from eq.(15.3)\n",
+ "mue0=1.\n",
+ "T0=1.\n",
+ "c=1.\n",
+ "mue_star = mue0*(T_star/T0)**1.5*(T0+110.)/(T_star+110.);\n",
+ "\n",
+ "# thus\n",
+ "Re_c_star = rho_star*ue*c/mue_star;\n",
+ "\n",
+ "# from eq.(18.22)\n",
+ "Cf_star = 0.02667/Re_c_star**0.139;\n",
+ "\n",
+ "# hence, the frictional drag on one surface of the plate is\n",
+ "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n",
+ "\n",
+ "# thus, the total frictional drag is given by\n",
+ "D = 2.*D_f;\n",
+ "\n",
+ "print\"The total frictional drag is:D =\",D,\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is:D = 4967.70450221 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.png
new file mode 100644
index 00000000..e38c28d3
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.png
Binary files differ
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.png
new file mode 100644
index 00000000..7ef80327
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.png
Binary files differ
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.png
new file mode 100644
index 00000000..d1376f9c
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.png
Binary files differ
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1.ipynb
new file mode 100644
index 00000000..050d69c7
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1.ipynb
@@ -0,0 +1,282 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1: Introduction—Concept of Stress\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 1.1, Page number 18 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Shearing Stress in Pin A = 6790.6 psi\n",
+ "Case(b): Shearing Stress in Pin C = 7639 psi\n",
+ "Case(c): Largest Normal Stress in Link ABC = 2286 psi\n",
+ "Case(d): Average Shearing Stress at B = 171 psi\n",
+ "Case(e): Bearing Stress in Link at C = 6000 psi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Fac = 750 #Force on rod AC(lb)\n",
+ "D = 0.375 #Diameter at the upper junction of rod ABC(in)\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a)\n",
+ "A=(1/4)*((math.pi)*pow(D,2)) #Area at the upper junction of rod ABC(in^2) \n",
+ "tA=(Fac/A) #Shearing Stress in Pin A(psi) \n",
+ "#Case(b) \n",
+ "Ab=(1/4)*((math.pi)*pow(0.25,2)) #Area at the lower junction of rod ABC(in^2)\n",
+ "tC=(((1/2)*Fac)/Ab) #Shearing Stress in Pin C(psi)\n",
+ "#Case(c)\n",
+ "Anet=(3/8)*(1.25-0.375) #Area of cross section at A(in^2)\n",
+ "sA=(Fac/Anet) #Largest Normal Stress in Link ABC(psi)\n",
+ "#Case(d)\n",
+ "F1=750/2 #Force on each side(lb)\n",
+ "Ad=(1.25*1.75) #Area at junction B(in^2)\n",
+ "tB=(F1/Ad) #Average Shearing Stress at B\n",
+ "#Case(e)\n",
+ "Ae=0.25*0.25 #Area at point C(in^2)\n",
+ "sB=(F1/Ae) #Bearing Stress in Link at C\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Shearing Stress in Pin A = %.1f psi' %tA)\n",
+ "print('Case(b): Shearing Stress in Pin C = %.f psi' %tC)\n",
+ "print('Case(c): Largest Normal Stress in Link ABC = %.f psi' %sA)\n",
+ "print('Case(d): Average Shearing Stress at B = %.f psi' %tB)\n",
+ "print('Case(e): Bearing Stress in Link at C = %.f psi' %sB)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 1.2, Page number 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Diameter of the bolt = 28 mm\n",
+ "Case(a): Dimension b at Each End of the Bar = 62 mm\n",
+ "Case(a): Dimension h of the Bar = 34.300000 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "P = 120 #Maximum allowable tension force \n",
+ "s = 175 #Maximum allowable stress\n",
+ "t = 100 #Maximum allowable stress\n",
+ "Sb = 350 #Maximum allowable stress\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Case(a)\n",
+ "F1=P/2 #Current(A)\n",
+ "d=math.sqrt(((P/2)*1000)/((22/(4*7))*(100000000))) #Diameter of bolt(m)\n",
+ "d=d*1000 #Diameter of bolt(mm)\n",
+ "d=round(d,0) #Rounding of the value of diameter of bolt(mm)\n",
+ "Ad=(0.020*0.028) #Area of cross section of plate \n",
+ "tb=((P*1000)/Ad)/(1000000) #Stress between between the 20-mm-thick plate and the 28-mm-diameter bolt\n",
+ "tb=round(tb,0) #Rounding of the above calculated stress to check if it is less than 350\n",
+ "a=(P/2)/((0.02)*(175)) #Dimension of cross section of ring \n",
+ "a=round(a,2) #Rounding dimension of cross section of ring to two decimal places\n",
+ "b=28 + (2*(a)) #Dimension b at Each End of the Bar\n",
+ "b=round(b,2) #Rounding the dimension b to two decimal places \n",
+ "h=(P)/((0.020)*(175)) #Dimension h of the Bar\n",
+ "h=round(h,1) #Rounding dimension h of bar to 1 decimal place\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print ('Case(a): Diameter of the bolt = %.f mm' %d)\n",
+ "print ('Case(a): Dimension b at Each End of the Bar = %.f mm' %b)\n",
+ "print ('Case(a): Dimension h of the Bar = %f mm' %h)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 1.3, Page number 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Diameter of the bolt = 16.730000 mm\n",
+ "Case(a): Dimension b at Each End of the Bar = 22.000000 mm\n",
+ "Case(a): Dimension h of the Bar = 6.000000 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Su = 600 #ultimate normal stress(MPa) \n",
+ "FS = 3.3 #Factor of safety with respect to failure\n",
+ "tU=350 #Ultimate shearing stress(MPa)\n",
+ "Cx=40 #X Component of reaction at C(kN)\n",
+ "Cy=65 #Y Component of reaction at C(kN)\n",
+ "Smax=300 #Allowable bearing stress of the steel \n",
+ "\n",
+ "#Calculation\n",
+ "C=math.sqrt((math.pow(40,2))+(math.pow(65,2)))\n",
+ "\n",
+ "#Case(a)\n",
+ "P=(15*0.6 + 50*0.3)/(0.6) #Allowable bearing stress of the steel(MPa)\n",
+ "Sall=(Su/FS) #Allowable Stress(MPa)\n",
+ "Sall=round(Sall,1) #Rounding Allowable stress to 1 decimal place(MPa)\n",
+ "Areqa=(P/(Sall*(1000))) #Cross Sectional area(m^2)\n",
+ "Areqa=round(Areqa,5) #Rounding cross sectional area to 5 decimal places(m^2)\n",
+ "dAB=math.sqrt(((Areqa)*(4))/(22/7)) #Diameter of AB(m)\n",
+ "dAB=dAB*1000 #Diameter of AB(mm)\n",
+ "dAB=round(dAB,2) #Rounding Diameter of AB(mm)\n",
+ "\n",
+ "#Case(b)\n",
+ "tALL=tU/FS #Stress(MPa)\n",
+ "tALL=round(tALL,1) #Rounding of Stress\n",
+ "AreqC=((C/2)/tALL) #Cross sectional area(m^2)\n",
+ "AreqC=AreqC*1000 \n",
+ "AreqC=round(AreqC,0) #Rounding the cross sectional area\n",
+ "dC=math.sqrt((4*AreqC)/(22/7)) #Diameter at point C\n",
+ "dC=round((dC+1),0) #Rounding of the diameter at C\n",
+ "\n",
+ "#Case(c)\n",
+ "\n",
+ "Areq=((C/2)/Smax) \n",
+ "Areq=Areq*1000 #Cross sectional area(mm^2)\n",
+ "t=(Areq/22) #Thickness of the bracket\n",
+ "t=round(t,0)\n",
+ "\n",
+ "#Result\n",
+ "print ('Case(a): Diameter of the bolt = % f mm' %dAB)\n",
+ "print ('Case(a): Dimension b at Each End of the Bar = % f mm' %dC)\n",
+ "print ('Case(a): Dimension h of the Bar = % f mm' %t)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Example 1.4, Page number 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Control Rod = 5.263672 kips\n",
+ "Case(b): Bolt at B = 5.156250 kips\n",
+ "Case(c): Bolt at D = 6.865179 kips\n",
+ "Case(d): Bolt at C = 5.238095 kips\n",
+ "Summary. We have found separately four maximum allowable values of the force C. In order to satisfy all these criteria we must choose the smallest value, namely:= 5.156250 kips\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "tU=40 #ultimate tensile stress\n",
+ "sU=60 #ultimate shearing stress\n",
+ "FS=3 #Mimnimum factor of safety\n",
+ "dA=(7/16) #Diameter of bolt at A(in)\n",
+ "dB=3/8 #Diameter of bolt at B(in) \n",
+ "dD=3/8 #Diameter of bolt at D(in)\n",
+ "dC=1/2 #Diameter of bolt at C(in)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Sall=(sU/FS) #Total tensile stress(kips)\n",
+ "B=Sall*((1/4)*(22/7)*(pow((7/16),2))) #Allowable force in the control rod(kips)\n",
+ "C1=1.75*(B) #Control Rod(kips)\n",
+ "tall=(tU/FS) #Total shearing stress\n",
+ "B=2*(tall*(1/4)*(22/7)*(3/8)*(3/8)) #Allowable magnitude of the force B exerted on the bolt\n",
+ "C2=1.75*B #Bolt at B(kips) \n",
+ "D=B #Bolt at D. Since this bolt is the same as bolt B, the allowable force is same(kips) \n",
+ "C3=2.33*D #Bolt at D(kips)\n",
+ "C4=2*(tall*(1/4)*(22/7)*(1/2)*(1/2)) #Bolt at C(kips) \n",
+ "list1=[C1,C2,C3,C4] #Adding all the maximum allowable forces on C(kips) \n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print ('Case(a): Control Rod = % f kips' %C1)\n",
+ "print ('Case(b): Bolt at B = % f kips' %C2)\n",
+ "print ('Case(c): Bolt at D = % f kips' %C3)\n",
+ "print ('Case(d): Bolt at C = % f kips' %C4)\n",
+ "print ('Summary. We have found separately four maximum allowable values of the force C. In order to satisfy all these criteria we must choose the smallest value, namely:= % f kips' %min(list1));"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10.ipynb
new file mode 100644
index 00000000..a6cf6459
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10.ipynb
@@ -0,0 +1,589 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10: Columns"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.01, Page number 638"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Size of cross section if the column is to safetly support 100 kN = 0.100000 psi \n",
+ "Case(b): Size of cross section if the column is to safetly support 200 kN = 129 psi \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=2 # Length(m)\n",
+ "E=13*(pow(10,9)) # Modulus of elasticity(GPa) \n",
+ "Sall=12 # Stress(MPa)\n",
+ "FS=2.5 # Factor of safety(2.5)\n",
+ "Ld1=100 # Load force(kN) \n",
+ "Ld2=200 # Load force(kN) \n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "#(a) For the 100-kN Load\n",
+ "Pcr=FS*Ld1*(1000) # Pressure(kN) \n",
+ "I=(Pcr*(L**2))/(((math.pi)**2)*E) # Moment of inertia(m**4) \n",
+ "a1=round((I*12)**(1/4),1) # Side of square(mm)\n",
+ "S=(100)/((0.1)**2) # Normal stress in column(MPa) \n",
+ "\n",
+ "#(b) For the 200-kN Load \n",
+ "Pcr=FS*(Ld2)*(1000) # Pressure(kN)\n",
+ "I=(Pcr*(L**2))/(((math.pi)**2)*E) # Moment of inertia(m**4)\n",
+ "a=((I)*12)**(1/4) # Side of square(mm)\n",
+ "S=(200/(0.11695)**2) # Normal stress(MPa)\n",
+ "A=(200/12)*(pow(10,-3)) # Area of cross section(m**2)\n",
+ "a2=(A)**(1/2)*(1000) # Side of square(mm)\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Size of cross section if the column is to safetly support 100 kN = %lf psi '%a1)\n",
+ "print('Case(b): Size of cross section if the column is to safetly support 200 kN = %.lf psi '%a2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 10.1, Page number 643"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Ratio for most efficient design = 0.350000 \n",
+ "Case(b): Design for given data breadth = 1.619708 in \n",
+ "Case(b): Design for given data length = 0.566898 in \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=20 # Length of aluminium column(in)\n",
+ "E=10.1*(pow(10,6)) # Modulus of elasticity(psi)\n",
+ "P=5 # Stress(kips) \n",
+ "L=symbols('L') # Variable declaration\n",
+ "Le=symbols('Le') # Variable declaration \n",
+ "Le=0.7*L # Effective length of column\n",
+ "a=symbols('a') # Variable declaration \n",
+ "b=symbols('b') # Variable declaration \n",
+ "Scr=symbols('Scr') # Variable declaration\n",
+ "ry=(b)/(sqrt(12)) # Radius of gyration \n",
+ "FS=2.5 # Factor of safety\n",
+ "\n",
+ "#Calculation \n",
+ "#Buckling in xy Plane\n",
+ "Ix=(1/12)*(a**3)*b # Moment of inertia\n",
+ "A=a*b # Area of cross section\n",
+ "rz=sqrt(((1/12)*b*(a**3))/(a*b)) # Radius of gyration\n",
+ "ESRxy=(Le)/(rz) # Effective slenderness ratio \n",
+ "\n",
+ "\n",
+ "#Buckling in xz Plane \n",
+ "ESRxz=(Le)/(ry) # Effective slenderness ratio\n",
+ "\n",
+ "# Case(a) Most Efficient Design\n",
+ "Ans=((0.7*L)*(sqrt(12)))/((2*L)*(sqrt(12))) # Most efficient design \n",
+ "\n",
+ "# Case(b) Design for Given Data.\n",
+ "Pcr=(FS)*(P) # Pressure(kips)\n",
+ "a=0.35*b # Distance \n",
+ "A=a*b # Area\n",
+ "Scr=(Pcr/A) # Stress\n",
+ "b=(((12500)*((138.6)**2))/(0.35*10.1*(pow(10,6))*((math.pi)**2)))**(1/4) # Distance(in)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Ratio for most efficient design = %lf '%Ans)\n",
+ "print('Case(b): Design for given data breadth = %lf in '%b)\n",
+ "print('Case(b): Design for given data length = %lf in '%(0.35*b))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 10.2, Page number 654 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Allowable load = 31.056698 kips\n",
+ "Case(a): Allowable stress = 8.773078 ksi \n",
+ "Case(b): The horizontal deflection of the top of the column = 0.939000 in \n",
+ "Case(b): Maximum normal stress in the column = 21.981585 ksi \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=(29*(pow(10,6))) # Modulus of elasticity(psi)\n",
+ "FS=2 # Factor of safety \n",
+ "A=3.54 # Area of cross section(in**2) \n",
+ "I=8.00 # Moment of inertia(in**4)\n",
+ "r=1.50 # Radius(in)\n",
+ "c=2.00 # Distance(in) \n",
+ "Lab=8\n",
+ "\n",
+ "#Calculation \n",
+ "# Effective Length\n",
+ "Le=2*(Lab) # Effective length(in)\n",
+ "# Critical Load\n",
+ "Pcr=((((math.pi)**2)*E*(8))/(192)**2)/(1000) # Critical load(kips)\n",
+ "\n",
+ "#Case(a) Allowable Load and Stress\n",
+ "Pall=Pcr/FS # Allowable load(kips)\n",
+ "S=Pall/A # Allowable Stress(ksi)\n",
+ "\n",
+ "#Case(b) Eccentric Load\n",
+ "ym=(0.75)*(2.252-1) # Distance(in)\n",
+ "Sm=(31.1/3.54)*(1+(0.667)*(2.252)) # Distance(in)\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Allowable load = %lf kips'%Pall)\n",
+ "print('Case(a): Allowable stress = %lf ksi '%S)\n",
+ "print('Case(b): The horizontal deflection of the top of the column = %lf in '%ym)\n",
+ "print('Case(b): Maximum normal stress in the column = %lf ksi '%Sm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.02, Page number 664"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The longest unsupported length L = 2.318480 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=1460*(pow(10,-6)) # Area of cross section(m**2)\n",
+ "rx=41.7 # Radius of gyration(mm)\n",
+ "ry=14.6 # Radius of gyration(mm)\n",
+ "P=60*(pow(10,3)) # Force(N)\n",
+ "E=200*(pow(10,9)) # Modulus of elasticity(GPa)\n",
+ "L=symbols('L') # Variable Declaration\n",
+ "r=symbols('r') # Variable Declaration\n",
+ "Scr=symbols('Scr')\n",
+ "\n",
+ "#Calculation \n",
+ "Sall=(P/A) # Stress of all(Pa)\n",
+ "Scr=0.8778*((((math.pi)**2)*(E))/(L/r)**2) # Critical stress\n",
+ "Sall=Scr/1.67 # Stress of all(Pa)\n",
+ "R1=((1.037*(pow(10,12)))/(1.41*(pow(10,6))))**(1/2) # Slenderness ratio\n",
+ "R1l=(4.71)*((200*(pow(10,9)))/(250*(pow(10,6))))**(1/2) # Slenderness ratio\n",
+ "L=158.8*(14.6*(pow(10,-3))) # Choosing the smaller of the two radii of gyration\n",
+ "\n",
+ "#Result\n",
+ "print('The longest unsupported length L = %lf m'%L)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 10.3, Page number 668 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Effective centric load P if the effective length of the column is 24 = 81.649348 kips\n",
+ "Effective centric load P if bracing is provided to prevent the movement of the midpoint C in the xz plane = 187.639873 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Sy=36 # Stress(ksi)\n",
+ "E=(29*(pow(10,6))) # Modulus of elasticity(psi)\n",
+ "A=11.5 # Area(in**2) \n",
+ "FS=2 # Factor of safety\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "ratio=(4.71)*(E/(36*(pow(10,3)))) # Value of the slenderness ratio\n",
+ "\n",
+ "#Case(a) Effective Length\n",
+ "Sr=(24*12)/(1.98) # Value of the slenderness ratio\n",
+ "Scr=((0.877)*((math.pi)**2)*(29*(pow(10,3))))/(145.5)**2 # Value of the slenderness ratio\n",
+ "Sall=(Scr/1.67) # Allowable stress(ksi)\n",
+ "Pall1=Sall*A # Pressure(kips)\n",
+ "#Case(b) Bracing at Midpoint C \n",
+ "#xz Plane\n",
+ "Elxz=(144)/(1.98) # Slenderness ratio\n",
+ "#yz Plane\n",
+ "Elyz=(288)/(4.27) # Slenderness ratio\n",
+ "\n",
+ "Se=(((math.pi)**2)*(E))/(72.7)**2 # Stress(ksi)\n",
+ "Scr=(0.658)**(36/54.1)*(36) # Stress(ksi) \n",
+ "\n",
+ "Sall=(Scr)/(1.67) # Allowable load(ksi)\n",
+ "Pall2=Sall*A # Force(ksi) \n",
+ "\n",
+ "#Result\n",
+ "print('Effective centric load P if the effective length of the column is 24 = %lf kips'%Pall1)\n",
+ "print('Effective centric load P if bracing is provided to prevent the movement of the midpoint C in the xz plane = %lf ksi'%Pall2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 10.4, Page number 669 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The smallest diameter rod that can be used to support the centric load P=60 kN if L=750 mm = 0.036628 \n",
+ "The smallest diameter rod that can be used to support the centric load P=60 kN if L=300 mm = 0.023900 \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=60 # Centric load(kN)\n",
+ "c=symbols('c') # Variable declaration\n",
+ "I=((math.pi)/4)*(c**4) # Moment of inertia\n",
+ "A=(math.pi)*(c**2) # Area of cross section \n",
+ "\n",
+ "#Calculation \n",
+ "r=sqrt(I/A) # Radius\n",
+ "\n",
+ "#Case(a) Length of 750 mm\n",
+ "c=((60*(pow(10,3))*((0.75)**2)*4)/((math.pi)*(382)*(pow(10,9))))**(1/4)\n",
+ "Sr=(750)/(18.31/2)\n",
+ "d1=2*c\n",
+ "\n",
+ "#Case(b) Length of 300 mm\n",
+ "c=11.95 # Radius(mm)\n",
+ "\n",
+ "Sr=((300)*(2))/(11.95) # Slenderness ratio\n",
+ "d2=(2*c)/(1000) # Required diamter(mm)\n",
+ "\n",
+ "#Result\n",
+ "print('The smallest diameter rod that can be used to support the centric load P=60 kN if L=750 mm = %lf '%d1)\n",
+ "print('The smallest diameter rod that can be used to support the centric load P=60 kN if L=300 mm = %lf '%d2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.04, Page number 676"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum load that can be safely applied is = 23.278244 kips\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=28 # Effective length(in)\n",
+ "P=symbols('P')\n",
+ "\n",
+ "#Calculation \n",
+ "A=2**2 # Area of cross ection(in**2)\n",
+ "I=(1/12)*(2**4) # Moment of inertia(in**4)\n",
+ "r=(I/A)**(1/2) # Radius(in)\n",
+ "R1=(28/0.5774) # Ratio\n",
+ "Sall=(30.9-(0.229*48.5)) # Stress for the aluminum column(ksi) \n",
+ "P=solve((P/4)+((P*0.8*1)/(1.333))-19.79,P) # Maximum load that can be safely applied(kips)\n",
+ "\n",
+ "#Result\n",
+ "print('The maximum load that can be safely applied is = %lf kips'%P[0])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.05, Page number 677"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum load that can be safely applied is = 26.568262 kips\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Sallcentric=19.79 # Stress all centric(ksi) \n",
+ "Sallbending=24 # Stress all bending(ksi)\n",
+ "P=symbols('P')\n",
+ "\n",
+ "#Calculation \n",
+ "P=solve((P/4)/(19.79) + ((P*0.8*1)/(1.333*24))-1,P)\n",
+ "\n",
+ "#Result\n",
+ "print('The maximum load that can be safely applied is = %lf kips'%P[0])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 10.5, Page number 678"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The largest allowable load P is thus = 327.340184 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=200 # Modulus of elasticity(GPa)\n",
+ "Sy=250 # Stress(MPa)\n",
+ "P=symbols('P') # Variable declaration\n",
+ "\n",
+ "#Calculation \n",
+ "Sall=162.2/1.67 # Allowable stress(MPa)\n",
+ "\n",
+ "P=solve(P*((1/(9.42*(pow(10,-3))))+(0.200/(1.050*(pow(10,-3)))))-97.1,P) # Largest load P(kN)\n",
+ "\n",
+ "#Result\n",
+ "print('The largest allowable load P is thus = %lf kN'%(P[0]*1000))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 10.6, Page number 678"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The largest allowable load P is thus = 423.169834 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=200 # Modulus of elasticity(GPa)\n",
+ "Sy=150 # Stress(MPa)\n",
+ "P=symbols('P') # Variable declaration\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "P=solve(P*((1/(97.1*9.42*(pow(10,3))))+(0.200/(150*1.050*(pow(10,3)))))-1,P) # Largest allowable load(kN)\n",
+ "\n",
+ "#Result\n",
+ "print('The largest allowable load P is thus = %lf kN'%(P[0]/1000)) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# SAMPLE PROBLEM 10.7, Page number 679"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Selection of Shape. The shape to be used is W8*48\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=symbols('A') # Variable declaration \n",
+ "E=29*(pow(10,6)) # Modulus of elasticity(psi) \n",
+ "Sy=36 # Stress(ksi) \n",
+ "SR=133.7 # Slenderness ratio\n",
+ "Scr=22.5 # Slenderness ratio\n",
+ "\n",
+ "#Calculation \n",
+ "A=solve(22-(85/A)-((425*4)/(A*(pow(3.5,2)))),A) # Area of cross section(in**2) \n",
+ "\n",
+ "#Trial 1: W8*35\n",
+ "#Allowable Bending Stress\n",
+ "Sall=22 # Allowable bending stress(ksi) \n",
+ "#Allowable Concentric Stress\n",
+ "Ratio1=(8.25/13.46)+(13.62/22) # Allowable concentric stress(ksi) \n",
+ "#Since 1.232 > 1.000, the requirement expressed by the interaction formula is not satisfied; we must select a larger trial shape.\n",
+ "\n",
+ "#Trial 2: W8*48\n",
+ "Ratio2=(6.03/13.76)+(9.82/22) # Allowable concentric stress(ksi)\n",
+ "#The W8*48 shape is satisfactory but may be unnecessarily large\n",
+ "\n",
+ "#Trial 3: W8*40\n",
+ "#Following again the same procedure, we find that the interaction formula is not satisfied.\n",
+ "\n",
+ "print ('Selection of Shape. The shape to be used is W8*48')"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11.ipynb
new file mode 100644
index 00000000..9c688aa6
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11.ipynb
@@ -0,0 +1,687 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 11: Energy Methods"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.01, Page number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strain energy :- \n",
+ "0.5*L*P**2/(A*E)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=symbols('P') # Force \n",
+ "L=symbols('L') # Length\n",
+ "A=symbols('A') # Area \n",
+ "E=symbols('E') # Modulus of elasticity \n",
+ "n=symbols('n') # Value\n",
+ "\n",
+ "#Calculation \n",
+ "Un=((P**2)*((1/2)*L))/(2*A*E) + ((P**2)*((1/2)*L))/(2*(n**2)*A*E) # Strain energy\n",
+ "U1=Un.subs(n,1) # Strain energy\n",
+ "\n",
+ "#Result\n",
+ "print('Strain energy :- ')\n",
+ "print(U1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.02, Page number 700"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strain energy :-\n",
+ "0.364*P**2*l/AE\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Fbc=symbols('Fbc') # Force\n",
+ "Fbd=symbols('Fbd') # Force\n",
+ "BC=symbols('BC') # Length\n",
+ "BD=symbols('BD') # Length \n",
+ "AE=symbols('AE') # Length\n",
+ "l=symbols('l') # Length\n",
+ "P=symbols('P') # Force\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "U=((Fbc**2)*(BC))/(2*AE) + ((Fbd**2)*(BD))/(2*AE) # Strain energy\n",
+ "SE=U.subs([(BC, (0.6*l)),(BD, (0.8*l)),(Fbc, (0.6*P)),(Fbd, (0.8*P))]) # Strain energy\n",
+ "\n",
+ "#Result\n",
+ "print('Strain energy :-')\n",
+ "print(SE)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.03, Page number 701"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strain energy :- \n",
+ "P**2*l**3/(6*E*I)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=symbols('P') # Force\n",
+ "x=symbols('x') # Distance \n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "I=symbols('I') # Moment of inertia \n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "U=integrate(((P**2)*(x**2))/(2*E*I),(x,0,l)) # Strain energy\n",
+ "\n",
+ "#Result\n",
+ "print('Strain energy :- ')\n",
+ "print(U)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.04, Page number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Strain energy :- \n",
+ "0.5*L*T**2/(G*j)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "T=symbols('T') # Twisting couple\n",
+ "L=symbols('L') # Length\n",
+ "G=symbols('G') # Modulus of elasticity\n",
+ "j=symbols('j') # Polar moment of inertia\n",
+ "n=symbols('n') # Value \n",
+ "\n",
+ "#Calculation \n",
+ "Un=((T**2)*((1/2)*L))/(2*G*j) + ((T**2)*((1/2)*L))/(2*(n**4)*G*j) # Strain energy\n",
+ "U1=Un.subs(n,1) # Strain energy\n",
+ "\n",
+ "#Result\n",
+ "print('Strain energy :- ')\n",
+ "print(U1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 11.1, Page number 707"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Yield strength of steel :-\n",
+ "36.2049720342386\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=29*(pow(10,6)) # Elastic strain energy(psi) \n",
+ "A=((math.pi)/4)*(pow(0.75,2)) # Area of cross section(in**2)\n",
+ "L=60 # Length(in)\n",
+ "Sy=symbols('Sy') # Stress\n",
+ "\n",
+ "#Calculation \n",
+ "#Factor Of Safety\n",
+ "U=5*120 # Strain energy(in.lb)\n",
+ "#Strain-Energy Density \n",
+ "V=A*L # Volume(in**3)\n",
+ "u=(U/V) # Strain energy density(in.lb/in**3)\n",
+ "#Yield Strength\n",
+ "Sy=solve(Sy**2/(2*29*pow(10,6))-22.6,Sy) # Maximum stress(ksi)\n",
+ "\n",
+ "#Result\n",
+ "print('Yield strength of steel :-')\n",
+ "print(Sy[1]/1000) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 11.2, Page number 708"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Strain energy :-\n",
+ "P**2*a**2*b**2*(a + b)/(6*E*I*L**2)\n",
+ "Case(b): Evaluated Strain energy = 0.000025 psi \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=40 # Force(kips)\n",
+ "L=12 # Length(ft)\n",
+ "a=3 # Length(ft)\n",
+ "b=9 # Length(ft)\n",
+ "E=29*(pow(10,6)) # Modulus of elasticity(psi) \n",
+ "P=symbols('P') # Force\n",
+ "b=symbols('b') # Length \n",
+ "L=symbols('L') # Length\n",
+ "P=symbols('P') # Force\n",
+ "a=symbols('a') # Length \n",
+ "x=symbols('x') # Length\n",
+ "v=symbols('v') # Length\n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "I=symbols('I') # Moment of inertia\n",
+ "\n",
+ "#Calculation \n",
+ "#Bending Moment\n",
+ "Ra=(P*b)/L # Reaction\n",
+ "Rb=(P*a)/L # Reaction\n",
+ "\n",
+ "M1=((P*b)/L)*x # Bending moment\n",
+ "M2=((P*a)/L)*v # Bending moment\n",
+ "\n",
+ "# Case(a) Bending Moment\n",
+ "U=(1/(2*E*I))*(integrate(M1**2,(x,0,a))+integrate(M2**2,(v,0,b))) # Total strain energy\n",
+ "\n",
+ "# Case(b) Evaluation of the Strain Energy\n",
+ "P=40 # Central axial load(kips)\n",
+ "a=36 # Length(in)\n",
+ "L=144 # Length(in) \n",
+ "b=108 # Length(in)\n",
+ "I=248 # Moment of inertia(in**4)\n",
+ "U=U.simplify()\n",
+ "Usubs=(40*36*108)/(6*29*248*144*(pow(10,3))) # Strain energy\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Strain energy :-')\n",
+ "print(U)\n",
+ "print('Case(b): Evaluated Strain energy = %lf psi '%Usubs)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.06, Page number 717"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum value of stress in rod :-\n",
+ "1.0*(Pm**2)**0.5/A\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Pm=symbols('Pm') # Force\n",
+ "L=symbols('L') # Length \n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "A=symbols('A') # Area\n",
+ "m=symbols('m') # Mass \n",
+ "v0=symbols('v0') # Velocity\n",
+ "\n",
+ "#Calculation \n",
+ "Um=(5*(Pm**2)*(L))/(16*A*E) # Strain energy\n",
+ "Pm=((16/5)*((Um*A*E)/(L)))**(1/2) # Force\n",
+ "Sm=Pm/A # Stress \n",
+ "\n",
+ "#Result\n",
+ "print('Maximum value of stress in rod :-')\n",
+ "print(Sm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.07, Page number 717"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum stress in the beam :-\n",
+ "L*c*(Pm**2)**0.5/I\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Pm=symbols('Pm') # Force\n",
+ "L=symbols('L') # Length\n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "I=symbols('I') # Moment of inertia \n",
+ "m=symbols('m') # Mass\n",
+ "v0=symbols('v0') # Velocity\n",
+ "Lc=symbols('Lc') # Length\n",
+ "W=symbols('W') # Work \n",
+ "h=symbols('h') # Height\n",
+ "c=symbols('c') # Radius \n",
+ "\n",
+ "#Calculation \n",
+ "Um=((Pm**2)*(L**3))/(6*E*I) # Strain energy\n",
+ "Pm=((6)*((Um*E*I)/(L**3)))**(1/2) # Static force\n",
+ "Sm=(Pm*L*c)/(I) # Maximum stress \n",
+ "\n",
+ "#Result\n",
+ "print('Maximum stress in the beam :-')\n",
+ "print(Sm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.08, Page number 721"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Equivalent static load :-\n",
+ "48**0.5*(E*I*m*v0**2/L**3)**0.5\n",
+ "Case(b): Maximum stress :-\n",
+ "3**0.5*(E*c**2*m*v0**2/(I*L))**0.5\n",
+ "Case(c): Maximum deflection :-\n",
+ "48**0.5*L**3*(E*I*m*v0**2/L**3)**0.5/(48*E*I)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Pm=symbols('Pm') # Force\n",
+ "L=symbols('L') # Length \n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "I=symbols('I') # Moment of inertia\n",
+ "m=symbols('m') # Mass\n",
+ "v0=symbols('v0') # Velocity\n",
+ "Lc=symbols('Lc') # Length \n",
+ "h=symbols('h') # Height\n",
+ "c=symbols('c') # Length\n",
+ "xm=symbols('xm') # Distance\n",
+ "\n",
+ "#Calculation \n",
+ "Um=(1/2)*(m)*(v0**2) # Strain energy\n",
+ "Um=(1/2)*(Pm)*(xm) # Expressing Um as the work of the equivalent horizontal static load\n",
+ "xm=((Pm)*(L**3))/(48*E*I) # Deflection of c corresponding to static load Pm \n",
+ "Um=(((Pm**2)*(L**3))/(48*E*I))*(1/2) # Substituting xm in strain energy\n",
+ "Pm=((48*m*(v0**2)*(E)*I)/(L**3))**(1/2) # Static load\n",
+ "Sm=(Pm*Lc)/(4*I) # Maximum stress\n",
+ "Sm=((3*m*(v0**2)*(E)*I)/(L*(I/c)**2))**(1/2) # Maximum stress after sustituting for Pm\n",
+ "xm=Pm*((L**3)/(48*E*I)) # Maximum deflection\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Equivalent static load :-')\n",
+ "print(Pm)\n",
+ "print('Case(b): Maximum stress :-')\n",
+ "print(Sm)\n",
+ "print('Case(c): Maximum deflection :-')\n",
+ "print(xm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.09, Page number 723"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Vertical deflection of B :-\n",
+ "[0.728*L*P/(A*E)]\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Pm=symbols('Pm') # Force\n",
+ "L=symbols('L') # Length \n",
+ "E=symbols('E') # Modulus of elasticity \n",
+ "A=symbols('A') # Area of crosssection\n",
+ "m=symbols('m') # Mass \n",
+ "v0=symbols('v0') # Velocity \n",
+ "P=symbols('P') # Force\n",
+ "yb=symbols('yb') # Distance\n",
+ "\n",
+ "#Calculation \n",
+ "yb=solve(0.364*(((P**2)*L)/(A*E))-(1/2)*P*yb,yb)\n",
+ "\n",
+ "#Result\n",
+ "print('Vertical deflection of B :-')\n",
+ "print(yb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.10, Page number 723"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Deflection of end A taking into account of normal stress only:-\n",
+ "[0.333333333333333*L**3*P/(E*I)]\n",
+ "Deflection of end A taking into account of both the normal and shearing stresses.:-\n",
+ "[0.0333333333333333*L*P**2*(3.0*E*h**2 + 10.0*G*L**2)/(E*G*I)]\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Pm=symbols('Pm') # Force \n",
+ "L=symbols('L') # Length\n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "I=symbols('I') # Moment of inertia \n",
+ "m=symbols('m') # Mass\n",
+ "P=symbols('P') # Force\n",
+ "yA=symbols('yA') # Distance\n",
+ "h=symbols('h') # Height\n",
+ "G=symbols('G') # Modulus of elasticity \n",
+ "\n",
+ "#Calculation \n",
+ "yA1=solve((((P**2)*(L**3))/(6*E*I))-(1/2)*P*yA,yA) # Deflection of end A \n",
+ "yA2=solve((((P**3)*(L**3))/(6*E*I))*(1+(3*E*(h**2))/(10*(G)*(L**2)))-(1/2)*(P)*(yA),yA) # Deflection of end A\n",
+ "\n",
+ "#Result\n",
+ "print('Deflection of end A taking into account of normal stress only:-')\n",
+ "print(yA1)\n",
+ "print('Deflection of end A taking into account of both the normal and shearing stresses.:-')\n",
+ "print(yA2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 11.11, Page number 724"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Angle of twist for entire shaft:-\n",
+ "[0.53125*L*T/(G*J)]\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Pm=symbols('Pm') # Force\n",
+ "L=symbols('L') # Length\n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "I=symbols('I') # Moment of inertia\n",
+ "m=symbols('m') # Mass\n",
+ "P=symbols('P') # Force\n",
+ "yA=symbols('yA') # Distance \n",
+ "h=symbols('h') # Height\n",
+ "G=symbols('G') # Modulus of rigidity \n",
+ "T=symbols('T') # Torque\n",
+ "J=symbols('J') # Polar moment of inertia \n",
+ "phyDB=symbols('phyDB') # Angle of twist\n",
+ "\n",
+ "#Calculation \n",
+ "phyDB=solve((17/32)*(T**2)*(L)*(1/(2*G*J))-(1/2)*(T)*(phyDB),phyDB) # Angle of twist\n",
+ "\n",
+ "#Result\n",
+ "print('Angle of twist for entire shaft:-')\n",
+ "print(phyDB)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 11.3, Page number 725 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum deflection of point C:-\n",
+ "10.2734993791682\n",
+ "Maximum stress:-\n",
+ "179.9296875\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "ym=symbols('ym') # Distance\n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "I=symbols('I') # Moment of inertia\n",
+ "L=symbols('L') # Length\n",
+ "W=symbols('W') # Weight \n",
+ "h=symbols('h') # Height\n",
+ "\n",
+ "#Calculation \n",
+ "#Principle of Work and Energy\n",
+ "Pm=(48*E*I)/(L**3) # Force \n",
+ "U2=(1/2)*Pm*ym # Strain energy\n",
+ "Eq=U2-(W*(h+ym)) # Equation\n",
+ "\n",
+ "#Case(a) Maximum Deflection of Point C\n",
+ "E=73*(pow(10,9)) # Modulus of elasticity(Pa) \n",
+ "I=(1/12)*((0.04)**4) # Moment of inertia(m**4) \n",
+ "L=1 # Length(m)\n",
+ "h=0.040 # Height(m)\n",
+ "W=80*9.81 # Force(N) \n",
+ "ym=solve(373.8*(pow(10,3))*(ym**2)-(784.8)*ym-31.39,ym) # Distance(mm)\n",
+ "\n",
+ "\n",
+ "#Case(b) Maximum Stress\n",
+ "Pm=48*(15.573*(pow(10,3)))*(0.01027) # Force(N)\n",
+ "Sm=(((1/4)*(7677)*(0.020))/((1/12)*pow(0.040,4)))/(1000000) # Stress(MPa)\n",
+ "\n",
+ "#Result\n",
+ "print('Maximum deflection of point C:-')\n",
+ "print(ym[1]*1000)\n",
+ "print('Maximum stress:-')\n",
+ "print(Sm)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2.ipynb
new file mode 100644
index 00000000..593def57
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2.ipynb
@@ -0,0 +1,1108 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Chapter 2 : Stress and Strain—Axial Loading"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.01, Page number 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Deformation of the steel rod = 0.075900 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=29*(pow(10,6)) # Modulus of elasticity(psi) \n",
+ "L1=12 # Length(in) \n",
+ "L2=12 # Length(in)\n",
+ "L3=16 # Length(in)\n",
+ "A1=0.9 # Area(in**2) \n",
+ "A2=0.9 # Area(in**2)\n",
+ "A3=0.3 # Area(in**2) \n",
+ "P1=60*(pow(10,3)) # Internal force(lb)\n",
+ "P2=15*(pow(10,3)) # Internal force(lb)\n",
+ "P3=30*(pow(10,3)) # Internal force(lb)\n",
+ "\n",
+ "#Calculation \n",
+ "Delta=round((1/E)*(((P1*L1)/A1)+(-(P2*L2)/A2)+((P3*L3)/A3)),4) # deformation of the steel rod(in)\n",
+ "\n",
+ "#Result\n",
+ "print ('Deformation of the steel rod = %lf in' %Delta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 2.1, Page number 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Deflection of B = -0.514286 psi\n",
+ "Case(b): Deflection of D = 0.300000 psi\n",
+ "Case(c): Deflection of E = 1.928223 psi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Eab=70*(pow(10,9)) # Modulus of elasticity of AB(GPa) \n",
+ "Aab=500*(pow(10,-6)) # Cross sectional area of AB(mm**2) \n",
+ "Ecd=200*(pow(10,9)) # Modulus of elasticity of CD(GPa)\n",
+ "Acd=600*(pow(10,-6)) # Cross sectional area of CD(mm**2) \n",
+ "Fe=30 # Force(kN) \n",
+ "Pb=-60*(pow(10,3)) # Internal force in link AB(kN)\n",
+ "n=-1\n",
+ "Pd=90*(pow(10,3)) # Internal force in link CD(kN)\n",
+ "Lab=0.3 # Length of AB(m)\n",
+ "Lcd=0.4 # Length of CD(m)\n",
+ "x=symbols('x') # Variable declaration \n",
+ "Se=symbols('Se') # Variable declaration\n",
+ "\n",
+ "#Calculation \n",
+ "#Free Body: Bar BDE\n",
+ "Fcd=(30*0.6)/(0.2) # Force of tension(kN)\n",
+ "Fab=n*(30*0.4)/(0.2) # Force of compression(kN)\n",
+ "\n",
+ "#Case(a)\n",
+ "#Deflection of B.\n",
+ "Sb=((Pb*Lab)/(Aab*Eab))*(1000) # Deflection of B(mm)\n",
+ "\n",
+ "#Case(b)\n",
+ "#Deflection of D.\n",
+ "Sd=((Pd*Lcd)/(Acd*Ecd))*(1000) # Deflection of D(mm)\n",
+ "\n",
+ "#Case(c)\n",
+ "#Deflection of E.\n",
+ "x=solve(((200-x)/x)-((0.514)/(0.300)),x) # Distance HD(mm)\n",
+ "Se=solve(((400+73.7)/73.7)-(Se/0.300),Se) # Deflection of E(mm)\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Deflection of B = %1f psi' %Sb)\n",
+ "print('Case(b): Deflection of D = %lf psi' %Sd)\n",
+ "print('Case(c): Deflection of E = %lf psi' %Se[0])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# SAMPLE PROBLEM 2.2, Page number 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stress in rod = 10.533169 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Lb=18 # Length of Bolt CD(in)\n",
+ "Pb=symbols('Pb') # Force(kips)\n",
+ "Ab=((1/4)*(math.pi)*pow(0.75,2)) # Area of cross section of CD and GH(in**2) \n",
+ "Eb=(29*(pow(10,6))) # Modulus of elasticity of steel(psi)\n",
+ "Lr=12 # Length of Bolt EF(in)\n",
+ "Pr=symbols('Pr') # Force(kips)\n",
+ "Ar=((1/4)*(math.pi)*pow(1.5,2)) # Area of cross section of EF(in**2) \n",
+ "Er=((10.6)*(pow(10,6))) # Modulus of elasticity of aluminium(psi)\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "# Bolts CD and GH\n",
+ "Sb=((Pb*Lb)/(Ab*Eb)) # Deformation \n",
+ "\n",
+ "# Rod EF\n",
+ "Sr=n*((Pr*Lr)/(Ar*Er)) # Deformation\n",
+ "\n",
+ "# Displacement of D Relative to B\n",
+ "Eq=(1/4)*(0.1)-Sb+Sr # Because displacements are equal to the deformations of the bolts and of the rod\n",
+ "\n",
+ "# Free Body: Casting B\n",
+ "#Pr-2*Pb=0 # Submission of forces is zero\n",
+ "\n",
+ "# Forces in Bolts and Rod\n",
+ "Pb=(solve((Eq).subs(Pr,(2*Pb)))[0])/(1000) # Force in the bolt(kips) \n",
+ "Pr=2*Pb # Force in th rod(kips) \n",
+ "\n",
+ "# Stress in Rod\n",
+ "er=Pr/Ar # Stress in rod(ksi)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print('Stress in rod = %1f ksi' %er)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.02, Page number 78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Deformation in the rod :-\n",
+ "L*P/(A1*E1 + A2*E2)\n",
+ "Deformation in the tube :-\n",
+ "L*P/(A1*E1 + A2*E2)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P1=symbols('P1') # Axial force \n",
+ "L=symbols('L') # Length of rod\n",
+ "A1=symbols('A1') # Cross section of rod\n",
+ "E1=symbols('E1') # Modulus of elasticity\n",
+ "P2=symbols('P2') # Axial force\n",
+ "A2=symbols('A2') # Cross section of rod\n",
+ "E2=symbols('E2') # Modulus of elasticity \n",
+ "P=symbols('P') # Total axial force \n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "S1=(P1*L)/(A1*E1) # Deforamation in rod \n",
+ "S2=(P2*L)/(A2*E2) # Deformation in rod\n",
+ "\n",
+ "P1=((P2)/(A2*E2))*(A1*E1) # Equating deformations S1 and S2 \n",
+ "\n",
+ "P2=solve(P1-P+P2,P2) # Solving the above equation for P2\n",
+ "P1=((P2[0]/(A2*E2))*(A1*E1)) # Solving for P1 \n",
+ "S1=(P1*L)/(A1*E1)\n",
+ "S2=(P2[0]*L)/(A2*E2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Deformation in the rod :-\")\n",
+ "print(S1)\n",
+ "print(\"Deformation in the tube :-\")\n",
+ "print(S2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.03, Page number 79"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stress in AC :-\n",
+ "L1*P1/(A*E)\n",
+ "Stress in BC :-\n",
+ "L2*P2/(A*E)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Ra=symbols('Ra') # Reaction at A\n",
+ "Rb=symbols('Rb') # Reaction at B\n",
+ "P=symbols('P') # Net reaction \n",
+ "S=symbols('S') # Total elongation\n",
+ "S1=symbols('S1') # Elongation of AC\n",
+ "S2=symbols('S2') # Elongation of BC\n",
+ "L1=symbols('L1') # Length of AC\n",
+ "L2=symbols('L2') # Length of BC\n",
+ "P1=symbols('P1') # Internal force \n",
+ "P2=symbols('P2') # Internal force\n",
+ "A=symbols('A') # Area of cross section\n",
+ "E=symbols('E') # Modulus of elasticity \n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "S1=(P1*L1)/(A*E) # Elongation of AC \n",
+ "S2=(P2*L2)/(A*E) # Elongation of BC\n",
+ "S=S1+S2 # Total elongation of the bar \n",
+ "S=0 # Total elongation of the bar is zero \n",
+ "\n",
+ "x=solve((Ra*L1-Rb*L2, Ra+Rb-P), Ra, Rb) # Solving the equations to find reactions at A and B. \n",
+ "\n",
+ "e1=(x[Ra])/A # Stress in AC\n",
+ "e2=(x[Rb])/A # Stress in BC\n",
+ "\n",
+ "#Result\n",
+ "print(\"Stress in AC :-\")\n",
+ "print(S1)\n",
+ "print(\"Stress in BC :-\")\n",
+ "print(S2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.04, Page number 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Reaction at A = 577823.076923\n",
+ "Reaction at B = 576923.076923\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P1=0 # Force in the first portion(N) \n",
+ "P2=600*(pow(10,3)) # Force in the second portion(N)\n",
+ "P3=600*(pow(10,3)) # Force in the third portion(N)\n",
+ "P4=900*(pow(10,3)) # Force in the forth portion(N) \n",
+ "E=symbols('E') # Modulus of elasticity\n",
+ "Rb=symbols('Rb') # Reaction at B(N) \n",
+ "n=-1\n",
+ "\n",
+ "A1=400*(pow(10,-6)) # Area of cross section of first portion(m**2)\n",
+ "A2=400*(pow(10,-6)) # Area of cross section of second portion(m**2) \n",
+ "A3=250*(pow(10,-6)) # Area of cross section of third portion(m**2)\n",
+ "A4=250*(pow(10,-6)) # Area of cross section of forth portion(m**2)\n",
+ "\n",
+ "L1=0.150 # Length of first portion(m) \n",
+ "L2=0.150 # Length of second portion(m)\n",
+ "L3=0.150 # Length of third portion(m)\n",
+ "L4=0.150 # Length of forth portion(m)\n",
+ "\n",
+ "#Calculation \n",
+ "Sl=((600*(pow(10,3)))/(400*(pow(10,-6))) + (600*(pow(10,3)))/(250*(pow(10,-6))) + (900*(pow(10,3)))/(250*(pow(10,-6))))*(0.150/E) # Deformation(m) \n",
+ "P1=n*Rb # Force on first portion(N) \n",
+ "P2=n*Rb # Force on second portion(N) \n",
+ "A1=400*(pow(10,-6)) # Area of cross section of first portion(m**2)\n",
+ "A2=250*(pow(10,-6)) # Area of cross section of second portion(m**2)\n",
+ "L1=0.300 # Length of first portion(m) \n",
+ "L2=0.300 # Length of second portion(m)\n",
+ "\n",
+ "Sr=(P1*L1)/(A1*E) + (P2*L2)/(A2*E) # Deformation(m)\n",
+ "\n",
+ "Rb=solve(Sl+Sr,Rb) # Reaction at B(N)\n",
+ "\n",
+ "Ra=900+(Rb[0]) # Reaction at A(N) \n",
+ "\n",
+ "#Result\n",
+ "print('Reaction at A = %lf' %Ra)\n",
+ "print('Reaction at B = %lf' %Rb[0])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.05, Page number 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Reaction at A = 784.615385\n",
+ "Reaction at B = 115.384615\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=200*(pow(10,9)) # Modulus of elasticity(GPa)\n",
+ "Rb=symbols('Rb') # Reaction at B(N) \n",
+ "Ra=symbols('Ra') # Reaction at A(N)\n",
+ "#Calculation \n",
+ "Rb=(solve(((1.125*(pow(10,9)))/(200*(pow(10,9))))-(((1.95*(pow(10,3)))*Rb)/(200*(pow(10,9))))-(4.5*(pow(10,-3))),Rb))[0]/(10**3) # Solving for Rb(N)\n",
+ "Ra=solve(Ra-900+Rb,Ra) # Solving for Ra(N) \n",
+ "\n",
+ "#Result\n",
+ "print('Reaction at A = %lf' %Ra[0])\n",
+ "print('Reaction at B = %lf' %Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.06, Page number 84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 78,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stress in portion AC = 31.416667\n",
+ "Stress in portion CB = 15.708333\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=29*(pow(10,6)) # Modulus of elasticity(psi)\n",
+ "Alpha=6.5*(pow(10,-6)) # Constant(/F)\n",
+ "L1=12 # Length of AC(m)\n",
+ "L2=12 # Length of CB(m)\n",
+ "A1=0.6 # Area of cross section of AC(m**2)\n",
+ "A2=1.2 # Area of cross section of BC(m**2) \n",
+ "Rb=symbols('Rb') # Reaction at B(N)\n",
+ "P1=Rb # Internal force(N)\n",
+ "P2=Rb # Internal force(N)\n",
+ "DELTAt=n*(50+75) # Diff in temperature(F)\n",
+ "AC=12 # Length of AC(m)\n",
+ "CB=12 # Length of CB(m)\n",
+ "\n",
+ "#Calculation\n",
+ "St=Alpha*DELTAt*24 # Deformation(in)\n",
+ "Sr=((P1*L1)/(A1*E)) + ((P2*L2)/(A2*E)) # Deformation(in)\n",
+ "\n",
+ "Rb=(solve(St+Sr,Rb))[0]/(1000) # Reaction at B(kips) \n",
+ "S1=(Rb)/A1 # Stress in portion AC(ksi)\n",
+ "S2=(Rb)/A2 # Stress in portion CB(ksi)\n",
+ "\n",
+ "Et=Alpha*DELTAt # Thermal strain(in./in.) \n",
+ "Ratio=S1/E # Other component of eAC(in./in.)\n",
+ "Eac=Et + S1/E # Component of strain in AC(in)\n",
+ "Ecb=Et + S2/E # Component of strain in CB(in) \n",
+ "\n",
+ "Sac=Eac*(AC) # Deformation of rod AC(in)\n",
+ "Scb=Ecb*(CB) # Deformation of rod CB(in)\n",
+ "\n",
+ "#Result\n",
+ "print('Stress in portion AC = %lf' %S1)\n",
+ "print('Stress in portion CB = %lf' %S2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 2.3, Page number 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 89,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Force in rod DF = 7.5 psi\n",
+ "Case(a): Force in rod CE = 2.497916 psi\n",
+ "Case(b): Deflection of point A = 0.043249 psi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "Ldf=30 # Length of DF(in)\n",
+ "Adf=(1/4)*(math.pi)*(3/4)*(3/4) # Cross sectional area of DF(in**2) \n",
+ "Lce=24 # Length of CE(in)\n",
+ "Ace=(1/4)*(math.pi)*(1/2)*(1/2) # Cross sectional area of DF(in**2) \n",
+ "E=(10.6*pow(10,6)) # Molulus of elasticity(psi)\n",
+ "Fce=symbols('Fce') # Force on CE(N) \n",
+ "Fdf=symbols('Fdf') # Force on DF(N)\n",
+ "Sd=symbols('Sd') # Force on CE(N) \n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "# Statics\n",
+ "Eq=Fce*12 + Fdf*20 - 180 # Because submission of Mb is 0 \n",
+ "\n",
+ "# Geometry\n",
+ "Sc=0.6*Sd # By using similar triangles\n",
+ "Sa=0.9*Sd # By using similar triangles\n",
+ "\n",
+ "# Deformations\n",
+ "Sc=(Fce*Lce)/(Ace*E) # Deformation at C(in) \n",
+ "Sd=(Fdf*Ldf)/(Adf*E) # Deformation at D(in) \n",
+ "Fce=0.333*Fdf # By solving Sc= 0.6*Sd we get this result\n",
+ "\n",
+ "# Force in Each Rod\n",
+ "Fdf=(180/(((12)*(0.333))+20)) # By using Eq and the value of Fce \n",
+ "Fce=0.333*Fdf # Force in CE(N)\n",
+ "\n",
+ "# Case(b)\n",
+ "# Deflections\n",
+ "Sd=(Fdf*(pow(10,3))*Ldf)/(Adf*E) # Deflection of point D(in)\n",
+ "Sa=0.9*Sd # Deflection of point A(in) \n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Force in rod DF = %.1f psi' %Fdf)\n",
+ "print('Case(a): Force in rod CE = %lf psi' %Fce)\n",
+ "print('Case(b): Deflection of point A = %lf psi' %Sa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 2.4, Page number 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stress in cylinder = 44.8 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "\n",
+ "Ldf=30 # Length of DF(in)\n",
+ "Adf=(1/4)*(math.pi)*(3/4)*(3/4) # Cross sectional area of DF(in**2) \n",
+ "Lce=24 # Length of CE(in)\n",
+ "Ace=(1/4)*(math.pi)*(1/2)*(1/2) # Cross sectional area of DF(in**2) \n",
+ "E=(10.6*pow(10,6)) # Molulus of elasticity(psi)\n",
+ "Fce=symbols('Fce') # Force on CE(N) \n",
+ "Fdf=symbols('Fdf') # Force on DF(N)\n",
+ "Sd=symbols('Sd') # Force on CE(N) \n",
+ "Rb=symbols('Rb') # Reaction at B(m) \n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "Ra=0.4*Rb # By considering the free body motion\n",
+ "L=0.3 # Length of rod DE(m) \n",
+ "DeltaT=30 # Change in temperature(C) \n",
+ "Alpha=(20.9*pow(10,-6)) # Constant(/C)\n",
+ "A=(1/4)*(math.pi)*(pow(0.22,2)) # Area of cross-section of rod AC(m**2)\n",
+ "E=200 # Molulus of elasticity(psi)\n",
+ "\n",
+ "St=L*(DeltaT)*Alpha # Deflection(m)\n",
+ "\n",
+ "temp=(L/(A*E)) \n",
+ "Sc=str(temp)+'*Ra' # Deflection(m) \n",
+ "\n",
+ "Sd=str(0.4)+'*Sc' # Deflection(m)\n",
+ "Sd=4.74*pow(10,-9) # After computing the above equation\n",
+ "\n",
+ "Sbd=str(4.04*pow(10,-9))+'*Ra' # Deflection(m)\n",
+ "\n",
+ "S1=str(5.94*pow(10,-9))+'*Rb' # Deflection(m)\n",
+ "\n",
+ "Rb=((188.1*pow(10,-6))/(5.94*pow(10,-9)))/(pow(10,3)) # Reaction at B(m) \n",
+ "\n",
+ "db=((round(Rb,1))/((1/4)*(math.pi)*(pow(0.03,2))))/(pow(10,3)) # Stress in cylinder(MPa)\n",
+ "\n",
+ "#Result\n",
+ "print('Stress in cylinder = %.1f MPa' %db)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.07, Page number 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Modulus of elasticity = 99471839.4 GPa\n",
+ "Poissons ratio = 0.2 \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=12*(pow(10,3)) # Axial load(kN)\n",
+ "r=8*(pow(10,-3)) # Radius of the rod(m)\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation\n",
+ "A=(math.pi)*(r**2) # Cross sectional area of rod(m**2)\n",
+ "Sx=(P/A) # Stress in cylinder(MPa) \n",
+ "Ex=(300/500) # Strain()\n",
+ "Ey=(n*(2.4))/16 # Strain()\n",
+ "\n",
+ "E=Sx/Ex # Modulus of elasticity(GPa)\n",
+ "v=n*(Ey/Ex) # Poissons ratio() \n",
+ "\n",
+ "#Result\n",
+ "print('Modulus of elasticity = %.1f GPa' %E)\n",
+ "print('Poissons ratio = %.1f ' %v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.08, Page number 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Change in length in y direction = -0.000600 in\n",
+ "Change in length in z direction = -0.000900 in\n",
+ "Pressure = 20.7 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=29*(pow(10,6)) # Modulus of elasticity(GPa)\n",
+ "v=0.29 # Poissons ratio()\n",
+ "Sx=symbols('Sx') # Strain variable \n",
+ "Sy=symbols('Sy') # Strain variable\n",
+ "Sz=symbols('Sz') # Strain variable\n",
+ "Ex=symbols('Ex') # Stress variable\n",
+ "Ey=symbols('Ey') # Stress variable\n",
+ "Ez=symbols('Ez') # Stress variable\n",
+ "p=symbols('p') # pressure\n",
+ "n=-1\n",
+ "Sx=n*p # Strain at x\n",
+ "Sy=n*p # Strain at y\n",
+ "Sz=n*p # Strain at z \n",
+ "Ey=Ez=Ex # Equating all the stresses\n",
+ "\n",
+ "#Calculation\n",
+ "# Case(a)\n",
+ "Ex=((n*p)*(1-(2*v)))/E # Stress \n",
+ "Ex=(n*1.2*(pow(10,3)))/4 # Stress(in./in)\n",
+ "DELTAy=n*(300*(pow(10,-6)))*(2) # Change in length(in)\n",
+ "DELTAz=n*(300*(pow(10,-6)))*(3) # Change in length(in) \n",
+ "# Case(b)\n",
+ "p=(solve(p+((29*(pow(10,6)))*(n*300*(pow(10,-6))))/(1-0.58),p)[0])/(pow(10,3)) # pressure(ksi)\n",
+ "\n",
+ "#Result\n",
+ "print('Change in length in y direction = %1f in' %DELTAy)\n",
+ "print('Change in length in z direction = %1f in' %DELTAz)\n",
+ "print('Pressure = %.1f ksi' %p)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.09, Page number 98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Change in volume = -217.728000 mm**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "p=180 # Hydrostatic pressure(MPa)\n",
+ "E=200 # Modulus of elasticity(GPa)\n",
+ "v=0.29 # Poissons ratio() \n",
+ "\n",
+ "#Calculation\n",
+ "k=E/(3*(1-(2*v))) # Bulk modulus of steel(GPa)\n",
+ "e=-p/k # Dialation \n",
+ "V=80*40*60 # Volume of block in unstressed state(mm**3)\n",
+ "DELTAv=(e*V)/(pow(10,3)) # change in volume per unit volume\n",
+ "\n",
+ "# Results\n",
+ "print('Change in volume = %1f mm**3' %DELTAv)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.10, Page number 101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shearing strain in rod=0.020000 rad\n",
+ "Force exerted on the upper plate=36.000000 kips\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "G=90 # Modulus of rigidity(ksi)\n",
+ "disp=0.04 # Displacement of upper rod(in)\n",
+ "Lda=2 # Height of bar(in)\n",
+ "A=8*2.5 # Area of cross section(in**2)\n",
+ "\n",
+ "#Calculation\n",
+ "Yxy=(disp/Lda) # Shearing strain(rad)\n",
+ "Txy=(90*(pow(10,3)))*(0.020) # Shearing stress(psi) \n",
+ "P=(Txy*A)/(pow(10,3)) # Force exerted on the upper plate(kips) \n",
+ "\n",
+ "# Results\n",
+ "print('Shearing strain in rod=%1f rad' %Yxy)\n",
+ "print('Force exerted on the upper plate=%1f kips' %P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.11, Page number 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Change in cube dimension in x direction=-14.981914 um\n",
+ "Change in cube dimension in y direction=0.000000 um\n",
+ "Change in cube dimension in z direction=5.443356 um\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Ex=155.0 # Modulus of elasticity in x direction(GPa)\n",
+ "Ey=12.10 # Modulus of elasticity in y direction(GPa)\n",
+ "Ez=12.10 # Modulus of elasticity in z direction(GPa)\n",
+ "Vxy=0.248 # Poissons ratio in xy direction\n",
+ "Vxz=0.248 # Poissons ratio in xz direction\n",
+ "Vyz=0.458 # Poissons ratio in yz direction\n",
+ "n=-1\n",
+ "F=140*(pow(10,3)) # Compressive load(kN)\n",
+ "L=0.060 # Length of cube(m)\n",
+ "\n",
+ "#Calculation\n",
+ "#(a) Free in y and z Directions\n",
+ "Sx=(n*F)/(0.060*0.060) # Stress in x direction(MPa)\n",
+ "Sy=0 # Stress in y direction(MPa) \n",
+ "Sz=0 # Stress in z direction(MPa) \n",
+ "ex=Sx/Ex # Lateral strains \n",
+ "ey=n*((Vxy*Sx)/Ex) # Lateral strains \n",
+ "ez=n*((Vxy*Sx)/Ex) # Lateral strains\n",
+ "DELTAx=ex*L # Change in cube dimension in x direction(um) \n",
+ "DELTAy=ey*L # Change in cube dimension in y direction(um)\n",
+ "DELTAz=ez*L # Change in cube dimension in z direction(um)\n",
+ "#(b) Free in z Direction, Restrained in y Direction\n",
+ "Sx=n*38.89 # Stress in x direction(MPa)\n",
+ "Sy=(Ey/Ex)*(Vxy)*(Sx) # Stress in y direction(MPa) \n",
+ "Vyx=(Ey/Ex)*(Vxy) # Poissons ratio\n",
+ "ex=(Sx/Ex)-(((Vyx)*(Sy))/Ey) # Lateral strains in x direction\n",
+ "ey=0 # Lateral strains in y direction\n",
+ "ez=n*((Vxz*Sx)/Ex)-(((Vyz)*(Sy))/Ey) # Lateral strains in z direction\n",
+ "DELTAx=ex*L*1000 # Change in cube dimension in x direction(um) \n",
+ "DELTAy=ey*L # Change in cube dimension in y direction(um)\n",
+ "DELTAz=ez*L*1000 # Change in cube dimension in z direction(um)\n",
+ "\n",
+ "# Results\n",
+ "print('Change in cube dimension in x direction=%1f um' %DELTAx)\n",
+ "print('Change in cube dimension in y direction=%1f um' %DELTAy)\n",
+ "print('Change in cube dimension in z direction=%1f um' %DELTAz)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 2.5, Page number 107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Change in diamter of rod AB =0.004800 in\n",
+ "Change in diamter of rod CD =0.014400 in\n",
+ "Change in thickness =-0.000800 in\n",
+ "Volume of the plate =0.180000 in**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "d=9 # Diameter of the rod(in)\n",
+ "t=3/4 # Thickness of the rod(in)\n",
+ "ex=12 # Normal stresses(ksi) \n",
+ "ez=20 # Normal stresses(ksi)\n",
+ "E=(10*pow(10,6)) # Moduluus of elasticity(psi)\n",
+ "v=(1/3) # Poissons ratio\n",
+ "V=15*15*(3/4) # Volume(in**3)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "STRAINx=(1/pow(10,7))*(12-(20/3))*(1000) # Strain in x direction(in./in) \n",
+ "STRAINy=n*(1/pow(10,7))*((12/3)+(20/3))*(1000) # Strain in y direction(in./in)\n",
+ "STRAINz=(1/pow(10,7))*(20-(12/3))*(1000) # Strain in z direction(in./in)\n",
+ "\n",
+ "\n",
+ "#Case(a) \n",
+ "DELTAba=(STRAINx)*(d) # Change in diameter(in)\n",
+ "#Case(b) \n",
+ "DELTAcd=(STRAINz)*(d) # Change in diameter(in)\n",
+ "#Case(c) \n",
+ "DELTAt=(STRAINy)*(t) # Change in thickness(in)\n",
+ "#Case(d) \n",
+ "e=(STRAINx+STRAINy+STRAINz) # Volume of the plate(in**3)\n",
+ "DeltaV=(e*V) \n",
+ "\n",
+ "# Results\n",
+ "print('Change in diamter of rod AB =%1f in' %DELTAba)\n",
+ "print('Change in diamter of rod CD =%1f in' %DELTAcd)\n",
+ "print('Change in thickness =%1f in' %DELTAt)\n",
+ "print('Volume of the plate =%1f in**3' %DeltaV)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.12, Page number 116"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Largest Axial Load =36.300000 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "D=60 # Width(mm) \n",
+ "d=40 # Width(mm)\n",
+ "r=8 # Radius(mm)\n",
+ "K=1.82 # Stress-concentration factor\n",
+ "Smax=165 # Allowable normal stress(MPa)\n",
+ "\n",
+ "#Calculation\n",
+ "eave=(165/1.82) # Average stress in the narrower portion(MPa) \n",
+ "P=round((40*10*eave)/(1000),1) # Largest Axial Load(kN)\n",
+ "\n",
+ "# Results\n",
+ "print('Largest Axial Load =%1f in' %P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.13, Page number 117"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Permanent set deformation =6.250000 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=500 # Length of rod(mm)\n",
+ "A=60 # Cross Sectional area(mm**2)\n",
+ "E=200 # Modulus of elasticity(GPa)\n",
+ "ey=300 # Yield Point(MPa) \n",
+ "DELTAc=7 # Stretch(mm) \n",
+ "\n",
+ "#Calculation\n",
+ "ec=DELTAc/L # Maximum strain permitted on point C\n",
+ "ey=(ey*(pow(10,6)))/(E*(pow(10,9))) # Maximum strain permitted on point Y \n",
+ "ed=ec-ey # Strain after unloading\n",
+ "DELTAd=ed*L # Deformation(mm)\n",
+ "\n",
+ "# Results\n",
+ "print('Permanent set deformation =%1f mm' %DELTAd) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 2.6, Page number 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Required maximum value of Q =240.0 mm\n",
+ "The final position of the beam =11.000000 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Lad=2 # Length of AD(m)\n",
+ "Lce=5 # Length of CE(m) \n",
+ "E=200 # Modulus of elasticity(GPa)\n",
+ "ey=300 # Stress(MPa)\n",
+ "Aad=400 # Area of cross section of AD(mm**2)\n",
+ "Ace=500 # Area of cross section of CE(mm**2)\n",
+ "STRAINad=ey/E # Stress(MPa) # \n",
+ "\n",
+ "#Calculation\n",
+ "Pad=symbols('Pad') # Variable declaration\n",
+ "Pce=symbols('Pce') # Variable declaration\n",
+ "Pce=Pad\n",
+ "Q=symbols('Q') # Variable declaration\n",
+ "Q=2*Pad # Force(kN) \n",
+ "d=ey # Maximum elastic deflection of point A\n",
+ "PadM=ey*Aad # Maximum force(kN) \n",
+ "Q=(2*PadM)/(1000) # Maximum force(kN)\n",
+ "Sa1=STRAINad*Lad # Maximum deflection of point A(mm)\n",
+ "Pce=120 # This implies Pad is also 120\n",
+ "ece=Pce/Ace # Stress in rod CE(MPa)\n",
+ "STRAINce=ece/E # Strain CE\n",
+ "Sc1=STRAINce*Lce # Deflection of point C(mm)\n",
+ "Sb=(1/2)*(Sa1+Sc1) # Deflection of point B(mm)\n",
+ "\n",
+ "# Since we must have Sb 10 mm, we conclude that plastic deformation will occur.\n",
+ "\n",
+ "# Plastic Deformation\n",
+ "eAD=ey # Equating stresses\n",
+ "Sc=6 # Deflection in C(mm)\n",
+ "Sa2=symbols('Sa2') # Variable declaration \n",
+ "Sa2=solve(((1/2)*(Sa2+6)-10),Sa2) # The deflection Sa for which Sb = 10\n",
+ "\n",
+ "# Unloading\n",
+ "Sa3=14-3 #Since the stress in rod CE remained within the elastic range, we note that the final deflection of point C is zero.\n",
+ "\n",
+ "print('Required maximum value of Q =%.1f mm' %Q)\n",
+ "print('The final position of the beam =%1f mm' %Sa3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3.ipynb
new file mode 100644
index 00000000..c93c09a3
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3.ipynb
@@ -0,0 +1,969 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 : Torsion"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.01, Page number 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Largest permissible torque that can be applied to the shaft = 4.084070 kN\n",
+ "Minimum shearing stress that can be applied to the shaft = 80.000000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "l=1.5 # length of the cylindrical shaft\n",
+ "Tmax=120 # Maximum allowable torque\n",
+ "c1=0.02 # Inner radius \n",
+ "c2=0.03 # Outer radius\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a)\n",
+ "J=(1/2)*(math.pi)*(c2**4-c1**4) # Polar moment of inertia \n",
+ "c=c2 # Letting c equal to c2\n",
+ "T=((J*Tmax*(pow(10,6)))/(c))/(1000) # Largest Permissible Torque\n",
+ "#Case(b)\n",
+ "Tmin=(c1/c2)*(Tmax) # Minimum Shearing Stress\n",
+ "\n",
+ "#Result\n",
+ "print ('Largest permissible torque that can be applied to the shaft = %lf kN' %T)\n",
+ "print ('Minimum shearing stress that can be applied to the shaft = %lf MPa' %Tmin)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.1, Page number 152"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "import math\n",
+ "from sympy import * \n",
+ "\n",
+ "#Variable declaration\n",
+ "Din=90/(1000) # Inner diamter of shaft BC(m) \n",
+ "Dout=120/(1000) # Outer diamter of shaft BC(m)\n",
+ "Tab=symbols('Tab')\n",
+ "Tbc=symbols('Tbc')\n",
+ "\n",
+ "#Calculation \n",
+ "#Equations of statics\n",
+ "Tab=solve(6-Tab,Tab) # Torque in the shaft AB(kN.m)\n",
+ "Tbc=14+6 # Torque in the shaft BC(kN.m)\n",
+ "\n",
+ "#Case(a) Shaft BC\n",
+ "J=((math.pi)/2)*((pow(Dout/2,4)-pow(Din/2,4))) # Polar moment of inertia(m**4)\n",
+ "print (J)\n",
+ "# Maximum Shearing Stress\n",
+ "Tmax=((Tbc*(Dout/2))/(J))/(1000) # Maximum shearing stress(MPa)\n",
+ "#Minimum Shearing Stress\n",
+ "Tmin=(45/60)*86.2 # Minimum shearing stress(MPa) \n",
+ "#Case(b) Shafts AB and CD\n",
+ "c=((6*4)/(65*(math.pi)))**1/3 # Radius of the shafts(m)\n",
+ "\n",
+ "#Result\n",
+ "print ('Maximum shearing stress in shaft BC = %lf MPa' %Tmax) \n",
+ "print ('Minimum shearing stress in shaft BC = %lf MPa' %Tmin)\n",
+ "print ('Required diamter of the shafts AB and CD = %lf mm' %(c*2*1000))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.2, Page number 153"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a):Maximum torque that can be transmitted by the shaft as designed = 408.407045 kip.in\n",
+ "Case(b):Maximum torque that can be transmitted by the shaft of equal weight = 210.744442 kip.in\n",
+ "Case(c):Maximum torque that can be transmitted by the hollow shaft of equal weight and 8 in outer diameter = 636.000000 kip.in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import * \n",
+ "\n",
+ "#Variable declaration\n",
+ "din=4 # Inner diamter of shaft (in)\n",
+ "dout=6 # Outer diamter of shaft (in)\n",
+ "STRESS=12 # Shearing stress(ksi) \n",
+ "\n",
+ "#Calculation \n",
+ "#Hollow Shaft as Designed. \n",
+ "J=((math.pi)/2)*(pow((dout/2),4)-pow((din/2),4)) # Polar moment of inertia(in**4)\n",
+ "Th=(J*STRESS)/3 # Allowable shearing stress(kip.in) \n",
+ "\n",
+ "#Solid Shaft of Equal Weight\n",
+ "rad=math.sqrt((dout/2)**2-(din/2)**2) # Radius of solid shaft of equal weight(in)\n",
+ "Te=(12*(math.pi)*(pow(rad,3)))/2 # Maximum allowable torque(kip.in)\n",
+ "\n",
+ "#Hollow Shaft of 8-in. Diameter.\n",
+ "c5=math.sqrt(4**2 + 2**2 -3**2) # Inner radius of hallow shaft(in)\n",
+ "J8=((math.pi)*(4**4-3.317**4))/2 # Polar moment of inertia(in**4) \n",
+ "Tor=((212)*(12))/4 \n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a):Maximum torque that can be transmitted by the shaft as designed = %lf kip.in' %Th) \n",
+ "print ('Case(b):Maximum torque that can be transmitted by the shaft of equal weight = %lf kip.in' %Te)\n",
+ "print ('Case(c):Maximum torque that can be transmitted by the hollow shaft of equal weight and 8 in outer diameter = %lf kip.in' %Tor)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.02, Page number 160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum torque that can be transmitted by the shaft as designed = 1.829501 kN.m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "G=77*(pow(10,9)) # Modulus of rigidity(GPa) \n",
+ "L=1.5 # length of the shaft(m)\n",
+ "TWIST=2 # Allowable twist\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a)\n",
+ "phy=(2)*((2*(math.pi))/(360)) # Angle of twist(rad)\n",
+ "#Case(b)\n",
+ "J=1.021*(pow(10,-6)) # Polar moment of inertia(m**4)\n",
+ "T=(((J*G)/(L))*(phy))/(1000) # Torque to be applied to the end of shaft(kN.m)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum torque that can be transmitted by the shaft as designed = %lf kN.m' %T) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.03, Page number 160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum torque that can be transmitted by the shaft as designed = 3.906530 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "tmin=70*(pow(10,6)) # Shearing stress(Pa) \n",
+ "G=77*(pow(10,9)) # Modulus of rigidity(Pa)\n",
+ "L=1500 # ength of arc AA'(mm)\n",
+ "c1=20 # inner radius(mm)\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a)\n",
+ "Ymin=tmin/G # shearing strain on the inner surface of the shaft\n",
+ "#Case(b)\n",
+ "phy=((L*Ymin)/(c1))*(360/(2*(math.pi))) # Angle of twist(degrees)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum torque that can be transmitted by the shaft as designed = %lf degree' %phy) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.04, Page number 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Angle of rotation of end E\n",
+ "5*L*T/(G*J)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "rA=symbols('rA') # Variable declaration \n",
+ "rB=symbols('rB') # Variable declaration \n",
+ "Tad=symbols('Tad') # Variable declaration\n",
+ "T=symbols('T') # Variable declaration\n",
+ "L=symbols('L') # Variable declaration \n",
+ "J=symbols('J') # Variable declaration\n",
+ "G=symbols('G') # Variable declaration\n",
+ "\n",
+ "#Calculation \n",
+ "rA=2*rB # Given relation \n",
+ "Tad=2*T # Given relation \n",
+ "phya=(Tad*L)/(J*G) # Angle of rotation phyA of gear A\n",
+ "phyb=(rA/rB)*(phya) # Angle of rotation phyB of gear B\n",
+ "phyEB=(T*L)/(J*G) # Angle of rotation phyEB through which end E rotates with respect to end B\n",
+ "phyE=phyb+phyEB # Angle of rotation of end E\n",
+ "\n",
+ "# Result\n",
+ "print ('Angle of rotation of end E') \n",
+ "print (phyE) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.05, Page number 164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Torque exerted on the shaft by support A. = 51.736527 lb.ft\n",
+ "Torque exerted on the shaft by support B. = 38.285030 lb.ft\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=10 # Outer Length(in)\n",
+ "r=(7/16) # Outer radius(in)\n",
+ "Li=5 # Internal Length(in)\n",
+ "ri=(5/16) # Inner radius(in)\n",
+ "L1=5 # Equivalent to internal length(in)\n",
+ "L2=5 # Equivalent to internal length(in)\n",
+ "Ta=symbols('Ta') # Torque at a\n",
+ "Tb=symbols('Tb') # Torque at b \n",
+ "L1=symbols('L1') # Length\n",
+ "L2=symbols('L2') # Length \n",
+ "J1=symbols('J1') # polar moment of inertia\n",
+ "J2=symbols('J2') # polar moment of inertia\n",
+ "G=symbols('G') # modulus of rigidity of steel.\n",
+ "\n",
+ "#Calculation \n",
+ "Tb=solve(((Ta*L1)/(J1*G))-((Tb*L2)/(J2*G)),Tb) # Internal torque\n",
+ "Tb[0]=Tb[0].subs([ (J1, 57.6*(pow(10,-3))), (J2, 42.6*(pow(10,-3))),(L1, 5), (L2, 5)]) \n",
+ "Ta=solve(90-Tb[0]-Ta,Ta) # Internal torque(lb.ft)\n",
+ "Tb=0.740*Ta[0] # Internal torque(lb.ft) \n",
+ "\n",
+ "# Result\n",
+ "print ('Torque exerted on the shaft by support A. = %lf lb.ft' %Ta[0])\n",
+ "print ('Torque exerted on the shaft by support B. = %lf lb.ft' %Tb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.3, Page number 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Angle of twist at end A = 2.310432 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Tab=symbols('Tab') # Torque on shaft AB\n",
+ "Tbc=symbols('Tbc') # Torque on shaft BC \n",
+ "Tcd=symbols('Tcd') # Torque on shaft CD \n",
+ "\n",
+ "#Calculation\n",
+ "#Statics\n",
+ "Tab=solve(250-Tab,Tab) # Using the free body shown(N.m)\n",
+ "Tbc=2000+250 # Torque on BC(N.m)\n",
+ "Tcd=Tbc # Torque on CD(N.m)\n",
+ "\n",
+ "#Polar Moments of Inertia\n",
+ "Jab=((math.pi)*((0.015)**4))/2 # Polar moment of inertia AB(m**4) \n",
+ "Jbc=((math.pi)*((0.030)**4))/2 # Polar moment of inertia BC(m**4)\n",
+ "Jcd=((math.pi)*((0.030)**4-(0.022)**4))/2 # Polar moment of inertia CD(m**4) \n",
+ "\n",
+ "#Angle of Twist\n",
+ "AngleA=((1/77)*(((250*0.4)/(0.0795))+(((2250)*(0.2))/(1.272))+(((2250)*(0.6))/(0.904))))/((pow(10,-6))*(pow(10,9))) # Angle of twist(rad)\n",
+ "AngleA=AngleA*(360/(2*math.pi)) # convertiong radian into degree\n",
+ "\n",
+ "# Result\n",
+ "print ('Angle of twist at end A = %lf degree' %AngleA)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.4, Page number 166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Maximum permissible torque = 561.0 lb.in\n",
+ "Case(a): The corresponding angle through which end A of shaft AB rotates = 10.5 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import * \n",
+ "\n",
+ "#Variable declaration\n",
+ "T0=symbols('T0') # Variable declaration\n",
+ "Tab=symbols('Tab') # Variable declaration \n",
+ "F=symbols('F') # Force\n",
+ "phyB=symbols('phyB') # Variable declaration\n",
+ "phyC=symbols('phyC') # Variable declaration\n",
+ "Smax=8000 # Maximum permissible shearing stress(psi) \n",
+ "cAB=0.375 # Radius of shaft AB(in)\n",
+ "cCD=0.5 # Radius of shaft CD(in)\n",
+ "rC=2.45 # Radius at C(in)\n",
+ "rB=0.875 # Radius at B(in) \n",
+ "Tcd=symbols('Tcd') # Variable declaration\n",
+ "\n",
+ "# Calculation\n",
+ "# Statics\n",
+ "T0=F *0.875 # Equation 1 by Submission of Mb\n",
+ "Tcd=F*2.45 # Equation 2 by Submission of Mc\n",
+ "phyB=phyC*(rC/rB) # By noting that the peripheral motions of the gears are equal\n",
+ "#Shaft AB\n",
+ "Tab=T0 # Variable declaration\n",
+ "T0=round((8000)*(1/2)*(math.pi)*(0.375)**3) # Largest torque that must be applied to end A of shaft AB(lb.in) \n",
+ "#Shaft CD\n",
+ "T0=symbols('T0') # Variable declaration\n",
+ "Tcd=2.8*T0 # Equation \n",
+ "T0=round((8000*(1/2)*(math.pi)*(0.5)**3)/2.8) # Largest torque that must be applied to end C of shaft CD(lb.in)\n",
+ "#Angle of Rotation at End A\n",
+ "#Shaft AB\n",
+ "phyAB=(((561)*(24))/((1/2)*(math.pi)*((0.375)**4)*(11.2*pow(10,6))))*(360/(2*math.pi)) \n",
+ "#Shaft CD\n",
+ "phyCD=(((561)*(36)*(2.8))/((1/2)*(math.pi)*((0.5)**4)*(11.2*pow(10,6))))*(360/(2*math.pi)) \n",
+ "phyC=phyCD\n",
+ "phyB=2.8*(phyC)\n",
+ "phyA=phyB+phyAB\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Maximum permissible torque = %.1f lb.in' %T0)\n",
+ "print('Case(a): The corresponding angle through which end A of shaft AB rotates = %.1f degrees' %phyA)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.5, Page number 167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Maximum permissible torque = 6.3 lb.in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import * \n",
+ "\n",
+ "#Variable declaration\n",
+ "T0=symbols('T0') # Variable declaration\n",
+ "T1=symbols('T1') # Variable declaration \n",
+ "T2=symbols('T2') # Variable declaration \n",
+ "phy1=symbols('phy1') # Variable declaration\n",
+ "phy2=symbols('phy2') # Variable declaration\n",
+ "Ts=120 # Maximum allowable stress in stell(MPa)\n",
+ "Ta=70 # Maximum allowable stress in aluminum(MPa)\n",
+ "Gs=77 # Modulus of regidity for steel(GPa) \n",
+ "Ga=27 # Modulus of regidity for aluminium(GPa) \n",
+ "T0=T1+T2 # Equation \n",
+ "phy1=phy2 # Equation\n",
+ "T2=T1*(77/27)*(0.614/2.003) # Since both the tube and the shaft are connected to the rigid disk\n",
+ "# Shearing Stresses\n",
+ "T1=round(((70*pow(10,6))*(2.003*pow(10,-6)))/(0.038)) # Torque(N.m)\n",
+ "T2=(0.874)*(3690) # Torque(N.m)\n",
+ "tsteel=((3225)*(0.025)*(pow(10,-6)))/(0.614*pow(10,-6)) # Maximum shearing stress in steel shaft(MPa) \n",
+ "T2=round(((120)*pow(10,6)*(0.614*pow(10,-6)))/(0.025),-1) # Reobtaining torque as our earlier assumption was wrong(N.m)\n",
+ "T1=round(2950/0.874) # Torque(N.m) \n",
+ "T0=(T1+T2)/(1000) # maximum torque(N.m) \n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Maximum permissible torque = %.1f lb.in' %T0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.06, Page number 178"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Size of shaft = 0.374342 lb.in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=5 # Power(hp)\n",
+ "f=3600 # frequency(rpm) \n",
+ "Tmax=8500 # Maximum torque(psi)\n",
+ "\n",
+ "#Calculation \n",
+ "P=P*(6600) # Converting power into lb/s\n",
+ "f=(3600)/(60) # Converting frequency into cycles per second\n",
+ "T=(P)/(2*(math.pi)*f) # Torque exerted on the shaft\n",
+ "Ratio=T/Tmax # Here we are finding the value of J/c\n",
+ "c=(((10.30)*(pow(10,-3))*(2))/(math.pi))**(1/3)\n",
+ "d=2*c # Diameter of the shaft that should be used\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Size of shaft = %1f lb.in' %d)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.07, Page number 178"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Tube thickness that should be used = 4.414195 lb.in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=100 # Power(kW)\n",
+ "f=20 # frequency(Hz) \n",
+ "c2=25 # radius(mm) \n",
+ "Smax=60 # Shearing stress maximum(MPa)\n",
+ "c1=symbols('c1')\n",
+ "\n",
+ "#Calculation \n",
+ "T=P/(2*(math.pi)*f) # torque exerted on the shaft\n",
+ "Ratio=T/(Tmax*(pow(10,6))) # Here we are finding the value of J/c2\n",
+ "c1=solve((0.025)**4-(0.050/math.pi)*(13.26*(pow(10,-6)))-(c1)**4,c1) \n",
+ "Thickness=c2-(c1[1]*1000) # Thickness that should be used if the shearing stress is not to exceed\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Tube thickness that should be used = %1f lb.in' %Thickness)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.6, Page number 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Maximum power that can be transmitted = 890.000000 hp\n",
+ "Case(b): Percentage in power = 11.000000 \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "D=7.5 # Diameter of the bigger shaft(in)\n",
+ "d=3.75 # Diameter of the smaller shaft(in)\n",
+ "r=0.5625 # Inner radius(in)\n",
+ "k=1.33 # Stress concentration factor\n",
+ "\n",
+ "#Calculation \n",
+ "temp1=(D/d) \n",
+ "temp2=(r/d)\n",
+ "T=round((1/2)*(math.pi)*((1.875)**3)*(8/1.33),1) # Maximum torque(ksi) \n",
+ "#Power\n",
+ "f=(900/60) # Frequency(Hz)\n",
+ "Pa=(2*(math.pi)*15*62.3*pow(10,3)) # Power(lb/s)\n",
+ "Pa=round(Pa/6600) # Power(hp) \n",
+ "#Final Design\n",
+ "r=15/16 # Radius(in) \n",
+ "temp2=(0.9375/3.75) \n",
+ "k=1.20 # Stress concentration factor\n",
+ "T=(10.35*(8/1.20)) # Torque(kip.in)\n",
+ "Pb=(2)*(math.pi)*(15)*(69)*(pow(10,3)) # Power(lb/s) \n",
+ "Pb=round(Pb/6600) # Power(hp)\n",
+ "#Percent Change in Power\n",
+ "PC=round(((Pb-Pa)/Pa)*100)\n",
+ "\n",
+ "#Result\n",
+ "print('Case(a): Maximum power that can be transmitted = %1f hp' %Pa)\n",
+ "print('Case(b): Percentage in power = %1f ' %PC)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.08, Page number 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Radius of elastic core = 15.749013 mm\n",
+ "Case(b): Angle of twist = 8.494327 degree \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "l=1.2 # length(m)\n",
+ "d=50 # diameter(mm) \n",
+ "T=4.60 # torque(kN) \n",
+ "G=77 # modulus of rigidity(GPa)\n",
+ "ty=150 # torque(MPa)\n",
+ "c=25 # radius(mm)\n",
+ "py=symbols('py')\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "J=(1/2)*(math.pi)*(25*(pow(10,-3)))**4 # Polar moment of inertia(m**4) \n",
+ "Ty=(J*ty*(pow(10,6)))/(c*(pow(10,-3))) # Torque(kN.m)\n",
+ "py=solve((py/c)**3-4+((3*4.60)/(3.68)),py) # Radius of elastic core(mm)\n",
+ "# Case(b)\n",
+ "phyY=(Ty*l*(pow(10,3)))/(J*G*(pow(10,9))) # Angle of twist at the onset of yield(rad) \n",
+ "phy=((93.4*(pow(10,-3)))/(0.630))*(360/(2*math.pi)) # Angle of twist(degree)\n",
+ "\n",
+ "# Result\n",
+ "print('Case(a): Radius of elastic core = %1f mm' %py[0])\n",
+ "print('Case(b): Angle of twist = %1f degree ' %phy)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.09, Page number 190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Permanent twist = 1.810362 degree\n",
+ "Case(b): Residual stress = 187.296417 MPa \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "T=4.60*(10**3) # Torque(N.m)\n",
+ "L=1.2 # length(m) \n",
+ "G=77*(10**9) # modulus of rigidity(Pa)\n",
+ "J=614*(10**-9) # Polar moment of inertia(m**4)\n",
+ "phy=8.50 \n",
+ "c=25*(10**-3) # radius(m)\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "phyl=((T*L)/(J*G))*(360/(2*(math.pi))) # Lateral twist(degree)\n",
+ "phyp=phy-phyl # Permanent twist(degree)\n",
+ "# Case(b)\n",
+ "Tlmax=((T*c)/(J))/(pow(10,6)) # Residual stresses(MPa) \n",
+ "\n",
+ "# Result\n",
+ "print('Case(a): Permanent twist = %1f degree' %phyp)\n",
+ "print('Case(b): Residual stress = %1f MPa ' %Tlmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# SAMPLE PROBLEM 3.7, Page number 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Magnitude of T when yield first occurs = 5.730000 degree\n",
+ "Case(b): Angle of twist when the deformation has become fully plastic.= 8.590000 MPa \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "p=symbols('p')\n",
+ "G=(11.2*pow(10,6)) # Modulus of rigidity(GPa)\n",
+ "ty=21 # Stress(ksi) \n",
+ " \n",
+ "#Calculation\n",
+ "#Geometric properties\n",
+ "c1=(1/2)*(1.5) # Radius(in)\n",
+ "c2=(1/2)*(2.25) # Radius(in) \n",
+ "J=round((1/2)*(math.pi)*(c2**4-c1**4),2) # Polar moment of inertia(in**4)\n",
+ "#Case(a) Onset of yield\n",
+ "tmax=ty\n",
+ "Ty=round(((21)*(2.02))/1.125,1) # Torque at y(kip.in)\n",
+ "phyY=((21*(10**3))*(60))/(1.125*11.2*pow(10,6)) # Onset of yield(rad)\n",
+ "phyY=round(phyY*(360/(2*math.pi)),2)\n",
+ "#Case(b) Fully Plastic Deformation\n",
+ "Tp=round(2*math.pi*21*integrate(p**2, (p, c1, c2)),1) # Torque(kip.in) \n",
+ "phyF=round((21*pow(10,3)*60)/(0.75*11.2*pow(10,6)),4) # Fully plastic deformation(rad) \n",
+ "phyF=round(phyF*(360/(2*math.pi)),2)\n",
+ "\n",
+ "# Result\n",
+ "print('Case(a): Magnitude of T when yield first occurs = %1f degree' %phyY)\n",
+ "print('Case(b): Angle of twist when the deformation has become fully plastic.= %1f MPa ' %phyF)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.8, Page number 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Residual stress = 0.000000 kip.in\n",
+ "Case(b): Permanent angle of twist= 1.890000 degree \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Tp=44.1\n",
+ "phyF=8.59\n",
+ "\n",
+ "# Calculation\n",
+ "# Elastic Unloading\n",
+ "Tmax=((44.1)*(1.125))/2.02\n",
+ "Tmin=(Tmax)*(0.75/1.125)\n",
+ "phyl=round(((44.1*pow(10,3)*60)*(360/(2*math.pi)))/((2.02)*(11.2*pow(10,6))),2)\n",
+ "phy=phyF-phyl\n",
+ "\n",
+ "# Result\n",
+ "print('Case(a): Residual stress = %1f kip.in' %(0))\n",
+ "print('Case(b): Permanent angle of twist= %1f degree ' %(phy))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.10, Page number 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a): Shearing stress in each wall = 8.346688 ksi\n",
+ "Case(b): Shearing stress in wall AB and AC= 11.128917 degree \n",
+ "Case(b): Shearing stress in wall BD and CD= 6.677350 degree \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "t=0.160 # thickness(in)\n",
+ "T=24 # Torque(kip.in) \n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "Area=3.84*2.34 # Area bounded by centre line(in**2) \n",
+ "t=(T)/(2*t*Area) # shearing stress in wall(ksi) \n",
+ "# Case(b)\n",
+ "tABAC=0.120\n",
+ "tBDCD=0.200\n",
+ "tAB=(T)/(2*tABAC*Area) # shearing stress in wall(ksi)\n",
+ "tAC=tAB\n",
+ "tBD=(T)/(2*tBDCD*Area) # shearing stress in wall(ksi)\n",
+ "tCD=tBD\n",
+ "\n",
+ "# Result\n",
+ "print('Case(a): Shearing stress in each wall = %1f ksi' %t)\n",
+ "print('Case(b): Shearing stress in wall AB and AC= %1f ksi ' %tAB)\n",
+ "print('Case(b): Shearing stress in wall BD and CD= %1f ksi ' %tCD)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 3.9, Page number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Largest torque on bar with square cross section = 532.480000 N.m\n",
+ "Largest torque on bar with rectangular cross section = 414.400000 N.m\n",
+ "Largest torque on square tube = 555.000000 N.m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Bar with Square Cross Section\n",
+ "\n",
+ "#Variable declaration\n",
+ "tALL=40 # Stress(MPa)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "# Bar with square cross section\n",
+ "a=0.040 # Length(m) \n",
+ "b=0.040 # Length(m)\n",
+ "temp=(a/b) \n",
+ "c1=0.208 # Coefficient\n",
+ "tmax=tALL # Maximum stress(MPa)\n",
+ "T1=(40)*(pow(10,6))*(0.208)*(pow(0.040,3)) # Torque(N.m)\n",
+ "\n",
+ "# Bar with Rectangular Cross Section.\n",
+ "a=0.064 # Length(m)\n",
+ "b=0.025 # Length(m)\n",
+ "temp2=(a/b)\n",
+ "T2=(40)*(pow(10,6))*(0.259)*(0.064)*(pow(0.025,2)) # Torque(N.m)\n",
+ "\n",
+ "#Square Tube\n",
+ "A=(0.034)*(0.034) # Area bounded by the center line of the cross section(m**2)\n",
+ "T3=round((40)*(pow(10,6))*(2)*(0.006)*(1.156)*(pow(10,-3)),0) # Torque(N.m)\n",
+ "\n",
+ "# Result\n",
+ "print('Largest torque on bar with square cross section = %1f N.m' %T1)\n",
+ "print('Largest torque on bar with rectangular cross section = %1f N.m' %T2)\n",
+ "print('Largest torque on square tube = %1f N.m' %T3)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4.ipynb
new file mode 100644
index 00000000..78dbb5ab
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4.ipynb
@@ -0,0 +1,1102 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4 : Pure Bending"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.01, Page number 232"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Bending moment = 30.000000 kip.in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "c=1.25 # Radius(in)\n",
+ "Sy=36 # Stress(ksi)\n",
+ "b=0.8 # Breadth(in)\n",
+ "h=2.5 # Height(in)\n",
+ "\n",
+ "#Calculation \n",
+ "I=(1/12)*(b)*(h)**3 # Centroidal moment of inertia(in**4)\n",
+ "M=(I/c)*(Sy) # Bending moment(kip.in)\n",
+ "\n",
+ "# Result\n",
+ "print ('Bending moment = %lf kip.in' %M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.02, Page number 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum tensile stress = 193.397171 MPa\n",
+ "Maximum compressive stress = -142.602829 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "r=12 # Radius(mm)\n",
+ "p=2.5 # Mean radius(m) \n",
+ "E=70 # Modulus of rigidity(GPa)\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "Y=(4*r)/(3*(math.pi)) # Ordinate(mm)\n",
+ "c=r-Y # Distance from the neutral axis to the point of crossection(mm) \n",
+ "Em=(c*(10**-3))/p # Maximum absolute value of the strain\n",
+ "Sm=((E*(pow(10,9)))*Em)/(pow(10,6)) # Maximum tensile stress(MPa)\n",
+ "Scomp=(n)*(Y/c)*(Sm) # Maximum compressive stress(MPa) \n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum tensile stress = %lf MPa' %Sm)\n",
+ "print ('Maximum compressive stress = %lf MPa' %Scomp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.1, Page number 235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Bending moment M for which factor of safety is 3 = 103.760000 kip.in\n",
+ "Radius of curvature of tube = 110.400000 ft\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "sY=40 # Stress(ksi)\n",
+ "sU=60 # Stress(ksi)\n",
+ "E=(10.6)*(pow(10,6)) # Modulus of rigidity(psi)\n",
+ "FS=3 # Factor of safety\n",
+ "\n",
+ "#Calculation\n",
+ "#Moment of Inertia\n",
+ "E=(10.6)*(pow(10,6)) # Modulus of rigidity(psi)\n",
+ "I=round(((1/12)*3.25*pow(5,3))-((1/12)*(2.75)*pow(4.5,3)),2) # Centroidal moment of inertia of a rectangle\n",
+ "#Allowable Stress\n",
+ "sALL=(sU/FS) # Allowable stress(ksi)\n",
+ "#Case(a) Bending Moment\n",
+ "c=(1/2)*(5) # Radius(in)\n",
+ "M=((12.97)*(20))/2.5 # Bending moment(kip.in)\n",
+ "#Case(b) Radius of Curvature\n",
+ "p=round((10.6*pow(10,6)*12.97)/(103.8*pow(10,3)),1) # Radius of curvature(in)\n",
+ "p=round((p*0.08333),1) # Converting into feet(ft) \n",
+ "#Alternative Solution.\n",
+ "Em=(sALL/(E*(pow(10,-3)))) # Maximum strain(in./in)\n",
+ "p=(c/Em) # Radius of curvature(in)\n",
+ "p=round((p*0.08333),1) # Converting into feet(ft) \n",
+ "\n",
+ "# Result\n",
+ "print ('Bending moment M for which factor of safety is 3 = %lf kip.in' %M)\n",
+ "print ('Radius of curvature of tube = %lf ft' %p)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.2, Page number 236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "76036.86635944701\n",
+ "-131.3364055299539\n",
+ "47.74\n",
+ "Maximum tensile stress = 76036.866359 MPa\n",
+ "Maximum compressive stress = -131.336406 MPa\n",
+ "Radius of curvature = 47.740000 ft\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "#Calculation\n",
+ "#Centroid\n",
+ "sumA=3000 # Summing up the area(mm**2) \n",
+ "M=3 # Couple(kN.m) \n",
+ "cA=0.022 # Distance(m) \n",
+ "Y=(114*pow(10,6))/(3000) # Distance(mm)\n",
+ "#Centroidal Moment of Inertia\n",
+ "Ix=((1/12)*(90)*(pow(20,3)) + (90*20*pow(12,2)) + ((1/12)*(30)*(pow(40,3))) + (30*40*pow(18,2)))/(pow(10,12)) # Centroidal moment of inertia(m**4) \n",
+ "#Case(a) Maximum Tensile Stress\n",
+ "sA=((M*cA)/(Ix))/(1000) # Maximum tensile stress(MPa) \n",
+ "#Maximum Compressive Stress\n",
+ "sB=n*(3*0.038)/((868*pow(10,-9)*pow(10,3))) # Maximum compressive stress(MPa) \n",
+ "#Case(b) Radius of Curvature\n",
+ "p=((165*868*(pow(10,-9)))/(3))*(pow(10,6)) # Radius of curvature(m)\n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum tensile stress = %lf MPa' %sA)\n",
+ "print ('Maximum compressive stress = %lf MPa' %sB)\n",
+ "print ('Radius of curvature = %lf ft' %p)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.03, Page number 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum stress in brass portion = 11.851852 ksi\n",
+ "Maximum stress in steel portion = 22.909630 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Es=29*(pow(10,6)) # Modulus of rigidity(psi)\n",
+ "Eb=15*(pow(10,6)) # Modulus of rigidity(psi) \n",
+ "M=40 # Bending moment(kip.in)\n",
+ "h=3 # Height(3)\n",
+ "b=2.25 # Breadth(in) \n",
+ "c=1.5 # Distance(in)\n",
+ "\n",
+ "#Calculation \n",
+ "n=Es/Eb # Ratio\n",
+ "W=0.75*n # width(in)\n",
+ "I=(1/12)*(b)*((h)**3) # Moment of inertia of the transformed section(in**4)\n",
+ "Sm=(M*c)/(I) # Maximum stress in the transformed section(ksi)\n",
+ "Sbrass=Sm # Maximum stress in brass portion(ksi)\n",
+ "Ssteel=1.933*(Sbrass) # Maximum stress in steel portion(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum stress in brass portion = %lf ksi' %Sbrass)\n",
+ "print ('Maximum stress in steel portion = %lf ksi' %Ssteel)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.04, Page number 247"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Smallest allowable width of the groves = 10.400000 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "depth=10 # Depth(mm)\n",
+ "width=60 # Width(mm)\n",
+ "thickness=9 # Thickness(mm)\n",
+ "Smax=150 # Maximum stress(MPa) \n",
+ "M=180 # Bending moment(N.m) \n",
+ "\n",
+ "#Calculation \n",
+ "d=width-(2*depth) # Distance(mm) \n",
+ "c=(1/2)*d # Distance(mm) \n",
+ "b=9 # Distance(mm)\n",
+ "I=(1/12)*(b*(pow(10,-3)))*((d*(pow(10,3)))**3) # Moment of inertia of the critical cross section(m**4)\n",
+ "Ratio=((M)*(c)*(pow(10,3)))/(I) # Stress(MPa)\n",
+ "k=150/75 # Factor \n",
+ "Ratio2=width/d # Ratio\n",
+ "r=0.13*40 # Radius(mm)\n",
+ "wid=2*r # Width(mm)\n",
+ "\n",
+ "# Result\n",
+ "print ('Smallest allowable width of the groves = %lf mm' %wid)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.3, Page number 248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum stress in the wood = 4.570000 MPa\n",
+ "Stress in steel = 43.800000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# Variable declaration\n",
+ "Es=200 # Moduluss of rigidity(GPa)\n",
+ "Ew=12.5 # Moduluss of rigidity(GPa) \n",
+ "\n",
+ "#Transformed Section.\n",
+ "n=(Es/Ew) # Ratio\n",
+ "#Neutral Axis\n",
+ "Y=round(((0.160)*(3.2*0.020))/(3.2*0.020+0.470*0.300),2) # Distance(m) \n",
+ "#Centroidal Moment of Inertia\n",
+ "I=round(((1/12)*0.470*(pow(0.3,3)))+(0.470*0.3*(pow(0.05,2)))+((1/12)*(3.2)*(pow(0.020,3)))+(3.2*0.020*(pow(0.160-0.050,2))),5) # Centroidal Moment of Inertia \n",
+ "#Maximum Stress in Wood\n",
+ "sW=((50*(pow(10,3)))*(0.200))/(2.19*pow(10,-3)) # Maximum stress in wood(MPa)\n",
+ "sW=round((sW/(pow(10,6))),2) # Rounding\n",
+ "#Stress in Steel\n",
+ "sS=((16)*(50*(pow(10,3)))*(0.120))/(2.19*(pow(10,-3))) # Stress in steel(MPa) \n",
+ "sS=round((sS/(pow(10,6))),1) # Rounding\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum stress in the wood = %lf MPa' %sW)\n",
+ "print ('Stress in steel = %lf MPa' %sS)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.4, Page number 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum stress in concrete = 1.306000 MPa\n",
+ "Stress in steel = 18.520000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# Variable declaration\n",
+ "x=symbols('x') # Variable declartion \n",
+ "d=(5/8) # Diameter(in)\n",
+ "Es=(29*(pow(10,6))) # Modulus of elasticity for concrete(psi)\n",
+ "Ec=(3.6*(pow(10,6))) # Modulus of elasticity for stell(psi)\n",
+ "\n",
+ "# Calculation\n",
+ "#Transformed Section\n",
+ "As=round((2)*(math.pi)*(pow(d/2,2)),3) # Cross sectional area(in**2)\n",
+ "n=round(Es/Ec,2) # Ratio\n",
+ "TA=round(n*As,2) # Transformed steel area(in**2)\n",
+ "#Neutral Axis\n",
+ "x=(solve((12*x)*(x/2)-(4.95)*(4-x)))\n",
+ "#Moment of inertia\n",
+ "I=(1/3)*(12)*((1.450)**3) + 4.95*(4-1.450)**2 # Centroidal moment of inertia(in**4) \n",
+ "#Maximum Stress in Concrete\n",
+ "sC=round(((40)*(1.450))/(44.4),3) # Maximum stress in concrete(ksi) \n",
+ "#Stress in Steel\n",
+ "sS=round(((8.06)*(40)*(2.55))/(44.4),2) # Stress in steel(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum stress in concrete = %lf MPa' %sC)\n",
+ "print ('Stress in steel = %lf MPa' %sS)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.05, Page number 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thickness of elastic core = 80.000000 mm\n",
+ "Radius of curvature = 33.333333 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "M=36.8\n",
+ "c=60*(pow(10,-3)) # Half length of rod(mm)\n",
+ "b=50*(pow(10,-3)) # Breadth of rod(mm)\n",
+ "Sy=240 # Stress(MPa) \n",
+ "yY=symbols('yY') # Variable declaration\n",
+ "E=200 # Modulus of elasticity(GPa)\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "Rt=(2/3)*(b)*(c)**2 # Ratio(m**3)\n",
+ "My=Rt*Sy # Maximum elastic moment(kN.m) \n",
+ "yY=solve(36.8-(3/2)*(28.8)*(1-((1/3)*(((yY)**2)/(60**2)))),yY) # \n",
+ "# Case(b)\n",
+ "Ey=(Sy*(pow(10,6)))/(E*(pow(10,9)))\n",
+ "p=(yY[0]*(pow(10,-3)))/(Ey)\n",
+ "\n",
+ "# Result\n",
+ "print ('Thickness of elastic core = %lf mm' %(n*(2*yY[0])))\n",
+ "print ('Radius of curvature = %lf m' %(n*p))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.06, Page number 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Residual stress = 306.666667 MPa\n",
+ "Radius of curvature after unloading = 225 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "M=36.8 # Bending moment(kN) \n",
+ "Sy=240 # Yield strength(MPa)\n",
+ "yY=40 # Thickness of elastic core(mm) \n",
+ "n=-1\n",
+ "Sx=n*35.5*(pow(10,6)) # Stress(Pa) \n",
+ "E=200*(pow(10,9))\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "Sml=((36.8)/(120*(pow(10,-6))))/(1000) # Residual stress(MPa) \n",
+ "# Case(b)\n",
+ "Ex=Sx/E # Residual strain \n",
+ "p=(n*(40*(pow(10,-3))))/(Ex) # Radius of Curvature after Unloading(m)\n",
+ "\n",
+ "# Result\n",
+ "print ('Residual stress = %lf MPa' %Sml)\n",
+ "print ('Radius of curvature after unloading = %.lf m' %p)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.5, Page number 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Bending moment = 9525.000000 kip.in\n",
+ "Case(a) Radius of curvature = 4640 in\n",
+ "Case(b) Bending moment = 10226.342000 kip.in\n",
+ "Case(b) Radius of curvature = 338 ft\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# variable declaration\n",
+ "E=(29*pow(10,6)) # Modulus of elastoplasticity(psi)\n",
+ "sY=50 # Stress(ksi) \n",
+ "\n",
+ "# Calculation\n",
+ "#Case(a) Onset Of Yield\n",
+ "I=round((1/12)*(12)*(pow(16,3))-(1/12)*(12-0.75)*(pow(14,3)),0) # Centroidal moment of inertia(in**4) \n",
+ "#Bending Moment\n",
+ "sMAX=sY # Stress(ksi)\n",
+ "c=8 # Distance(in)\n",
+ "My=(sY*I)/c # Bending moment(kip.in)\n",
+ "#Radius of Curvature \n",
+ "Ey=sY/E # Strain\n",
+ "pY=(c/Ey)/(1000) # Radius of curvature(in)\n",
+ "#Case(b) Flanges Fully Plastic\n",
+ "R1=50*12*1 # Compressive forces on top(kips) \n",
+ "R4=R1 # Compressive forces on top(kips) \n",
+ "R2=round((1/2)*(50)*(7)*(0.75)+0.05,1) # Compressive forces on top half(kips)\n",
+ "R3=R2 # Compressive forces on top half(kips)\n",
+ "#Bending Moment\n",
+ "M=2*((R1*7.5)+(R2*4.67)) # Bending moment(kip.in)\n",
+ "#Radius of Curvature\n",
+ "p=round(((7/0.001724)*0.0833),0) # Radius of curvature(ft) \n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Bending moment = %lf kip.in' %My)\n",
+ "print ('Case(a) Radius of curvature = %.lf in' %pY)\n",
+ "print ('Case(b) Bending moment = %lf kip.in' %M)\n",
+ "print ('Case(b) Radius of curvature = %.lf ft' %p)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.6, Page number 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Plastic moment = 44.160000 kN.m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# Variable declaration\n",
+ "sY=240 # Yield strength(MPa)\n",
+ "A1=(0.1*0.02) # Area of cross section(m**2)\n",
+ "A2=(0.02*0.02) # Area of cross section(m**2)\n",
+ "A3=(0.02*0.06) # Area of cross section(m**2)\n",
+ "A4=(0.06*0.02) # Area of cross section(m**2)\n",
+ "\n",
+ "# Calculation\n",
+ "#Neutral Axis\n",
+ "A=(100)*(20) + (80)*(20) + (60)*(20) # Total area(mm**2)\n",
+ "y=(2400-((20)*(100)))/(20) # Distance(mm)\n",
+ "#Plastic Moment\n",
+ "R1=(A1*sY*1000) # Resultant force(kN) \n",
+ "R2=(A2*sY*1000) # Resultant force(kN)\n",
+ "R3=(A3*sY*1000) # Resultant force(kN) \n",
+ "R4=(A4*sY*1000) # Resultant force(kN) \n",
+ "\n",
+ "Mp=(0.030*R1) + (0.010*R2) + (0.030*R3) + (0.070*R4) # Plastic moment(kN.m)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Plastic moment = %lf kN.m' %Mp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.7, Page number 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Residual stress = 53.700787 ksi\n",
+ "Case(a) Permanent radius of curvature = 5620.000000 ft\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# Variable declaration\n",
+ "y=7 # Distance(in)\n",
+ "s=-3.01 # Stress(ksi)\n",
+ "\n",
+ "# Calculation\n",
+ "#Loading\n",
+ "M=10230 # Couple of moment(kip.in)\n",
+ "#Elastic Unloading\n",
+ "sMl=((10230)*(8))/(1524) # Maximum stress(ksi)\n",
+ "#Permanent Radius of Curvature\n",
+ "p=round(((7)*(29*pow(10,6))*(pow(10,-3)))/(3.01),-2) # Permanent radius of curvature(in)\n",
+ "p=round((p*0.083333),-1) # Conversion(ft)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Residual stress = %lf ksi' %sMl)\n",
+ "print ('Case(a) Permanent radius of curvature = %lf ft' %p)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.07, Page number 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Largest tensile stress = 9289.555718 psi\n",
+ "Case(a) Largest compressive stress = -7659.809101 psi\n",
+ "Case(b) Distance Between Centroidal and Neutral Axes = 0.024038 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "d=0.5 # Diameter(in)\n",
+ "P=160 # Load(lb)\n",
+ "c=0.25 # Distance(in)\n",
+ "Sx=0 # \n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "M=P*0.65 # Bending couple(lb.in)\n",
+ "A=(math.pi)*(c**2) # Area(in**2)\n",
+ "S0=P/A # Stress(psi)\n",
+ "I=(1/4)*(math.pi)*(c**4) # Moment of inertia(in**4)\n",
+ "Sm=((M)*(c))/(I) # Stress(psi)\n",
+ "St=S0+Sm # Tensile stress(psi)\n",
+ "Sc=S0-Sm # Compressive stress(psi) \n",
+ "# Case(b)\n",
+ "Ex=Sx/E # Strain\n",
+ "p=(n*(40*(pow(10,-3))))/(Ex) \n",
+ "y0=(S0)*(I/M) # Distance Between Centroidal and Neutral Axes\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Largest tensile stress = %lf psi' %St)\n",
+ "print ('Case(a) Largest compressive stress = %lf psi' %Sc)\n",
+ "print ('Case(b) Distance Between Centroidal and Neutral Axes = %lf in' %y0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.8, Page number 273"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Largest allowable force = 76.972418 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import *\n",
+ "import math\n",
+ "\n",
+ "# Variable declaration\n",
+ "M=symbols('M') # Variable declaration\n",
+ "P=symbols('P') # Variable declaration\n",
+ "\n",
+ "# Calculation\n",
+ "#Properties of Cross Section.\n",
+ "A=(3*pow(10,-3)) # Area of cross section(mm**2)\n",
+ "Y=0.038 # Distance(m)\n",
+ "I=868*(pow(10,-9)) # Moment of inertia(m**4)\n",
+ "d=(0.038-0.010) # Distance(m) \n",
+ "#Force and Couple at C\n",
+ "M=0.028*P # Equivalent force-couple system\n",
+ "s0=(P*(round((1/(3*pow(10,-3))),0))) # Stress compression\n",
+ "s1=(P*round(((0.028)*(0.022))/(868*(pow(10,-9))),0)) # Stress tension \n",
+ "s2=(P*round(((0.028)*(0.038))/(868*pow(10,-9)))) # Stress compression\n",
+ "#Superposition\n",
+ "sA=-s0+s1 # Stress tension\n",
+ "sB=-s0-s2 # Stress compression\n",
+ "#Largest Allowable Force\n",
+ "P1=(30/377)*(1000) # The magnitude of P for which the tensile stress at point A is equal to the allowable tensile stress of 30 MPa is found by writing\n",
+ "P2=(120/1559)*(1000) # Determine the magnitude of P for which the stress at B is equal to the allowable compressive stress of 120 MPa.\n",
+ "\n",
+ "# Result\n",
+ "print ('Largest allowable force = %lf kN' %P2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.09, Page number 285"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stress at A = -2.625000 MPa\n",
+ "Stress at B = -1.375000 MPa\n",
+ "Stress at C = 1.625000 MPa\n",
+ "Stress at D = 0.375000 MPa\n",
+ "Neutral axis BG = 36.666667 mm\n",
+ "Neutral axis HA = 70.000000 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "F=4.80 # Couple(lb)\n",
+ "l=80 # Length(mm)\n",
+ "b=120 # Breadth(mm)\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "Mx=(F)*(40) # Stress in x(N.m)\n",
+ "Mz=(F)*(60-35) # Stress in z(N.m)\n",
+ "A=(0.080)*(0.120) # Area of cross section(m**2)\n",
+ "Ix=(1/12)*(0.120)*(0.080**3) # Centroidal moment of inertia(m**4)\n",
+ "Iz=(1/12)*(0.080)*(0.120**3) # Centroidal moment of inertia(m**4)\n",
+ "S0=n*(P/A) # Stress(MPa) \n",
+ "S1=((192)*(40))/(5.12*(pow(10,-6))) # Stress in x(MPa)\n",
+ "S2=((120)*(60))/(11.52*(pow(10,-6))) # Stress in y(MPa)\n",
+ "Sa=-0.5-1.5-0.625 # Stress at A(MPa)\n",
+ "Sb=-0.5-1.5+0.625 # Stress at B(MPa)\n",
+ "Sc=-0.5+1.5+0.625 # Stress at C(MPa) \n",
+ "Sd=-0.5+1.5-0.625 # Stress at D(MPa)\n",
+ "\n",
+ "\n",
+ "# Case(b)\n",
+ "BG=((1.375)/(1.625+1.375))*80 # Distance(mm)\n",
+ "HA=((2.625)/(2.625+0.375))*80 # Distance(mm)\n",
+ "\n",
+ "# Result\n",
+ "print ('Stress at A = %lf MPa' %Sa)\n",
+ "print ('Stress at B = %lf MPa' %Sb)\n",
+ "print ('Stress at C = %lf MPa' %Sc)\n",
+ "print ('Stress at D = %lf MPa' %Sd)\n",
+ "print ('Neutral axis BG = %lf mm' %BG)\n",
+ "print ('Neutral axis HA = %lf mm' %HA)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.9, Page number 287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Largest permissible load = 14.251781 kips\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# Variable declaration\n",
+ "P=symbols('P')\n",
+ "\n",
+ "\n",
+ "#Properties of Cross Section\n",
+ "A=7.46 # Area of cross section(in**2)\n",
+ "Sx=24.7 # Section moduli x(in**3)\n",
+ "Sy=2.91 # Section moduli y(in**3) \n",
+ "#Force and Couple at C\n",
+ "Mx=4.75*P # Moment x()\n",
+ "My=1.5*P # Moment y()\n",
+ "#Normal Stresses\n",
+ "s1=P*round((1/7.46),4) # Normal stresses \n",
+ "s2=P*round((4.75/24.7),4) # Normal stresses\n",
+ "s3=P*round((1.5/2.91),4) # Normal stresses\n",
+ "#Superposition\n",
+ "sA=-s1 + s2 +s3 # Stress at A \n",
+ "sB=-s1+s2-s3 # Stress at B\n",
+ "sD=-s1-s2+s3 # Stress at D\n",
+ "sE=-s1-s2-s3 # Stress at E\n",
+ "\n",
+ "P=12/0.842 # Maximum compressive stress(kips) \n",
+ "\n",
+ "# Result\n",
+ "print ('Largest permissible load = %lf kips' %P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.10, Page number 288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stress at point A = 13.866727 MPa\n",
+ "The angle formed by the neutral axis and the horizontal is = 41.400000 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# Variable declaration \n",
+ "M0=1500 # Couple of magnitude(kN)\n",
+ "yA=50 # Distance() \n",
+ "zA=74\n",
+ "Iy=(3.25*(pow(10,-6))) # Moment of inertia(m**4)\n",
+ "Iz=(4.18*(pow(10,-6))) # Moment of inertia(m**4)\n",
+ "Iyz=(2.87*(pow(10,-6))) # Moment of inertia(m**4) \n",
+ "\n",
+ "# Calculation\n",
+ "# Principal axes\n",
+ "Theta=(80.8)/2 # Angle \n",
+ "R=sqrt(pow(0.465,2)+pow(2.87,2)) # Radius\n",
+ "R=2.91*(pow(10,-6)) # Converting to meter\n",
+ "Iu=3.72-2.91 # Moment of inertia(m**4)\n",
+ "Iv=3.72+2.91 # Moment of inertia(m**4) \n",
+ "#Loading\n",
+ "Mu=(M0*sin(40.4)) # Applied couple(N.m) \n",
+ "Mv=(M0*cos(40.4)) # Applied couple(N.m)\n",
+ "#Case(a) Stress at A\n",
+ "uA=50*cos(40.4*((2*math.pi)/360))+74*sin(40.4*((2*math.pi)/360)) # Perpendicular distances(mm)\n",
+ "vA=-50*sin(40.4*((2*math.pi)/360))+74*cos(40.4*((2*math.pi)/360)) # Perpendicular distances(mm)\n",
+ "sA=((972*0.0239)/(0.810*(pow(10,-6))) - ((1142)*(0.0860))/(6.63*pow(10,-6)))/(pow(10,6)) # Stress at A(MPa)\n",
+ "#Case(b) Neutral Axis\n",
+ "phy=81.8 # Angle neutral axis with the v axis(degree) \n",
+ "B=81.8-40.4 # Angle neutral axis with the horizontal axis(degree)\n",
+ "\n",
+ "# Result\n",
+ "print ('Stress at point A = %lf MPa' %sA)\n",
+ "print ('The angle formed by the neutral axis and the horizontal is = %lf degree' %B)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.10, Page number 298"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance e between the centroid and the neutral axis of the cross section = 0.031381 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "r=6 # mean radius(in)\n",
+ "b=2.5 # Breadth(in) \n",
+ "h=1.5 # Height(in)\n",
+ "n=-1\n",
+ "b=symbols('b') # Variable declaration\n",
+ "h=symbols('h') # Variable declaration\n",
+ "r=symbols('r') # Variable declaration\n",
+ "r1=symbols('r1') # Variable declaration\n",
+ "r2=symbols('r2') # Variable declaration\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "A=b*h # Area\n",
+ "R=A/(integrate((1/r), (r, r1, r2)))*(b) # Radius\n",
+ "r1=6-((1/2)*(1.5)) # Inner radius(in)\n",
+ "r2=6+((1/2)*(1.5)) # Outer radius(in)\n",
+ "# Case(b)\n",
+ "R=(1.5)/(log(r2/r1)) # Distance(in)\n",
+ "e=6-R # Distance between the centroid and the neutral axis \n",
+ "\n",
+ "# Result\n",
+ "print ('The distance e between the centroid and the neutral axis of the cross section = %lf in' %e)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.11, Page number 299"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum stress = 7.860974 ksi\n",
+ "Minimum stress = -9.304620 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "M=8 # Bending moment(kip.in)\n",
+ "A=(2.5)*(1.5) # Area(in**2) \n",
+ "R=5.969 \n",
+ "e=0.0314 # Distance(in)\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a)\n",
+ "Smax=((8)*(6.75-5.969))/((3.75)*(0.0314)*(6.75)) # Maximum stress(ksi) \n",
+ "Smin=((8)*(5.25-5.969))/((3.75)*(0.0314)*(5.25)) # Minimum stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum stress = %lf ksi' %Smax)\n",
+ "print ('Minimum stress = %lf ksi' %Smin)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 4.11, Page number 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Largest force that can applied to the component = 8.550000 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=symbols('P') # Variable declaration \n",
+ "s=symbols('s') # Variable declaration\n",
+ "A=symbols('A') # Variable declaration\n",
+ "M=symbols('M') # Variable declaration\n",
+ "R=symbols('R') # Variable declaration \n",
+ "e=symbols('e') # Variable declaration\n",
+ "\n",
+ "# Calculation\n",
+ "#Centroid of the Cross Section\n",
+ "r=(120*(pow(10,3)))/(2400) # Distance(m) \n",
+ "#Force and Couple at D\n",
+ "M=((50+60)/1000)*P # Moment\n",
+ "#Superposition\n",
+ "s=-(P/A) + (M*(r-R))/(A*e*r) # Total stress\n",
+ "#Radius of Neutral Surface\n",
+ "r=symbols('r') # Variable declaration \n",
+ "R=(2400)/((integrate((80/r), (r, 30, 50)))+(integrate((20/r), (r, 50, 90))))# Radius of neutral surface(m) \n",
+ "#Allowable Load\n",
+ "P=solve(-(P/(2.4*pow(10,-3))) + (0.110*P*(0.030-0.04561))/(2.4*(pow(10,-3))*(0.00439)*(0.030)) + (50*pow(10,6)),P) # Allowable load(kN)\n",
+ "P=round((P[0]/1000),2) # Rounding off(kN) \n",
+ "\n",
+ "# Result\n",
+ "print ('Largest force that can applied to the component = %lf kN' %P) "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5.ipynb
new file mode 100644
index 00000000..b240f4be
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5.ipynb
@@ -0,0 +1,577 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5 : Analysis and Design of Beams for Bending"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.1, Page number 322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum normal stress in the beam = 60.000000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "# Reactions\n",
+ "Rb=40 # Reaction at B(kN)\n",
+ "Rd=14 # Reaction at D(kN)\n",
+ "\n",
+ "# Calculations\n",
+ "# Shear and Bending-Moment Diagrams\n",
+ "V1=-20 # Force(kN) \n",
+ "M1=0 # Moment(kN.m)\n",
+ "V2=-20 # Force(kN) \n",
+ "M2=-50 # Moment(kN.m) \n",
+ "V3=26 # Force(kN) \n",
+ "M3=-50 # Moment(kN.m)\n",
+ "V4=26 # Force(kN)\n",
+ "M4=28 # Moment(kN.m)\n",
+ "V5=-14 # Force(kN) \n",
+ "M5=28 # Moment(kN.m)\n",
+ "V6=-14 # Force(kN)\n",
+ "M6=0 # Moment(kN.m) \n",
+ "# Maximum Normal Stress\n",
+ "S=(1/6)*(0.080)*(pow(0.250,2)) # Section modulus of the beam(m**3)\n",
+ "Mb=(50*pow(10,3)) # Moment(N.m)\n",
+ "sM=(Mb/S)/((pow(10,6))) # Stress(Pa)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum normal stress in the beam = %lf MPa' %sM)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.2, Page number 323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum normal stress to the left of point D = 16.000000 ksi\n",
+ "Maximum normal stress to the right of point D = 14.095238 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "x=symbols('x')\n",
+ "V=symbols('V')\n",
+ "n=-1\n",
+ "\n",
+ "# Calculation\n",
+ "#Equivalent Loading of Beam\n",
+ "#Case(a) Shear and Bending-Moment Diagrams\n",
+ "#From A to C\n",
+ "V=n*(3*x) # Force(kips) \n",
+ "M=n*3*(1/2)*x*x # Moment(kip.ft)\n",
+ "#From C to D\n",
+ "V=-24 # Force(kips) \n",
+ "M=96-(24*x) # Moment(kip.ft)\n",
+ "#From D to B\n",
+ "V=-34 # Force(kips) \n",
+ "M=226-(34*x) # Moment(kip.ft)\n",
+ "#Case(b) Maximum Normal Stress to the Left and Right of Point D\n",
+ "#To the left of D\n",
+ "S=126 # Volume(in**3) \n",
+ "M=2016 # Moment(kip.in)\n",
+ "Sm=(M)/S # Stress(ksi)\n",
+ "#To the right of D\n",
+ "M=1776 # Moment(kip.in)\n",
+ "Sm2=(M/S) # Stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum normal stress to the left of point D = %lf ksi' %Sm)\n",
+ "print ('Maximum normal stress to the right of point D = %lf ksi' %Sm2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 5.03, Page number 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum value of the bending moment :-\n",
+ "0.5*l*w*x - 0.5*w*x**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Ra=symbols('Ra') # Variable declaration\n",
+ "Rb=symbols('Rb') # Variable declaration\n",
+ "w=symbols('w') # Variable declaration\n",
+ "l=symbols('l') # Variable declaration\n",
+ "Ma=0 # Bending moment \n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "Ra=(1/2)*(w)*(l) # Reaction at A\n",
+ "V=Ra+ n*integrate(w, (x, 0, x)) # Shear\n",
+ "M=Ma + integrate(V, (x, 0, x)) # Bending moment\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum value of the bending moment :-')\n",
+ "print (M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.3, Page number 333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Mb=symbols('Mb') # Variable declaration\n",
+ "Mc=symbols('Mc') # Variable declaration\n",
+ "Md=symbols('Md') # Variable declaration\n",
+ "Me=symbols('Me') # Variable declaration\n",
+ "#Reactions\n",
+ "D=((12)*(28) + (12)*(14) + (20)*(6))/24 # Force(kips)\n",
+ "Ay=20+12-26+12 # Force(kips)\n",
+ "Ax=0 # Force(kips)\n",
+ "#Shear Diagram\n",
+ "V=18-20 # Force(kips)\n",
+ "#Bending-Moment Diagram\n",
+ "Ma=0 # Moment(kip.ft)\n",
+ "Mb=solve(Mb-108,Mb) # Moment(kip.ft)\n",
+ "Mc=solve(Mc-Mb[0]+16,Mc) # Moment(kip.ft) \n",
+ "Md=solve(Md-Mc[0]+16,Md) # Moment(kip.ft)\n",
+ "Me=solve(Me-Md[0]+16,Me) # Moment(kip.ft)\n",
+ "Vmax=18 # Force(kips)\n",
+ "Mmax=108 # Moment(kip.ft)\n",
+ "\n",
+ "# Result\n",
+ "print ('Bending moment at A = %lf kip.ft' %Ma)\n",
+ "print ('Bending moment at B = %lf kip.ft' %Mb)\n",
+ "print ('Bending moment at C = %lf kip.ft' %Mc)\n",
+ "print ('Bending moment at D = %lf kip.ft' %Md)\n",
+ "print ('Bending moment at E = %lf kip.ft' %Me)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.4, Page number 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Location of maximum normal stress = 4.000000 kip.ft\n",
+ "Magnitude of maximum normal stress = 125.984252 kip.ft\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "x=symbols('x') # Variable declaration\n",
+ "Ra=80 # Reaction at A(kN)\n",
+ "Rc=40 # Reaction at C(kN)\n",
+ "Va=80 # Force at A(kN)\n",
+ "Ma=0 # Moment at A \n",
+ "S=1270\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a)\n",
+ "Vb=-120+80 # Force at B(kN)\n",
+ "Vc=Vb # Force at C(kN) \n",
+ "x=solve(0-80+(20*x),x) \n",
+ "Md=Ma+160 # Bending moment at point D(kN.m)\n",
+ "Mb=Md-40 # Bending moment at point B(kN.m) \n",
+ "Mc=Mb-120 # Bending moment at point C(kN.m)\n",
+ "sm=((Md*pow(10,3))/(S*pow(10,-6)*pow(10,6))) # Maximum normal stress(Pa)\n",
+ "\n",
+ "# Result\n",
+ "print ('Location of maximum normal stress = %lf kip.ft' %x[0])\n",
+ "print ('Magnitude of maximum normal stress = %lf kip.ft' %sm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.7, Page number 342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Minimum required depth of the beam = 14.546281 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "x=symbols('x') # Variable declaration \n",
+ "Ra=80 \n",
+ "Rc=40 \n",
+ "sall=1.75 # Allowable stress(ksi)\n",
+ "\n",
+ "#Calculation \n",
+ "#Reactions.\n",
+ "B=((4.5*12)+(3.2*4))/8 # Reaction at B(kips)\n",
+ "Ay=7.7-8.35 # Reaction at A(kips)\n",
+ "A=-Ay\n",
+ "#Shear Diagram\n",
+ "Va=Ay # Force at A(kips) \n",
+ "Vb=Va-((400*8)/1000) # Force at B(kips) \n",
+ "#Determination of |M| max\n",
+ "Ma=Mc=0 # Moment at C\n",
+ "Mmax=18 # Maximum moment(kip.ft)\n",
+ "\n",
+ "#Minimum Allowable Section Modulus\n",
+ "Smin=((Mmax*12)/sall) # Minimum allowable section modulus(in**3)\n",
+ "\n",
+ "\n",
+ "#Minimum Required Depth of Beam\n",
+ "h=math.sqrt((123.43*6)/3.5) # Minimum required depth of the beam\n",
+ "\n",
+ "# Result\n",
+ "print ('Minimum required depth of the beam = %lf in' %h)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.8, Page number 343"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "We select the lightest shape available, namely W360*32.9\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "x=symbols('x') # Variable declaration\n",
+ "Ra=80 # Force on rod AC(lb)\n",
+ "Rc=40 # Diameter at the upper junction of rod ABC(in)\n",
+ "sall=160 # Normal stress for the grade of steel(MPa) \n",
+ "V=0\n",
+ "\n",
+ "#Calculation \n",
+ "#Reactions.\n",
+ "D=((50*4)+(60*1.5))/5 # Reaction(kN)\n",
+ "Ay=60+50-58 # Reaction(kN) \n",
+ "\n",
+ "#Shear Diagram\n",
+ "Va=Ay=52 # Force at A(kN)\n",
+ "Vb=52-60 # Force at B(kN)\n",
+ "x=(52/20) # Distance(m)\n",
+ "\n",
+ "#Determination of |M| max\n",
+ "Mmax=Me=67.6 # Maximum bending moment(kN.m)\n",
+ "\n",
+ "#Minimum Allowable Section Modulus\n",
+ "Smin=(Mmax/sall)*(pow(10,-6))*(pow(10,9)) # Minimum Allowable Section Modulus(mm**3) \n",
+ "\n",
+ "#Selection of Wide-Flange Shape\n",
+ "#W410*38.8 629\n",
+ "#W360*32.9 475\n",
+ "#W310*38.7 547\n",
+ "#W250*44.8 531\n",
+ "#W200*46.1 451\n",
+ "\n",
+ "#Result\n",
+ "print('We select the lightest shape available, namely W360*32.9')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Example 5.07, Page number 362"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "-w*x**2/2\n",
+ "The plate providing the most economical design is of triangular shape.\n",
+ "Maximum depth h0 = 300.000000 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "x=symbols('x') # Variable declaration\n",
+ "w=symbols('w') # Variable declaration \n",
+ "b=symbols('b') # Variable declaration\n",
+ "Sall=symbols('Sall') # Variable declaration \n",
+ "h=symbols('h') # Variable declaration\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "# Bending Moment\n",
+ "Vx=n*integrate(w,x) # Force \n",
+ "Mx=n*integrate(w*x,x) # Moment\n",
+ "\n",
+ "\n",
+ "#Case(a) Shape Of Plate\n",
+ "h=sqrt(n*(6*(Mx))/(b*(Sall))) # Relation between h and x\n",
+ "\n",
+ "#Case(b) Shape Of Plate\n",
+ "h0=(((3*135)/(0.040*1000*72))**(1/2))*(800) # Maximum depth h0(mm)\n",
+ "\n",
+ "#Result\n",
+ "print('The plate providing the most economical design is of triangular shape.')\n",
+ "print('Maximum depth h0 = %lf in' %h0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.11, Page number 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required number of pair of planks = 3.000000\n",
+ "Length of plank 1 = 130.500000 in\n",
+ "Length of plank 2 = 111.300000 in\n",
+ "Length of plank 3 = 83.800000 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "x=symbols('x') # Variable declaration\n",
+ "M=symbols('M') # Variable declaration\n",
+ "b=symbols('b') # Variable declaration \n",
+ "h=symbols('h') # Variable declaration\n",
+ "sall=symbols('sall') # Variable declaration\n",
+ "Mab=4.80*x # Moment AB(kip.in) \n",
+ "Mbc=4.80*x-(4.80)*(x-48) # Moment BC(kip.in)\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "#Number of Pairs of Planks\n",
+ "h=sqrt((6*M)/(b*sall)) # Eq 1\n",
+ "h=sqrt((6*230.4)/(4*2.40)) # Height(in)\n",
+ "No_Pl=3 # Since the original beam has a depth of 4.50 in., the planks must provide an additional depth of 7.50 in. Recalling that each pair of planks is 2.50 in. thick\n",
+ "\n",
+ "#Length of Planks\n",
+ "h=symbols('h') # Variable declaration\n",
+ "x=(((4)*(2.40))/(6*4.80))*(h**2) # from Eq 1\n",
+ "x1=round(x.subs(h,4.50),2) # Distance(in)\n",
+ "x2=round(x.subs(h,7.00),2) # Distance(in)\n",
+ "x3=round(x.subs(h,9.50),2) # Distance(in)\n",
+ "l1=144-2*x1 # Length(in)\n",
+ "l2=round((144-2*x2),1) # Length(in)\n",
+ "l3=round((144-2*x3),1) # Length(in)\n",
+ "\n",
+ "#Result\n",
+ "print('The required number of pair of planks = %lf' %No_Pl)\n",
+ "print('Length of plank 1 = %lf in' %l1)\n",
+ "print('Length of plank 2 = %lf in' %l2)\n",
+ "print('Length of plank 3 = %lf in' %l3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 5.12, Page number 364"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Length of plates = 3.530000 m\n",
+ "Width of plates = 267.000000 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "#Bending Moment\n",
+ "x=symbols('x') # Variable declaration \n",
+ "M=symbols('M') # Variable declaration\n",
+ "I=symbols('I') # Variable declaration\n",
+ "Ip=Function('Ip') # Variable declaration\n",
+ "M=250*x # Bending moment \n",
+ "S=(3.49*pow(10,-3)) # Section modulus(m**3)\n",
+ "sall=160*(pow(10,3)) # Stress all(kN/(m**2)) \n",
+ "Ib=1190*(pow(10,6)) # the moment of inertia Ib of the two plates with respect to the neutral axis\n",
+ "d=678 # Depth(mm)\n",
+ "t=16 # Thickness(mm)\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a) Required Length of Plates\n",
+ "M=round(S*sall,1) # Moment(kN.m)\n",
+ "x=solve(M-250*x,x) # Distance(m)\n",
+ "x=round(x[0],3) # Rounding\n",
+ "l=round(8-(2*x),2) # Length of plates(m) \n",
+ "\n",
+ "\n",
+ "#Case(b) Required Width of Plates\n",
+ "M=250*4 # Maximum bending moment(kN.m)\n",
+ "Ip=(((1/6)*b*(t**3)) + 2*b*t*(((1/2)*d)+((1/2)*t))**2)*(pow(10,3))# Moment of inertia\n",
+ "I=Ib+Ip # Moment of inertia of beam and plates \n",
+ "c=(1/2)*d + t # Distance from neutral axis to surface(mm)\n",
+ "I=round((M*c)/(sall),3) # Moment of inertia(mm**4)\n",
+ "I=I*(pow(10,9)) # Conversion\n",
+ "b=round((I-Ib)/(3.854*(pow(10,6))),0) # Distance(mm)\n",
+ "\n",
+ "#Result\n",
+ "print('Length of plates = %lf m' %l)\n",
+ "print('Width of plates = %lf mm' %b)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6.ipynb
new file mode 100644
index 00000000..bbb25b5b
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6.ipynb
@@ -0,0 +1,623 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6 : Shearing Stresses in Beams and Thin-Walled Members"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.01, Page number 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shearing force in each nail is = 92.592593 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "l=0.020 # Length(m)\n",
+ "b=0.100 # Breadth(m)\n",
+ "V=500 # Vertical shear(N)\n",
+ "y=0.060 # Distance(m)\n",
+ "\n",
+ "#Calculation \n",
+ "A=l*b # Area(m**2)\n",
+ "Q=A*y # First moment of an area with respect to a given axis\n",
+ "I=(1/12)*(0.020)*(0.1**3) + 2*((1/12)*(0.1)*(0.02**3) + (0.020*0.1)*(0.06**2)) # Moment of inertia(m**4) \n",
+ "q=(V*Q)/(I) \n",
+ "F=(0.025)*q # Shearing force in each nail(N)\n",
+ "\n",
+ "# Result\n",
+ "print ('Shearing force in each nail is = %lf N' %F)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.02, Page number 389"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum shearing stress in a narrow rectangular beam = 0.132548 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "Vmax=4.50 # Force maximum(kips)\n",
+ "b=3.5 # Actual width of beam(in)\n",
+ "h=14.55 # Depth(in)\n",
+ "\n",
+ "#Calculation \n",
+ "Tmax=(3/2)*(Vmax/(b*h)) # Maximum shearing stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum shearing stress in a narrow rectangular beam = %lf ksi' %Tmax) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.03, Page number 389"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum allowable shearing stress for steel beam = 28.653295 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "tw=5.8 # Distance(mm)\n",
+ "d=349 # Distance(mm)\n",
+ "Vmax=58 # Force(kN)\n",
+ "\n",
+ "#Calculation \n",
+ "Aweb=d*tw # Area(mm*2)\n",
+ "Tmax=(Vmax/Aweb)*(1000) # Maximum shearing stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum allowable shearing stress for steel beam = %lf MPa' %Tmax) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 6.1, Page number 392"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shearing stress in joint a = 725.000000 kPa\n",
+ "Shearing stress in joint b = 608.000000 kPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=B=1.5 # Force(kN)\n",
+ "V=1.5 # Force(kN)\n",
+ "y1=0.0417 # Distance(m)\n",
+ "y2=0.0583 # Distance(m)\n",
+ "AreaA=0.100*0.020 # Area(m**2)\n",
+ "AreaB=0.060*0.020 # Area(m**2)\n",
+ "I=8.63*(pow(10,-6)) # Moment of inertia(m**2) \n",
+ "t=0.020 # Distance(m)\n",
+ "\n",
+ "#Calculation \n",
+ "#Shearing Stress in Joint a\n",
+ "Qa=AreaA*y1 \n",
+ "taweA=round((V*Qa)/(I*t),0) # Shearing stress in joint a(kPa)\n",
+ "\n",
+ "#Shearing Stress in Joint b\n",
+ "Qb=AreaB*y2\n",
+ "taweB=round((V*Qb)/(I*t),0) # Shearing stress in joint b(kPa)\n",
+ "\n",
+ "# Result\n",
+ "print ('Shearing stress in joint a = %lf kPa' %taweA) \n",
+ "print ('Shearing stress in joint b = %lf kPa' %taweB) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 6.2, Page number 393"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Minimum required depth d of beam = 10.710000 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "#Maximum Shear and Bending Moment\n",
+ "I=symbols('I') # Variable declaration\n",
+ "b=symbols('b') # Variable declaration \n",
+ "d=symbols('d') # Variable declaration\n",
+ "c=symbols('c') # Variable declaration\n",
+ "S=symbols('S') # Variable declaration \n",
+ "Mmax=90 # Maximum bending moment(kip.in) \n",
+ "Vmax=3 # Force(kips)\n",
+ "sall=1800 # Stress all(psi)\n",
+ "tall=120 # Shearing stress(psi) \n",
+ "b=3.5 # Width(in)\n",
+ "\n",
+ "#Calculation \n",
+ "#Design Based on Allowable Normal Stress\n",
+ "I=(1/12)*(b)*(d**3) # Moment of inertia(m**4)\n",
+ "S=round((1/6)*(b),4)*(d**2) # Section modulus\n",
+ "d=round(sqrt(((90*(pow(10,3)))/(1800))*(1/0.5833)),2) # Distance(in)\n",
+ "\n",
+ "#Check Shearing Stress\n",
+ "Area=(b)*(d) # Area(in**2)\n",
+ "tm=round((3/2)*((Vmax*1000)/Area),1) # Allowable shearing stress(psi)\n",
+ "\n",
+ "#Design Based on Allowable Shearing Stress\n",
+ "d=round((3*3000)/(2*3.5*120),2) # Distance(in)\n",
+ "\n",
+ "# Result\n",
+ "print ('Minimum required depth d of beam = %lf in' %d) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.04, Page number 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shearing force in each nail = 80.762500 lb\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "l=0.75 # Distance(in)\n",
+ "b=3 # Breadth(in) \n",
+ "V=600 # Vertical shear(lb)\n",
+ "y=1.875 # Distance(in)\n",
+ "\n",
+ "#Calculation \n",
+ "Q=l*b*y \n",
+ "I=(1/12)*((4.5**4)-(3**4)) # Moment of inertia(in**4)\n",
+ "q=(V*Q)/(I) \n",
+ "F=(1.75)*(46.15) # Shearing force(lb)\n",
+ "\n",
+ "# Result\n",
+ "print ('Shearing force in each nail = %lf lb' %F) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 6.3, Page number 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Horizontal shearing stress = 2.630000 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "Q=round((4.31)*(0.770)*(4.815),2)\n",
+ "t=round(((50)*(15.98))/(394*0.770),2) # Normal shearing stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Horizontal shearing stress = %lf ksi' %t) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 6.4, Page number 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Horizontal shearing stress = 2.790000 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "tf=0.770 # Distance(in)\n",
+ "\n",
+ "#Calculation \n",
+ "I=round(394 + 2*((1/12)*(12)*pow(0.75,3) + (12)*(0.75)*(pow(5.575,2))),0) # Centroidal moment of inertia(in**4)\n",
+ "t=2*tf # Distance(in) \n",
+ "Q=round(2*(4.31*0.770*4.815) + (12)*(0.75)*(5.575),1) \n",
+ "t=round(((50)*(82.1))/((954)*(1.54)),2) # Shearing stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Horizontal shearing stress = %lf ksi' %t) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 6.5, Page number 407"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Shearing stress at A = 0.000000 ksi\n",
+ "Case(a) Maximum shearing stress = 18.540000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "AB=AD=65 # Distance AB(mm)\n",
+ "cosB=12/13 \n",
+ "\n",
+ "#Calculation \n",
+ "#Centroid\n",
+ "Y=round((2*65*3*30)/((2*65*3)+((50)*(3))),2) # Distance y(mm)\n",
+ "#Centroidal Moment of Inertia\n",
+ "b=(3)/(cosB) # Distance(mm) \n",
+ "I=2*((1/12)*(3.25)*(pow(60,3)) + (3.25)*(60)*(pow(8.33,2))) + ((1/12)*(50)*(pow(3,3)) + (50)*(3)*(pow(21.67,2)))# Moment of inertia(mm**4)\n",
+ "I=(I/(pow(10,12))) # Moment of inertia(m**4) \n",
+ "#Shearing Stress at A\n",
+ "ta=0\n",
+ "#Maximum Shearing Stress\n",
+ "Q=round(3.25*38.33*(38.33/2),0)\n",
+ "tE=((5)*(2.387*(pow(10,-6))))/((0.2146*(pow(10,-6)))*(0.003)) \n",
+ "tE=round(tE/1000,2) # Largest shearing stress\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Shearing stress at A = %lf ksi' %ta)\n",
+ "print ('Case(a) Maximum shearing stress = %lf MPa' %tE)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.05, Page number 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shear center O of a channel section of uniform thickness = 1.600000 in\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "b=4 # Distance(in)\n",
+ "h=6 # Distance(in)\n",
+ "t=0.15 # Thickness(in) \n",
+ "s=symbols('s') # Variable declaration\n",
+ "V=symbols('V') # Variable declaration \n",
+ "I=symbols('I') # Variable declaration\n",
+ "b=symbols('b') # Variable declaration\n",
+ "\n",
+ "#Calculation \n",
+ "q=(V*s*t*h)/(2*I) # First moment\n",
+ "F=integrate(q,(s,0,b)) # Magnitude of shearing force\n",
+ "e=(F*h)/(V) # Distance e from the center line of the web BD to the shear center O\n",
+ "I=((1/12)*t*(h**3)) + 2*(((1/12)*b*(t**3)) + (b*t*((h/2)**2))) # Moment of inertia\n",
+ "e=(4)/(2+0.5) # Distance(in)\n",
+ "\n",
+ "# Result\n",
+ "print ('Shear center O of a channel section of uniform thickness = %lf in' %e)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.06, Page number 418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shearing stress in flanges = 2.222222 ksi\n",
+ "Shearing stress in web = 3.055556 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "V=2.5 # Force(kips)\n",
+ "b=4 # Distance(in)\n",
+ "t=0.15 # Thickness(in)\n",
+ "h=6 # Height(in)\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "tB=(6*V*b)/((t*h)*(6*b+h)) # Horizontal shearing stress(ksi)\n",
+ "tMAX=(3*(V)*(4*b+h))/(2*t*h*(6*b+h)) # Shearing stress in web(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Shearing stress in flanges = %lf ksi' %tB)\n",
+ "print ('Shearing stress in web = %lf ksi' %tMAX)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.07, Page number 419"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum shearing stress = 68.860000 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "V=2.5 # Force(kip)\n",
+ "OC=1.6+1.143 # Distance(in)\n",
+ "a=4+6+4 # Distance(in)\n",
+ "b=0.15 # Distance(in)\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "T=V*OC # Torque(kip.in)\n",
+ "TmaxBend=3.06 # Maximum value of stress(ksi)\n",
+ "c1=(1/3)*(1-(0.630*(b/a))) \n",
+ "tmaxTwist=(T/(c1*a*(b**2))) # Stress due to twisting(ksi) \n",
+ "tmax=3.06 + 65.8 # Combined stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Maximum shearing stress = %lf ksi' %tmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 6.6, Page number 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Combined stress along the vertical leg :-\n",
+ "-3.0*P*(-0.25*a + 0.25*y)*(0.25*a + 1.25*y)/(a**3*t)\n",
+ "Combined stress along the horizontal leg :-\n",
+ "3.0*P*(-0.25*a + 0.25*y)*(-0.25*a + 0.75*y)/(a**3*t)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "b=symbols('b') # Variable declaration\n",
+ "h=symbols('h') # Variable declaration \n",
+ "t=symbols('t') # Variable declaration\n",
+ "a=symbols('a') # Variable declaration\n",
+ "y=symbols('y') # Variable declaration \n",
+ "P=symbols('P') # Variable declaration\n",
+ "t1=symbols('t1') # Variable declaration\n",
+ "\n",
+ "#Calculation \n",
+ "#Principal Axes\n",
+ "Inn=(1/12)*(b)*(pow(h,3)) # Moment of inertia\n",
+ "Imm=(1/3)*(b)*(pow(h,3)) # Moment of inertia \n",
+ "Iy=(2)*(1/3)*(t/cos((math.pi)/4))*(pow((a*cos((math.pi)/4)),3)) # Centroidal moment of inertia at y \n",
+ "Iz=(2)*(1/12)*(t/cos((math.pi)/4))*(pow((a*cos((math.pi)/4)),3)) # Centroidal moment of inertia at z\n",
+ "\n",
+ "#Shearing Stresses Due to Vy\n",
+ "Y=(1/2)*(a+y)*(cos((math.pi)/4))-(1/2)*(a)*(cos((math.pi)/4)) # Distance\n",
+ "Q=(1/2)*(t)*(a-y)*(y)*cos((math.pi)/4)\n",
+ "Vy=P*(cos((math.pi)/4))\n",
+ "t1=(Vy*Q)/(Iz*t) # Stress\n",
+ "\n",
+ "\n",
+ "#Shearing Stresses Due to Vz\n",
+ "Z=(1/2)*(a+y)*cos((math.pi)/4)\n",
+ "Q=(1/2)*(a**2-y**2)*(t)*(cos((math.pi)/4))\n",
+ "Vz=P*(cos((math.pi)/4))\n",
+ "t2=(Vz*Q)/(Iy*t) # Stress\n",
+ "\n",
+ "#Combined Stresses. \n",
+ "#Along the Vertical Leg\n",
+ "te=factor(t1+t2) # Stress \n",
+ "\n",
+ "#Along the Horizontal Leg.\n",
+ "tf=factor(t2-t1) # Stress\n",
+ "\n",
+ "# Result\n",
+ "print ('Combined stress along the vertical leg :-' )\n",
+ "print(te)\n",
+ "print ('Combined stress along the horizontal leg :-')\n",
+ "print(tf)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7.ipynb
new file mode 100644
index 00000000..20dfe6f4
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7.ipynb
@@ -0,0 +1,738 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7 : Transformations of Stress and Strain"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.01, Page number 446"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Principal planes = 26.550000 degree\n",
+ "Case(a) Principal planes = 116.550000 degree\n",
+ "Case(b) Maximum principal stress = 70.000000 MPa\n",
+ "Case(b) Minimum principal stress = -30.000000 MPa\n",
+ "Case(c) Maximum shearing stress = 50.000000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Sx=50 # Stress in x(MPa)\n",
+ "n=-1\n",
+ "Sy=n*10 # Stress in y(MPa)\n",
+ "txy=40 # Shearing stress(MPa) \n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a) Principal axes\n",
+ "phy1=(53.1)/2 # Angle(degree) \n",
+ "phy2=(233.1)/2 # Angle(degree)\n",
+ "\n",
+ "# Case(b) Principal stresses\n",
+ "Smax=20+sqrt(30**2+40**2) # Maximum principal stress(MPa)\n",
+ "Smin=20-sqrt(30**2+40**2) # Maximum principal stress(MPa)\n",
+ "Sxl=(50-10)/(2) + ((50+10)/(2))*cos(53.1*((math.pi)*2)/(360)) +40*sin(53.1*((math.pi)*2)/(360)) \n",
+ "\n",
+ "# Case(c) Maximum shearing stress\n",
+ "tmax=sqrt(30**2+40**2) # Maximum shearing stress(MPa)\n",
+ "Sl=(50-10)/2 # Normal stress on each of four walls(MPa)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Principal planes = %lf degree' %phy1)\n",
+ "print ('Case(a) Principal planes = %lf degree' %phy2)\n",
+ "print ('Case(b) Maximum principal stress = %lf MPa' %Smax)\n",
+ "print ('Case(b) Minimum principal stress = %lf MPa' %Smin)\n",
+ "print ('Case(c) Maximum shearing stress = %lf MPa' %tmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 7.1, Page number 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Normal stress = 8.840000 ksi\n",
+ "Case(a) Shearing stress = 7.960000 ksi\n",
+ "Case(b) Principal plane angle = -30.500000 MPa\n",
+ "Case(b) Principal plane angle = 119.000000 MPa\n",
+ "Case(c) Maximum stress at point H = 13.524834 MPa\n",
+ "Case(c) Minimum stress at point H = -4.684834 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "P=150 # Horizontal force(lb)\n",
+ "T=(150*18)/(1000) # Force couple system(kip.in)\n",
+ "Mx=(150*10)/(1000) # Force couple system(kip.in)\n",
+ "sx=0 # Stress at x\n",
+ "M=1.5 # Torque(kip.in)\n",
+ "c=0.6 # Radius(in)\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a) Stresses S x , S y , T xy at Point H\n",
+ "sy=round(((M)*(c))/((1/4)*(math.pi)*(pow(0.6,4))),2) # Stress(ksi)\n",
+ "txy=round(((T)*(c))/((1/2)*(math.pi)*(pow(0.6,4))),2) # Shearing stress(ksi)\n",
+ "\n",
+ "#Case(b) Principal Planes and Principal Stresses\n",
+ "phyp1=(n*61)/2 # Angle(degree)\n",
+ "phyp2=180-61 # Angle(degree)\n",
+ "\n",
+ "Smax=8.84/2 + sqrt(4.42**2 + 7.96**2) # Maximum stress(ksi) \n",
+ "Smin=8.84/2 - sqrt(4.42**2 + 7.96**2) # Minimum stress(ksi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Normal stress = %lf ksi' %sy)\n",
+ "print ('Case(a) Shearing stress = %lf ksi' %txy)\n",
+ "print ('Case(b) Principal plane angle = %lf degree' %phyp1)\n",
+ "print ('Case(b) Principal plane angle = %lf degree' %phyp2)\n",
+ "print ('Case(c) Maximum stress at point H = %lf ksi' %Smax)\n",
+ "print ('Case(c) Minimum stress at point H = %lf ksi' %Smin)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.02, Page number 454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) radius of circle = 50.000000 MPa\n",
+ "Case(b) Maximum principal stress = 70.000000 MPa\n",
+ "Case(b) Minimum principal stress = -30.000000 MPa\n",
+ "Case(c) Maximum shearing stress = 50.000000 MPa\n",
+ "Case(c) Minimum shearing stress = 20.000000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "n=-1\n",
+ "Sx=50 # Force at x(MPa)\n",
+ "Sy=n*10 # Force at y(MPa)\n",
+ "OC=20 # Force(MPa) \n",
+ "CA=50 # Force(MPa)\n",
+ "BC=50 # Force(MPa)\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a) Construction of Mohr’s Circle\n",
+ "Save=(Sx+Sy)/2 # Average stress(MPa)\n",
+ "CF=50-20 # Force(MPa) \n",
+ "FX=40 # Force(MPa) \n",
+ "R=sqrt(30**2 + 40**2) # Radius of circle(MPa)\n",
+ "# case(b) Principal Planes and Principal Stresses\n",
+ "Smax=OC+CA # Maximum stress(MPa) \n",
+ "Smin=OC-BC # Minimum stress(MPa)\n",
+ "phyp=(53.1)/2 # Angle(degree)\n",
+ "# case(c) Maximum Shearing Stress\n",
+ "tmax=50 # Maximum shearing stress(MPa) \n",
+ "Save=20 # Maximum normal stress(MPa) \n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) radius of circle = %lf MPa' %R)\n",
+ "print ('Case(b) Maximum principal stress = %lf MPa' %Smax)\n",
+ "print ('Case(b) Minimum principal stress = %lf MPa' %Smin)\n",
+ "print ('Case(c) Maximum shearing stress = %lf MPa' %tmax)\n",
+ "print ('Case(c) Minimum shearing stress = %lf MPa' %Save)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 7.2, Page number 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Principal planes angle = 33.700000 MPa\n",
+ "Case(b) Maximum principal stress = 132.000000 MPa\n",
+ "Case(b) Minimum principal stress = 28.000000 MPa\n",
+ "Case(c) Stress in x direction = 48.416456 MPa\n",
+ "Case(c) Stress in y direction = 111.583544 MPa\n",
+ "Case(c) Stress in x and y direction = 41.309560 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "sx=100 # Force(MPa)\n",
+ "sy=60 # Force(MPa)\n",
+ "CF=20 # Force(MPa)\n",
+ "FX=48 # Force(MPa) \n",
+ "OC=80 # Force(MPa)\n",
+ "CA=52 # Force(MPa)\n",
+ "BC=52 # Force(MPa) \n",
+ "\n",
+ "# Calculation\n",
+ "#Construction of Mohr’s Circle\n",
+ "R=sqrt(20**2+48**2) # Radius of circle(MPa)\n",
+ "\n",
+ " \n",
+ "#Case(a) Principal Planes and Principal Stresses\n",
+ "phyp=(67.4)/2 # Angle(degree)\n",
+ "Smax=OC+CA # Maximum stress(MPa)\n",
+ "Smin=OC-BC # Min stress(MPa)\n",
+ "\n",
+ "#Case(b) Stress Components on Element Rotated 30\n",
+ "phy=180-60 # Angle(degree)\n",
+ "Sxl=80-(52*(cos(52.6*(math.pi*2)/(360))))\n",
+ "Syl=80+(52*(cos(52.6*(math.pi*2)/(360))))\n",
+ "txlyl=52*(sin(52.6*(math.pi*2)/(360)))\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Principal planes angle = %lf MPa' %phyp)\n",
+ "print ('Case(b) Maximum principal stress = %lf MPa' %Smax)\n",
+ "print ('Case(b) Minimum principal stress = %lf MPa' %Smin)\n",
+ "print ('Case(c) Stress in x direction = %lf MPa' %Sxl)\n",
+ "print ('Case(c) Stress in y direction = %lf MPa' %Syl)\n",
+ "print ('Case(c) Stress in x and y direction = %lf MPa' %txlyl)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 7.3, Page number 458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Shearing stress t0 for which the largest normal stress is 10 ksi = 4.472856 ksi\n",
+ "Case(b) Maximum shearing stress = 6.000000 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "S0=8 # Stress(ksi)\n",
+ "Sx=8 # Stress in x direction(ksi)\n",
+ "Sy=0 # Stress in y direction(ksi) \n",
+ "Smax=10 # Maximum stress(ksi)\n",
+ "\n",
+ "# Calculation\n",
+ "#Construction of Mohr’s Circle\n",
+ "Save=(1/2)*(Sx+Sy) # Average stress(ksi) \n",
+ "R=10-4 # Radius of mohr's circle(ksi) \n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a) Shearing Stress t0\n",
+ "phyp=(48.2)/2 # Angle(degree) \n",
+ "t0=R*sin(48.2*((math.pi)*2)/(360)) # Shearing stress(ksi)\n",
+ "\n",
+ "#Case(b) Maximum Shearing Stress\n",
+ "tmax=R # Maximum shearing stress(ksi)\n",
+ "phyx=(90-48.2)/(2) \n",
+ "\n",
+ "#Result\n",
+ "print ('Case(a) Shearing stress t0 for which the largest normal stress is 10 ksi = %lf ksi' %t0)\n",
+ "print ('Case(b) Maximum shearing stress = %lf ksi' %tmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.03, Page number 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Principal stress at A = 8.000000 ksi\n",
+ "Case(a) Principal stress at B = 1.500000 ksi\n",
+ "Case(b) Principal plane = 33.700000 ksi\n",
+ "Case(c) Maximum shearing stress = 4.000000 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "n=-1\n",
+ "Sx=6\n",
+ "Sy=3.5\n",
+ "OC=4.75\n",
+ "CA=3.25\n",
+ "BC=3.25\n",
+ "\n",
+ "#Calculation \n",
+ "# Case(a) Principal Planes and Principal Stresses\n",
+ "Save=(Sx+Sy)/2 # Average stress(ksi)\n",
+ "R=sqrt(1.25**2 + 3**2) # Radius of circle(ksi)\n",
+ "Sa=OC+CA # Principal stress(ksi)\n",
+ "Sb=OC-BC # Principal stress(ksi) \n",
+ "phyp=(67.4)/2\n",
+ "\n",
+ "# Case(b) Maximum shearing stress\n",
+ "tmax=(1/2)*(Sa) # Maximum torque(ksi)\n",
+ " \n",
+ "#Result\n",
+ "print ('Case(a) Principal stress at A = %lf ksi' %Sa)\n",
+ "print ('Case(a) Principal stress at B = %lf ksi' %Sb)\n",
+ "print ('Case(b) Principal plane = %lf ksi' %phyp)\n",
+ "print ('Case(c) Maximum shearing stress = %lf ksi' %tmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 7.4, Page number 472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Factor of safety with respect to maximum shearing stress criteria = 1.923077 \n",
+ "Case(b) Factor of safety with respect to maximum-distortion-energy criterion = 2.190000 \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "#Mohr’s Circle\n",
+ "Sx=80 # Stress at x(MPa)\n",
+ "sy=-40 # Stress at y(MPa) \n",
+ "CF=60 # Stress(MPa) \n",
+ "FX=25 # Stress(MPa)\n",
+ "OC=20 # Stress(MPa)\n",
+ "CA=65 # Stress(MPa)\n",
+ "BC=65 # Stress(MPa)\n",
+ "Save=(1/2)*(sx+sy) # Stress average(MPa) \n",
+ "R=sqrt(60**2+25**2) # radius of mohr's circle(MPa) \n",
+ "Sy=250 # Tensile strength(MPa) \n",
+ "tm=65 # Stress(MPa) \n",
+ "\n",
+ "#Principal Stresses\n",
+ "sa=OC+CA # Stress at A(MPa)\n",
+ "sb=OC-BC # Stress at B(MPa)\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a) Maximum-Shearing-Stress Criterion # \n",
+ "ty=(1/2)*(Sy) # Shearing stress at yield(MPa)\n",
+ "FS1=(ty/tm) # Factor of safety\n",
+ "\n",
+ "#Case(b) Maximum-Distortion-Energy Criterion\n",
+ "FS2=round(sqrt((250**2)/(85**2+45**2+85*45)),2) # Factor of safety \n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Factor of safety with respect to maximum shearing stress criteria = %lf ' %FS1)\n",
+ "print ('Case(b) Factor of safety with respect to maximum-distortion-energy criterion = %lf ' %FS2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 7.5, Page number 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Normal stress = 4230.000000 \n",
+ "Case(a) Maximum shearing stress = 2115.000000 \n",
+ "Case(b) Stress in direction perpendicular to helical weld = 4140.000000 \n",
+ "Case(b) Stress in direction parallel to helical weld = 1344.000000 \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "p=180 # Internal gage pressure(psi)\n",
+ "t=(5/16) # Length(in)\n",
+ "r=(15-t) # Distance(in)\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a) Spherical Cap\n",
+ "s=s1=s2=((p)*(r))/(2*t) # Stress(psi)\n",
+ "tmax=(1/2)*s1 # Maximum shearing stress(psi) \n",
+ "\n",
+ "#Case(b) Cylindrical Body of the Tank\n",
+ "t=3/8 # Distance(in) \n",
+ "r=15-t # Distance(in) \n",
+ "s1=(p*r)/(t) # Stress(psi)\n",
+ "s2=(1/2)*s1 # Stress(psi)\n",
+ "Save=(1/2)*(s1+s2) # Stress average(psi) \n",
+ "R=(1/2)*(s1-s2) # Stress(psi) \n",
+ "\n",
+ "#Stresses at the Weld\n",
+ "Sw=round(Save-(R*cos(50*(((math.pi)*2)/360))),-1) # Stress at the weld(psi)\n",
+ "tw=round(R*sin(50*(((math.pi)*2)/360)),0) # Shearing stress at the weld(psi)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Normal stress = %lf ' %s)\n",
+ "print ('Case(a) Maximum shearing stress = %lf ' %tmax)\n",
+ "print ('Case(b) Stress in direction perpendicular to helical weld = %lf ' %Sw)\n",
+ "print ('Case(b) Stress in direction parallel to helical weld = %lf ' %tw)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.04, Page number 490"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Principal strain = 483.000000 u\n",
+ "Case(a) Principal strain = -83.000000 u\n",
+ "Case(b) Maximum shearing strain = 566.000000 u \n",
+ "Case(b) Normal strain = 200.000000 u\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "n=-1\n",
+ "Sx=6 # Stress in x direction()\n",
+ "Sy=3.5 # Stress in y direction()\n",
+ "BC=3.25 \n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a) Principal Axes and Principal Strains\n",
+ "Ex=4*(pow(10,-6)) # Distance(u) \n",
+ "Ey=0 # Distance(u)\n",
+ "OC=(Ex+Ey)/(2) # Radius(u) \n",
+ "OY=200 # Radius(u)\n",
+ "\n",
+ "R=sqrt(200**2 + 200**2) # Radius(u)\n",
+ "\n",
+ "Ea=200 + 283 # Strain at point A(u)\n",
+ "Eb=200 - 283 # Strain at point A(u)\n",
+ "\n",
+ "#Case(b) Maximum shearing strain\n",
+ "ymax=283*2 # Maximum shearing strain(u)\n",
+ "El=200 # Normal strain(u)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Principal strain = %lf u' %Ea)\n",
+ "print ('Case(a) Principal strain = %lf u' %Eb)\n",
+ "print ('Case(b) Maximum shearing strain = %lf u ' %ymax)\n",
+ "print ('Case(b) Normal strain = %lf u' %El)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.05, Page number 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Maximum in plane shearing strain = 0.000450 rad\n",
+ "Case(b) Maximum shearing strain = 0.000550 u\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "#Variable declaration\n",
+ "Ea=400*(pow(10,-6)) # Principal strain(in./in)\n",
+ "Eb=-50*(pow(10,-6)) # Principal strain(in./in)\n",
+ "v=0.30 # Poisson's ratio\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "#Case(a) Maximum In-Plane Shearing Strain\n",
+ "Ymaxinplane=Ea-Eb # Maximum in-plane shearing strain(rad)\n",
+ "#Case(b) Maximum Shearing Strain\n",
+ "Ec=n*(v/(1-v))*(Ea+Eb) # Strain(in./in) # Maximum shearing strain(rad)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Maximum in plane shearing strain = %lf rad' %Ymaxinplane)\n",
+ "print ('Case(b) Maximum shearing strain = %lf u' %Ymax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 7.6, Page number 496"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Gage pressure inside the tank = 546.000000 psi\n",
+ "Case(b) Principal stress = 4.370000 ksi\n",
+ "Case(b) Principal stress = 8.740000 ksi\n",
+ "Case(b) Maximum shearing stress = 4.370000 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "s1=symbols('s1') # Variable declaration\n",
+ "s2=symbols('s2') # Variable declaration\n",
+ "E1=255*(pow(10,-6)) # Strain(in./in) \n",
+ "E2=60*(pow(10,-6)) # Strain(in./in)\n",
+ "G=11.2*(pow(10,6)) # Modulus of rigidity(psi)\n",
+ "\n",
+ "#Calculation \n",
+ "#Gage Pressure Inside Tank\n",
+ "ymax=E1-E2 # Maximum in plane shearing strain(rad)\n",
+ "tmax=(round(G*ymax,0))/(pow(10,3)) # Shearing stress(ksi) \n",
+ "p=(2184*4*0.75)/12 # Gage pressure(psi)\n",
+ "\n",
+ "#Principal Stresses and Maximum Shearing Stress\n",
+ "s2=round(2*tmax,2) # Principal Stress(ksi)\n",
+ "s1=round(2*s2,2) # Principal Stress(ksi)\n",
+ "tmax=(1/2)*(s1) # Shearing stress(ksi) \n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Gage pressure inside the tank = %lf psi' %p)\n",
+ "print ('Case(b) Principal stress = %lf ksi' %s2)\n",
+ "print ('Case(b) Principal stress = %lf ksi' %s1)\n",
+ "print ('Case(b) Maximum shearing stress = %lf ksi' %tmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 7.7, Page number 497"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Strain component are :-\n",
+ "{ex: 40.0000000000000, ey: 860.050456293436, yxy: 750.577367205543}\n",
+ "Case(b) Principal strains = -106.000000 ksi\n",
+ "Case(b) Principal strains = 1006.000000 ksi\n",
+ "Case(b) Principal strains = -367.605634 ksi\n",
+ "Case(c) Maximum shearing strain = 1374.000000 ksi\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "E1=40 # Strain(u) \n",
+ "E2=980 # Strain(u) \n",
+ "E3=330 # Strain(u)\n",
+ "exp1=symbols('exp1') # Variable declaration\n",
+ "exp2=symbols('exp2') # Variable declaration\n",
+ "exp3=symbols('exp3') # Variable declaration\n",
+ "ex=symbols('ex') # Variable declaration\n",
+ "ey=symbols('ey') # Variable declaration\n",
+ "yxy=symbols('yxy') # Variable declaration\n",
+ "v=0.29\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "#Strain Components ex, ey, yxy\n",
+ "exp1=ex*1 + ey*0 + yxy*0*1-40 # Strain equations\n",
+ "exp2=ex*(pow(0.5,2)) + ey*(pow(0.866,2)) + yxy*(0.866*0.5)-980 # Strain equations\n",
+ "exp3=ex*(pow(-0.5,2)) + ey*(pow(0.866,2)) + yxy*(0.866*-0.5)-330 # Strain equations\n",
+ "Sol=solve((exp1,exp2,exp3),ex,ey,yxy) # \n",
+ "\n",
+ "\n",
+ "#Principal Strains\n",
+ "Eave=(1/2)*(860+40) # Strain(u)\n",
+ "R=sqrt(375**2+410**2) # Radius(u)\n",
+ "phyp=(42.4)/2 # Angle(degree)\n",
+ "Ea=-106 # Strain(u)\n",
+ "Eb=1006 # Strain(u)\n",
+ "Ec=n*(v/(1-v))*(Ea+Eb) # Strain(u)\n",
+ "\n",
+ "#Maximum Shearing Strain\n",
+ "Ymax=(1006+368)\n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Strain component are :-')\n",
+ "print(Sol)\n",
+ "print ('Case(b) Principal strains = %lf ksi' %Ea)\n",
+ "print ('Case(b) Principal strains = %lf ksi' %Eb)\n",
+ "print ('Case(b) Principal strains = %lf ksi' %Ec)\n",
+ "print ('Case(c) Maximum shearing strain = %lf ksi' %Ymax)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8.ipynb
new file mode 100644
index 00000000..66b69f39
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8.ipynb
@@ -0,0 +1,370 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8 : Principal Stresses under a Given Loading"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 8.1, Page number 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The specification, smax<= 150 MPa, is not satisfied\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "Ma=160*0.375 # Torque on rod AC(kN.m)\n",
+ "Va = 160 # Force(kN)\n",
+ "S=511*(pow(10,-6)) # Inertia(m**3) \n",
+ "yb=90.4 # Distance(mm)\n",
+ "c=103 # Distance(mm) \n",
+ "I=52.9*(pow(10,-6)) # Moment oof inertia(m**4) \n",
+ "t=0.00787 # Distance(m)\n",
+ "\n",
+ "#Calculation \n",
+ "#Normal Stresses on Transverse Plane\n",
+ "#At point a:\n",
+ "Sa=round((Ma/S)/(1000),1) # Stress at A(MPa) \n",
+ "#At point b:\n",
+ "Sb=round((Sa*(yb/c)),0) # Stress at B(MPa) \n",
+ "\n",
+ "#Shearing Stresses on Transverse Plane \n",
+ "#At point a:\n",
+ "Q=0\n",
+ "ta=0\n",
+ "#At point b:\n",
+ "Q=round((206*12.6*96.7)/(1000),0) \n",
+ "Q=(Q)/(pow(10,6))\n",
+ "tb=round(((Va*Q)/(I*t))/(pow(10,3)),1) # Shearing stress(MPa) \n",
+ "\n",
+ "#Principal Stress at Point b\n",
+ "Smax=round((1/2)*Sb + math.sqrt(pow((1/2)*Sb,2) + pow(tb,2)),1) # Stress maximum(MPa)\n",
+ "\n",
+ "# Result\n",
+ "print ('The specification, smax<= 150 MPa, is not satisfied' )"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 8.2, Page number 521"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "We now select the lightest shape available, namely :-\n",
+ "W21*62\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "Aweb=8.40 # Area of cross section(in**2)\n",
+ "S=127 \n",
+ "yb=9.88 # Distance(in)\n",
+ "c=10.50 # Distance(in)\n",
+ "V=12.2 # Force(kips)\n",
+ "\n",
+ "#Calculation \n",
+ "#Reactions at A and D\n",
+ "sumMd=0 # Equilibrium equations\n",
+ "sumMa=0 # Equilibrium equations\n",
+ "\n",
+ "#Shear and Bending-Moment Diagrams\n",
+ "Mmax=2873 # Maximum moment(kip.ft) \n",
+ "Vmax=43 # Maximum force(kips)\n",
+ "\n",
+ "#Section Modulus\n",
+ "Sall=24 # Maximum stress(ksi) \n",
+ "Smin=round((Mmax/Sall),1) # Minimum section modulus(in**3) \n",
+ "\n",
+ "#Selection of Wide-Flange Shape\n",
+ "\n",
+ "# W24*68 154\n",
+ "# W21*62 127\n",
+ "# W18*76 146\n",
+ "# W16*77 134\n",
+ "# W14*82 123\n",
+ "# W12*96 131\n",
+ "\n",
+ "# We now select the lightest shape available, namely W21*62\n",
+ "\n",
+ "#Shearing Stress\n",
+ "tm=round(Vmax/Aweb,2) # Shearing stress(ksi)\n",
+ "\n",
+ "\n",
+ "#Principal Stress at Point b\n",
+ "Sa=round(Mmax/S,1) # Stress at A(ksi)\n",
+ "Sb=round(Sa*(yb/c),1) # Stress at B(ksi)\n",
+ "\n",
+ "tb=round(V/Aweb,2)\n",
+ "smax=round((1/2)*Sb + math.sqrt(pow((1/2)*Sb,2) + pow(tb,2)),1)\n",
+ "\n",
+ "# Result\n",
+ "print ('We now select the lightest shape available, namely :-')\n",
+ "print('W21*62')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 8.3, Page number 522"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diamter of shaft = 51.704299 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "# Variable declaration\n",
+ "P=30 # Power(kW)\n",
+ "tall=50 # Shearing stress(MPa)\n",
+ "f=8 # Frequency(Hz)\n",
+ "Te=597 # Torque at E(N.m)\n",
+ "rE=0.16 # Radius(m) \n",
+ "\n",
+ "# Calculation \n",
+ "# Torques Exerted on Gears\n",
+ "Te=(P/(2*(math.pi)*f)) # Torque exerted on gear E(N.m)\n",
+ "Fe=Te/rE # Tangential force(kN)\n",
+ "Tc=20/(2*(math.pi)*8) # Torque(N.m)\n",
+ "Fc=6.63 # Force(kN)\n",
+ "Td=10/(2*(math.pi)*8) # Torque(N.m)\n",
+ "Fd=2.49 # Force(kN) \n",
+ "\n",
+ "# Critical Transverse Section\n",
+ "Tor=math.sqrt(1160**2 + 373**2 + 597**2) # Maximum value of torque(N.m)\n",
+ "\n",
+ "\n",
+ "# Diameter of Shaft.\n",
+ "c=((((27.14*(pow(10,-6)))*(2/(math.pi)))**(1/3))*(1000))*2 # Diameter(mm) \n",
+ "\n",
+ "# Result\n",
+ "print ('Diamter of shaft = %lf mm' %c)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 8.01, Page number 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Case(a) Normal stress = 107.429587 MPa\n",
+ "Case(a) Shearing stress = -52.526646 MPa\n",
+ "Case(b) Principal axis angle = 22.200000 degree\n",
+ "Case(b) Maximum principal stress at point k = 128.799534 MPa\n",
+ "Case(b) Minimum principal stress at point k = -21.399534 MPa\n",
+ "Case(c) Maximum shearing stress at point k = 75.100000 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "n=-1 \n",
+ "P1=15 # Force(kN)\n",
+ "P2=18 # Force(kN) \n",
+ "a=50 # Distance(mm)\n",
+ "b=60 # Distance(mm) \n",
+ "c=0.020 # Distance(m)\n",
+ "F=P1 # Force(kN)\n",
+ "V=P2 # Force(kN) \n",
+ "t=0.040 # Distance(m) \n",
+ "Iz=125.7*(pow(10,-9)) # Moment of inertia(m**4)\n",
+ "\n",
+ "#Calculation \n",
+ "#Internal Forces in Given Section\n",
+ "T=P2*a # Torque(N.m)\n",
+ "My=P1*a # Moment(N.m) \n",
+ "Mz=P2*b # Moment(N.m)\n",
+ "# Case(a) Normal and Shearing Stresses at Point K\n",
+ "# Geometric Properties of the Section\n",
+ "A=(math.pi)*(c**2) # Area of cross section(m**2)\n",
+ "Iy=(1/4)*(math.pi)*(c**4) # Moment of inertia(m**4)\n",
+ "Jc=(1/2)*(math.pi)*(c**4) # Moment of inertia(m**4)\n",
+ "Q=(A/2)*((4*c)/(3*(math.pi)))\n",
+ "t=2*c # Distance(m)\n",
+ "# Normal Stresses\n",
+ "Sx=(n*(F/A))/(1000) + ((My*c)/(Iy))/(1000000) # Normal stress(MPa)\n",
+ "# Shearing Stresses\n",
+ "txyV=((V*Q)/(Iz*t))/(1000) # Shearing stress(MPa)\n",
+ "txytwist=((n*(T*c))/(Jc))/(1000000) # Shearing stress(MPa) \n",
+ "txy=(txyV + txytwist) # Shearing stress(MPa)\n",
+ "# Case(b) Principal Planes and Principal Stresses at Point K\n",
+ "OC=CD=(1/2)*(107.4) # Stress(MPa) \n",
+ "DX=52.5 # Stress(MPa) \n",
+ "phyp=44.4/2 # Angle(degree)\n",
+ "R=sqrt(53.7**2 + 52.5**2) # Stress(MPa)\n",
+ "Smax=OC+R # Maximum principal stress(MPa)\n",
+ "Smin=OC-R # Minimum principal stress(MPa)\n",
+ "# Case(c) Maximum shearing stress at point k\n",
+ "tmax=75.1 # Shearing stress(MPa) \n",
+ "\n",
+ "# Result\n",
+ "print ('Case(a) Normal stress = %lf MPa' %Sx)\n",
+ "print ('Case(a) Shearing stress = %lf MPa' %txy)\n",
+ "print ('Case(b) Principal axis angle = %lf degree' %phyp)\n",
+ "print ('Case(b) Maximum principal stress at point k = %lf MPa' %Smax)\n",
+ "print ('Case(b) Minimum principal stress at point k = %lf MPa' %Smin)\n",
+ "print ('Case(c) Maximum shearing stress at point k = %lf MPa' %tmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# SAMPLE PROBLEM 8.5, Page number 532"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Normal stress at H = 66.000000 MPa\n",
+ "Shearing stress at H = 17.530000 MPa\n",
+ "Principal axis angle = 13.980000 degree\n",
+ "Maximum shearing stress at point k = 37.362420 MPa\n",
+ "Maximum principal stress at point k = 70.362420 MPa\n",
+ "Minimum principal stress at point k = -4.362420 MPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "#Free Body. Entire Crankshaft\n",
+ "Vx=-30 # Force(kN)\n",
+ "P=50 # Force(kN)\n",
+ "Vz=-75 # Force(kN)\n",
+ "Mx=(50)*(0.130) - (75)*(0.2) # Moment(kN.m)\n",
+ "My=0 # Moment\n",
+ "Mz=30*0.1 # Moment(kN.m)\n",
+ "A=0.040*0.140 # Area(m**2) \n",
+ "Ix=(1/12)*(0.040)*(pow(0.140,3)) # Moment of inertia(m**4)\n",
+ "Iz=(1/12)*(pow(0.040,3))*(0.140) # Moment of inertia(m**4)\n",
+ "a=0.020 # Distance(m)\n",
+ "b=0.025 # Distance(m)\n",
+ "t=0.040 # Distance(m)\n",
+ "OC=33.0 # Stress(MPa)\n",
+ "\n",
+ "#Calculation \n",
+ "#Normal Stress at H\n",
+ "Sy=round(((P/A) + ((Mz)*a)/Iz + ((Mx)*b)/Ix)/(1000),0) # Normal stress at H(MPa) \n",
+ "\n",
+ "\n",
+ "#Shearing Stress at H\n",
+ "Q=(0.040*0.045*0.0475)\n",
+ "tyz=round((((-(Vz)*(Q))/(Ix*t))/1000),2) # Shearing stress at H(MPa)\n",
+ "\n",
+ "\n",
+ "#Principal Stresses, Principal Planes, and Maximum Shearing Stress at H.\n",
+ "phyp=27.96/2\n",
+ "R=sqrt(33**2 + 17.52**2)\n",
+ "Smax=OC+R\n",
+ "Smin=OC-R\n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "print ('Normal stress at H = %lf MPa' %Sy)\n",
+ "print ('Shearing stress at H = %lf MPa' %tyz)\n",
+ "print ('Principal axis angle = %lf degree' %phyp)\n",
+ "print ('Maximum shearing stress at point k = %lf MPa' %R)\n",
+ "print ('Maximum principal stress at point k = %lf MPa' %Smax)\n",
+ "print ('Minimum principal stress at point k = %lf MPa' %Smin)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9.ipynb
new file mode 100644
index 00000000..36315efc
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9.ipynb
@@ -0,0 +1,87 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9 : Deflection of Beams"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# EXAMPLE 9.08, Page number 583"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Reactions at the supports for the prismatic beam :-\n",
+ "0.625*L*w\n",
+ "Reactions at the supports for the loading :-\n",
+ "0.375*L*w\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "w=symbols('w')\n",
+ "L=symbols('L')\n",
+ "E=symbols('E')\n",
+ "I=symbols('I')\n",
+ "Rb=symbols('Rb')\n",
+ "n=-1\n",
+ "\n",
+ "#Calculation \n",
+ "yBW=(n*w*(L**4))/(8*E*I)\n",
+ "yBR=(Rb*(L**3))/(3*E*I)\n",
+ "Rb=(3/8)*(w)*(L)\n",
+ "Ra=w*L - Rb\n",
+ "Ma=(1/2)*(w)*(L**2) - Rb*L\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "print ('Reactions at the supports for the prismatic beam :-')\n",
+ "print(Ra)\n",
+ "print ('Reactions at the supports for the loading :-')\n",
+ "print(Rb)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_1.png b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_1.png
new file mode 100644
index 00000000..f9bfbad4
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_1.png
Binary files differ
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_1.png b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_1.png
new file mode 100644
index 00000000..c6a024c2
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_1.png
Binary files differ
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_1.png b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_1.png
new file mode 100644
index 00000000..19a3da79
--- /dev/null
+++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_1.png
Binary files differ
diff --git a/Textbook_on_Optical_Fiber_Communication_and_Its_Applications_by_S._C._Gupta/README.txt b/Textbook_on_Optical_Fiber_Communication_and_Its_Applications_by_S._C._Gupta/README.txt
new file mode 100644
index 00000000..1ff2a2d7
--- /dev/null
+++ b/Textbook_on_Optical_Fiber_Communication_and_Its_Applications_by_S._C._Gupta/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Priyanka Saini
+Course: btech
+College/Institute/Organization: UKTU
+Department/Designation: EN
+Book Title: Textbook on Optical Fiber Communication and Its Applications
+Author: S. C. Gupta
+Publisher: Phi, New Delhi
+Year of publication: 2013
+Isbn: 978-81-203-4580-5
+Edition: 2 \ No newline at end of file