summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3.ipynb1466
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4.ipynb721
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5.ipynb588
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7.ipynb226
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10.ipynb990
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12.ipynb685
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13.ipynb497
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14.ipynb560
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15.ipynb62
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16.ipynb345
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17.ipynb222
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19.ipynb613
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20.ipynb1029
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21.ipynb308
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22.ipynb1574
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23.ipynb73
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24.ipynb840
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25.ipynb642
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26.ipynb475
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27.ipynb750
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28.ipynb261
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29.ipynb722
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30.ipynb889
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31.ipynb768
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32.ipynb578
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33.ipynb769
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34.ipynb119
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35.ipynb631
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36.ipynb195
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter6.ipynb214
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter9.ipynb414
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter32.pngbin0 -> 88625 bytes
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter331.pngbin0 -> 94150 bytes
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter332.pngbin0 -> 92362 bytes
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch10_1.ipynb254
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch11_1.ipynb160
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch12_1.ipynb218
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch13_1.ipynb956
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch14_1.ipynb1041
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch15_1.ipynb67
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch1_1.ipynb212
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch2_1.ipynb631
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch3_1.ipynb562
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch4_1.ipynb415
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch5_1.ipynb82
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch7_1.ipynb291
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch8_1.ipynb86
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch9_1.ipynb290
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TaVSN2_1.pngbin0 -> 9139 bytes
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TempVSMoleFraction13_1.pngbin0 -> 10232 bytes
-rw-r--r--Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/Tempvsequlibrum14_1.pngbin0 -> 9538 bytes
51 files changed, 23491 insertions, 0 deletions
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3.ipynb
new file mode 100644
index 00000000..65da7c23
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3.ipynb
@@ -0,0 +1,1466 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:0fdc7dcad8fcd2f167edb5ff1aa93cdfcfdf893e69231f27b735d5b50d2a9828"
+ },
+ "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": [
+ "#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": [
+ "#Variables\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": [
+ "#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": [
+ "#Variables\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": [
+ "#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": [
+ "\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": [
+ "#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": [
+ "#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": [
+ "#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": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.13 , Page Number 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4.ipynb
new file mode 100644
index 00000000..68901472
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4.ipynb
@@ -0,0 +1,721 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1209741495f61df06e73a1738e880b9d7bd541b0f23048560fe1076b84841228"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5.ipynb
new file mode 100644
index 00000000..b6a2ec4a
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5.ipynb
@@ -0,0 +1,588 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:f570f4a74edee95dbd6f8aaea1bd2c64b55ecc576dd7f84e1956993e3067e637"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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/Chapter7.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7.ipynb
new file mode 100644
index 00000000..4e097821
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7.ipynb
@@ -0,0 +1,226 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:c8c2314c8e059d8445055759738a927b1e88001fc6f7c5b5aaeed98adc845209"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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/chapter10.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10.ipynb
new file mode 100644
index 00000000..fdcf1d33
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10.ipynb
@@ -0,0 +1,990 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:f2f16529c4ee3b8ca3bd1392e632f0abc12a0cfb45924732e26424af73c9f77e"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12.ipynb
new file mode 100644
index 00000000..af5975b6
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12.ipynb
@@ -0,0 +1,685 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:4f9a886343eabfb6ce6cbe3bd27b3463c264efdc9adbc5c406f46f986746bd4d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12 , PN Junction Diode"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 * (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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current throrough diode is 10.72 micro-Ampere.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diode current is 5.2 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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/log(30) #By solving both the given equations\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of n is \",round(n,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of n is 1.18 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4 , Page Number 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current at 400 k is 10.2 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage drop across a silicon diode is 0.624 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 * (exp(V/VT)-1) #Diode current (in Ampere)\n",
+ "rac = VT/I0 * exp(-V/VT) #dynamic resistance in forward direction (in ohm)\n",
+ "rac1 = VT/I0 * 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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Dynamic resistance in forward direction is 3.36 ohm.\n",
+ "Dynamic resistance in backward direction is 0.389 Mega-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8 , Page Number 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum forward current is 0.5 A.\n",
+ "Breakdwon current that burns out the diode is 3.33 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.9 , Page Number 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.11 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through the circuit is 6.625 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage across the resistor is 4.3 V.\n",
+ "The circuit current is 8.43 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.13 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total current through the circuit is 3.067 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.14 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total current through the circuit is 3.212 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.15 , Page Number 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.16 , Page Number 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\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 = linspace(-4*math.pi,4*math.pi,500)\n",
+ "plot(x,0.7 + 0.48*10**-3*sin(x),)\n",
+ "title(\"Total Voltage 'V' across the diode\")\n",
+ "xlabel(\"t(in seconds)->\")\n",
+ "ylabel(\"Voltage(in volts)->\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in dc circuit is 1.0 mA.\n",
+ "a.c voltage drop across 51 ohm resistance is 0.485 mV.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "<matplotlib.text.Text at 0x7f38e8365ad0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAEZCAYAAABb3GilAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXlYVEf297/NoqKCggsgi4CA7AYl7igG3GJCTHCMmgWj\nMWbfHTXz8w0xTlwSk3FiTEiiJuNETYwJaOIalagz7jpuiICCrOKCIIuytOf9o+wWpKG74a5NfZ7H\n57G7b1WdW9xb36pTp6o0RETgcDgcDkdArOQ2gMPhcDiWBxcXDofD4QgOFxcOh8PhCA4XFw6Hw+EI\nDhcXDofD4QgOFxcOh8PhCA4XF44kWFlZ4eLFi4LmmZ2dDSsrK9y5c0fQfDnNZ+rUqZg3b54oeSck\nJOCZZ54BAOTk5MDe3h7NWUmRkpICDw8Poc3j3AcXl1ZOx44dYW9vD3t7e1hZWaF9+/b6z+vWrTOY\nRsiX88UXX0R8fHyD70+ePIl27dqhpKTE5LyioqKwcuVKQewyl6lTp+L777/HwYMH0bFjR1RUVDS4\nJjw8HCtWrEB2dja8vb1lsFJYvvvuO0RGRtb7TqPRQKPRiFJe3Xw9PT1RVlYmWlmclsPFpZVTXl6O\nsrIylJWVoWfPnvjtt9/0nydPnix6+VOnTsUvv/yCysrKet+vWbMGjz76KDp37mxyXnI2NLpGdeDA\ngXB3d8fPP/9c7/czZ87g3LlzktQpANTW1kpSDofTGFxcOAapqqrCm2++CTc3N7i5ueGtt95CdXU1\nKioqMHbsWBQUFMDe3h4ODg64fPkyDh8+jEGDBsHR0RE9evTAa6+9hpqaGqPlDBw4EG5ubti4caP+\nO61Wi3Xr1uHZZ58FEWHBggXw8vKCs7Mz4uPjcfPmzXp5EBH+9re/Yd++fXj11Vdhb2+P119/HQDw\nxhtvwNPTE506dUJERAT279+vT3fr1i3Ex8fDyckJQUFBWLJkSb0RWUFBAeLi4tC9e3f4+Pjg888/\nN6nu4uPj8a9//aved//6178wbtw4ODo6AmhaCJuy+c6dO/joo4/g6+sLBwcHREREID8/HwBzPa5Y\nsQJ+fn7o3bs3AOCbb76Bn58funTpgsceewyFhYX6vN566y04OzujU6dOCAsLw9mzZwEAW7ZsQXBw\nMBwcHODu7o6lS5c2sPHcuXN46aWXcODAAdjb28PJyUn/W3FxMR555BE4ODhg4MCB9dyhaWlpGDly\nJLp06YKAgABs2LCh0XrIysrC8OHD4eDggFGjRuHatWv63+53iRYUFCA2NhZdunSBn58fvv32W/21\nt27dwtSpU+Hk5ITg4GAcOXKkXjnN/TtzjEAczl28vLxo165dREQ0b948GjRoEF29epWuXr1KgwcP\npnnz5hERUUpKCrm7u9dLe+zYMTp06BBptVrKzs6mwMBA+sc//qH/XaPR0IULFwyW+/e//51iYmL0\nn7dt20bdunWj2tpaWrlyJfn6+lJWVhaVl5fTE088Qc888wwREWVlZZFGoyGtVktERFFRUbRy5cp6\nef/73/+m4uJi0mq1tHTpUnJxcaGqqioiIpo9ezZFRUVRSUkJ5eXlUWhoKHl4eBARkVarpb59+9KH\nH35INTU1dPHiRfLx8aHt27cbrcecnByysbGh3NxcfV7u7u6UnJxsNK0xm5csWUKhoaGUnp5OREQn\nT56k69ev6+t41KhRdOPGDbp9+zbt2rWLunbtSidOnKCqqip67bXXaNiwYfo67tevH5WWlhIRUVpa\nGhUWFhIRkYuLC+3fv5+IiEpKSuj48eMG7fzuu+9o6NCh9b6Lj4+nLl260JEjR6i2tpaeeuopmjRp\nEhERlZeXk7u7O3333Xek1WrpxIkT1LVrV0pNTTWY/8CBA+mdd96h6upq2rt3L9nb2zf6t4+MjKRX\nXnmFqqqq6H//+x9169aNdu/eTUTs7zxs2DC6ceMG5ebmUnBwsCB/Z07TcHHh6KkrLr169aKtW7fq\nf9u+fTt5eXkREdGePXsaiMv9fPbZZ/T444/rPzclLpcuXSJbW1vKz88nIqIpU6bQm2++SUREDz30\nEH355Zf6a8+fP0+2trak1WoNisu3337bpF2Ojo506tQpIiLy8fGhHTt26H/79ttv9fd18OBB8vT0\nrJf2o48+oueee67J/HXExMTQRx99REREO3bs0Itlc6hrs7+/P23atMngdRqNhvbs2aP/PG3aNJo9\ne7b+c3l5Odna2tKlS5do9+7d5O/vTwcPHtTXnw5PT09KTEzUC09jrF69uoG4TJ06lWbMmKH/vGXL\nFgoICCAiovXr11NkZGS961944QX64IMPGuR96dIlsrGxocrKSv13U6ZMoaeffpqI6otLTk4OWVtb\nU3l5uf7auXPn0tSpU4mIGojF119/LdjfmdM43C3GMUhBQQF69uyp/+zp6YmCgoJGr09PT8cjjzwC\n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\nAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f38e8dab850>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13.ipynb
new file mode 100644
index 00000000..cd4217e0
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13.ipynb
@@ -0,0 +1,497 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:ea486cd34183a067072977e88059026cc40960256cd7fa353619377287d5cba9"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14.ipynb
new file mode 100644
index 00000000..6ee9bfc6
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14.ipynb
@@ -0,0 +1,560 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:12885122af389f4ded053f4e1f6606a9e4cd545d25324ea1c317a2abfdbeb638"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15.ipynb
new file mode 100644
index 00000000..fa5702ae
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15.ipynb
@@ -0,0 +1,62 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:192e3bd0e3d21ede3d158e2725c65f85d15567c10daa6772cc56e213a5cefa2c"
+ },
+ "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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16.ipynb
new file mode 100644
index 00000000..cfb29b2b
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16.ipynb
@@ -0,0 +1,345 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:f25147ebcc92e6ce53b6688799fa9c871a43d56b8db4b81050d11be7008518fd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 16 , Field-Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.1 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.2 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = linspace(-20,0,100)\n",
+ "plot(x,12*(1+x/20)**2,'r')\n",
+ "title(\"transconductance curve\")\n",
+ "xlabel(\"Gate-to-Source voltage VGS (V)\")\n",
+ "ylabel(\"Drain current ID(mA)\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "<matplotlib.text.Text at 0x7f61cd1fe510>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nfnnhhRdKfb6RI0fK5s2bS7VPfHy8eHh4SEpKioiIPHjwQGJjY0t97sfl5OSU+xil8eh0zLVr1zb6\n+YYNGyarVq3SPU5KShIHBwfJyMiQP/74Q5588kk5f/687vWtW7fKr7/+KiIinp6e8r///U9ElO9I\nUVP0Dhw4UPe+Dh06yIEDB3SvnTt3Tjw8PEREJD09Xfz8/Az7AalcmPQt1J49e6RTp05Fvh4bGysd\nO3YUf39/8ff3l0OHDomISFBQkNSpU0d8fX1l0aJFotVqZcqUKRIYGCg+Pj75fok8FB0dLfXq1ZMm\nTZqIr6+vXL58WU6dOiVBQUHi4+Mj/fr1k8TExAL7nThxQnx9fQudn76o/Tt16iTHjx8XEZE7d+6I\nu7u7iIisWLFCevfuLV26dJHg4GBJS0uTl19+WXcn6A8//CAiIjt37pSnnnpK/P39ZdCgQZKWlpbv\nvOfOnZN27drlu07e3t66a+rn5yfe3t4yevRoycrKEhEl6R8/flymTZsmVapUEV9fXwkLCxMRkT59\n+kjbtm2lVatW8s033+iO++2334qnp6e0a9dOxo4dKxMmTBARkdu3b8uAAQMkMDBQAgMDJTo6usC1\n2bZtmzz//PO6xytWrNCdLywsTFauXFlgn4fs7Ozk9u3bRb4uIpKSkiLNmzfXPf7yyy/z3UE/ffp0\n+fDDD3WP+/XrJ8eOHSv2mGQ6TPoWavHixTJ58uQiX09PT5fMzEwREYmJiZGAgAAREYmKisrX0v/6\n66/l008/FRGRzMxMCQgIKLQ1/vLLL+sSq4iIt7e3rnX58ccfy6RJkwrso9VqpXv37uLm5iajRo2S\nbdu2lbj/o63qx5O+i4uL7pfD1KlT833+xMREuXPnjjz77LOSnp4uIiJz586VmTNnFojL19dX9xnn\nzp0rs2bNkoyMDHF1dZWLFy+KiMhLL70kixYtKhDT4y39+/fvi4hyvVu3bi3379+XGzduiLu7uyQm\nJkpOTo507NhRJk6cKCIiQ4cOlYMHD4qI8peZl5dXgfiysrLE2dlZd+zu3btLRESEiIj4+/vrWuiF\nmTlzptjZ2Um/fv3k66+/1n0HHrVv3z4ZMGCA7vGtW7ekQYMGul/OXl5ecubMGd3rs2bN4iIpZoQ1\nfQv1+HSsEyZMgK+vr26ysOzsbIwdOxY+Pj4YPHiwrh4vj83asWvXLnz33Xfw8/ND+/btcf/+fVy6\ndKnQcz7cNzk5GcnJyejYsSMAYOTIkfj1118LvN/KygqRkZHYvHkzPD09MXnyZMyYMUPv/R8XEhKC\nunXrAgD27t2LN954Q/da3bp1ceTIEZw9exYdOnSAn58fvvvuO1y7dq3AcQYPHowNGzYAADZu3IjQ\n0FBcuHABTZo0QbNmzUoV0+LFi+Hr64unnnoK169fR0xMDI4dO4ZOnTqhbt26sLa2xqBBg3TXbs+e\nPZgwYQL8/PzQp08fpKamIj09Pd8xbWxs8OKLL2LTpk24e/cuTp8+je7duxc497179+Dr64vmzZtj\n/vz5AJSpjY8fP45u3bph7dq16NGjR4H9EhIS4OjoqHvs7OyM1q1bY8+ePTh9+jSsra3RsmVL3etO\nTk64efNmideCTMOkUyuT+WjVqhV++OEH3eMlS5bg3r17CAgIAAAsXLgQDRo0wOrVq6HVavPNfPq4\nJUuWICQkJN9zH374ISIiIqDRaHSdmEXN+/0woeXl5cHf3x8ajQZ9+vRBeHg4ACAwMBCBgYEICQnB\nqFGjMHny5EL3BwBra2vk5eUBADIzM/O9r1atWkXu91BISAjWrl1b5GcFgNDQUAwaNAj9+/eHRqOB\nh4cHfv/99xKP/bioqCjs3bsXR44cQfXq1dG5c2dkZmYWuE4iontORHD06FHd9NhFGTp0KD755BOI\nCPr27YsqVaoAUH7uJ06cgLe3N+zt7XH69GnMnz8faWlpun2bNm2K1157DePGjYOjoyMSExNhZ2en\ne71mzZoFru3QoUOxfv16ODs7F1gLIzMzEzVq1CjxepBpsKVvobp06YLMzEx89dVXuucePHigSy4p\nKSmoX78+AOC7777TTcdsa2ubb2RI9+7d8a9//Qu5ubkAgJiYGKSnp+PTTz/FqVOndAnf1tYWKSkp\nAIA6derAzs5Ot2rX6tWrERwcDCsrK5w+fRqnTp1CeHg4EhIS8i1CfurUKbi7u+OJJ54odH8AcHd3\nx/HjxwEAmzdvLvLzh4SEYOnSpbrHSUlJaN++PaKjo3H58mXd9bh48WKBfZs2bYoqVargk08+wZAh\nQwAAzZs3R1xcnG7fR2N6VNWqVXXXKiUlBXZ2dqhevTrOnz+PI0eOQKPRIDAwEAcOHEBSUhJyc3Pz\n/XLu1q0bvvjiC93j06dPF/r5goODERMTg6VLl2Lo0KG656dOnYpZs2bh/Pnzuuce/blHRETono+J\niYG1tbXur6OHvLy8Cvw1179/f0RERGDDhg26a/LQhQsXOF2yOVGrrkTqS0hIkCFDhkiTJk2kXbt2\n0rlzZ9m4caOIiFy8eFF8fHykTZs2Mm3aNLG1tRURZeRLly5dpE2bNrJo0SLJy8uT999/X7y9vaV1\n69bSpUsXSU5OLnCu6Ohoadmypfj7+8vly5fl9OnT0r59e11HbFJSUoF9rl69Kl26dJEWLVqIr6+v\ndOvWTa5cuSIiUuT+58+fFx8fH/Hz85MPP/xQmjRpIiIiK1eu1NXFRUTS0tJk5MiR0rp1a2nTpo38\n9NNPIqLUqx92Svv4+OTrR3jU559/LlZWVnL16lXdc3v37tV15I4ZM0ays7NFJH9Nf9q0aeLl5SVh\nYWGSlZUlzz//vHh5eUnfvn2lc+fOulEw33zzjTz55JMSFBQkI0eOlA8++EBERO7evSuhoaHi4+Mj\nLVu2zNeB+rhJkyZJo0aNCjwfEREhgYGB0rx5c3n66adl2LBhur6IIUOGiKenp/j6+kpAQIDs2rWr\n0GN7e3tLampqvuf69u0rTz31VIH3+vv76/oXSH2cWpnIDD148AC1atVCbm4u+vfvjzFjxqBPnz5q\nh6WzaNEi2NraYsyYMcW+79SpU1i0aBFWrVplosioJCzvEJmh8PBw+Pn5wdvbG02bNjWrhA8A48eP\nR7Vq1Up837179/DJJ5+YICLSF1v6REQWhC19IiILwqRPRGRBmPSJiCwIkz4RkQVh0icisiBM+kRE\nFuT/AJBGwspXWgS0AAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f61cdc432d0>"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.3 , Page Number 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = linspace(-2,0,2)\n",
+ "plot(x1,8 * (1 + x1/2)**2)\n",
+ "x2 = linspace(-6,0,2)\n",
+ "plot(x2,20 * (1 + x2/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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum curve and minimum curves are plotted as shown in the following plots.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7f61cd163d10>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nJk6cKJs3b67SNufOnZOOHTsqlzi+efOmpKamVvnYd7tz506N91EVxpcBcHNzs8oxH3nkEfntt99E\nRKR3796yZ88e5WtHjx6Vjh07iojId999J0FBQXL+/HkRESksLJRPPvlEjh8/Lvn5+dK2bVtJT08X\nEZH8/Hw5fvy4iIjcunVLAgICrHIuVD1s+mRi586dMmDAgHK/npqaKv369ZPAwEAJDAyUffv2iYhI\njx49pEmTJqLX6+Xdd9+VwsJCmTNnjnTv3l38/PxMfoiUiIuLk+bNm4unp6fo9Xo5deqUJCcnS48e\nPcTPz09GjRolmZmZpbZLSkoSvV6vXPPdWHnbDxgwQBITE0VE5PLly6LVakWk+Bozw4cPl4EDB4rB\nYJAbN27IpEmTRKfTiZ+fn2zZskVERL7//nvp1auXBAYGyqOPPio3btwwOe7Ro0clJCTE5Puk0+mU\n72lAQIDodDp58skn5fbt2yJS3PQTExNl7ty5UqdOHdHr9TJ+/HgRERk5cqQEBQWJj4+PrFy5Utnv\nf/7zH+nSpYuEhITI1KlTZcaMGSJS/HkTY8aMke7du0v37t0lLi6u1PcmOztbvLy8lPvLli2T6dOn\nK/cXLFgg8+bNExGRvn37mlz7ytjVq1elVatW5V6XZ9SoUXLgwIEyv0a2x6ZPJt577z155plnyv36\nrVu3JC8vT0RETpw4IcHBwSIiEhsba5L0V6xYIa+99pqIiOTl5UlwcHCZaXzSpElKYxUR0el0snfv\nXhERmT9/vsyePbvUNoWFhTJ48GDp0KGDTJ48Wb755ptKtzdO1Xc3/Xbt2ik/HJ5//nmT88/MzJTL\nly9L//795datWyIisnjxYnnllVdK1aXX65VzXLx4sURHR0tubq60b99eTp48KSIiEyZMkHfffbdU\nTXcn/WvXrolI8ffb19dXrl27Junp6aLVaiUzM1Pu3Lkj/fr1k5kzZ4qISGRkpPz8888iUvybmbe3\nd6n6du/eLWPGjFHuX7hwQdq0aaP88PT29pbff/9dRESaN29u8mExd5s6daq0atVKIiMj5fPPP5ei\noiLla9HR0U7/AUGOjDN9MnH3JVpnzJgBvV6PkJAQAEB+fj6mTp0KPz8/REREKPN4uetqHjt27MC6\ndesQEBCAnj174tq1a/jjjz/KPGbJttevX8f169fRr18/AMDEiROxd+/eUs93cXHB9u3bsXnzZnTp\n0gXPPPMMFi5caPb2dwsLC0PTpk0BALt27cLf//535WtNmzZFfHw8jhw5gt69eyMgIADr1q3D2bNn\nS+0nIiICGzduBABs2rQJY8eOxfHjx+Hp6YlOnTpVqab33nsPer0evXr1wp9//okTJ07gwIEDGDBg\nAJo2bQpXV1c8+uijyvdu586dmDFjBgICAjBy5Ejk5OTg1q1bJvvMyMgw+TAiDw8P+Pr6YufOnUhJ\nSYGrqyu6detWqpZDhw4hICAAnTp1wqZNmwAAH3/8MXbt2oWQkBAsXboUTz75pPL8Vq1a4fz585We\nI9mGTa+nT/bHx8cHW7ZsUe4vX74cV69eRXBwMADgnXfeQZs2bfDpp5+isLCwwqswLl++HGFhYSaP\nzZs3D//973+h0WiUFzHLuxZ4SUMrKipCYGAgNBoNRo4cqVy7vnv37ujevTvCwsIwefJkPPPMM2Vu\nDwCurq4oKioCAOTl5Zk8r1GjRuVuVyIsLAzr168v91wBYOzYsXj00UcxevRoaDQadOzYEb/++mul\n+75bbGwsdu3ahfj4eDRo0AChoaHIy8sr9X0SEeUxEcEvv/yCevXqlbvfe+65p9S5R0ZG4osvvoCH\nh4fJdfN9fHyQlJQEg8EAnU6H5ORkzJw5E7m5ucpzfH194evriyeeeAKenp7KC7h5eXlo2LBhpedJ\ntsGkTyYGDhyIvLw8fPTRR8pjN2/eVJpLdnY2WrduDQBYt24dCgsLARR/hGBOTo6yzeDBg/Hvf/8b\nBQUFAIovj33r1i289tprSE5OVhq+u7s7srOzAQBNmjRBs2bN8PPPPwMAPv30UxgMBri4uCAlJQXJ\nycmIiopCRkaGyQdaJycnQ6vVonHjxmVuDwBarVb59LXNmzeXe/5hYWH44IMPlPtZWVno2bMn4uLi\ncOrUKeX7YXx55RL3338/6tSpg1dffRXjxo0DAHh5eSEtLU3Z1rgmY3Xr1lW+V9nZ2WjWrBkaNGiA\nY8eOIT4+HhqNBt27d8eePXuQlZWFgoICkx/ODz74IN5//33lfkpKSqljeHt7l/pta/To0fjvf/+L\njRs3KjUDwAsvvIA5c+aYfPpSbm4uNBoNbt68idjYWOXxku9/iePHjzvVpcKdjs0GS2S3MjIyZNy4\nceLp6SkhISESGhoqmzZtEhGRkydPip+fn/j7+8vcuXPF3d1dRIpXvgwcOFD8/f3l3XfflaKiInnx\nxRdFp9OJr6+vDBw4UK5fv17qWHFxcdKtWzcJDAyUU6dOSUpKivTs2VN5ITYrK6vUNmfOnJGBAwdK\n165dRa/Xy4MPPiinT58WESl3+2PHjomfn58EBATIvHnzxNPTU0RE1qxZo8zFRURu3LghEydOFF9f\nX/H395etW7eKSPE8vORFaT8/P5PXEYwtXbpUXFxc5MyZM8pju3btUl7InTJliuTn54uI6Ux/7ty5\n4u3tLePHj5fbt2/L0KFDxdvbW8LDwyU0NFRZZbNy5Urp3Lmz9OjRQyZOnCgvvfSSiIhcuXJFxo4d\nK35+ftKtWzeTF2iN6XQ6ycnJMXksPDxcevXqVeq5a9euFZ1OJ926dZPevXvLX//6V7lw4YLk5OTI\nQw89JF5eXqLX66Vv374mH0YSGBiovCZB9oeXViZyIDdv3kSjRo1QUFCA0aNHY8qUKRg5cqTZ27/7\n7rtwd3fHlClTVKkvOTkZ7777LtauXavK/qnmON4hciBRUVEICAiATqfD/fffX6WGDwDTp09H/fr1\nVaoOuHr1Kl599VXV9k81x6RPRFSLMOkTEdUibPpERLUImz4RUS3Cpk9EVIuw6RMR1SJs+kREtcj/\nByY5RUl4k9SXAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f61cd17d9d0>"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4 , Page Number 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of transconductance is 3.0 mA/V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.5 , Page Number 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.6 , Page Number 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17.ipynb
new file mode 100644
index 00000000..d7ffb2cd
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17.ipynb
@@ -0,0 +1,222 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1d16302bdeaeca8618b5de290d65ca882b87b778ad4d5982044984274fdd070e"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19.ipynb
new file mode 100644
index 00000000..16e72ee2
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19.ipynb
@@ -0,0 +1,613 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:760d87102b04913aaa22840fc9fc7b602772718e8c95e475054a2d67f69d9015"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20.ipynb
new file mode 100644
index 00000000..b1b60ffd
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20.ipynb
@@ -0,0 +1,1029 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:32d462bd2f586fefb22c3642131e5f96f22f80eedec5b0e5c7236c64bdaf5c1f"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21.ipynb
new file mode 100644
index 00000000..90d70688
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21.ipynb
@@ -0,0 +1,308 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3b66ed66eef7e508a35927ce1de7f26b975c46ddffc75dc40db99bd8964b8a3f"
+ },
+ "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": [
+ "#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 + 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 + 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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22.ipynb
new file mode 100644
index 00000000..f4318b5d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22.ipynb
@@ -0,0 +1,1574 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:22801b1b57c0a483fd434c761edce66f4847579e121e40e10dc5e887ad5e9207"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 22 , BJT Biasing and Stabilization"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.1 , Page Number 527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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)\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of saturation current is 2.0 mA.\n",
+ "The value of cut-off voltage is 20.0 V.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "<matplotlib.text.Text at 0x7f18a1693c50>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nEIiICADw/4TCE3KEf0C5AAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f18a20d99d0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.2 , Page Number 528"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Q-points corresponds to 8.84 V and 37.2 mA.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7f18a105c450>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nkXrppZeUi4uLGjhwoPrtt9/UM888oxo2bKh27dqllFJq4cKFatSoUSo6OlrZ2NioevXqKS8vLzVj\nxgxVqVIl1ahRI2U0GtXNmzfVnj17VNu2bVWzZs1Ux44dVVxcnFJKqbZt26oxY8ao5s2bq08++cQU\nV0ZGhnJ2dlbXrl0z3degQQN16dIldfr0aeXn56c8PT2Vv7+/Onv2rFJKqZCQEPXxxx+rFStW5Lj+\nO++8o3x8fJS7u7saPny46Zy7du1SHh4eysvLy/RvfPff6s033zS9N3Pnzs3x3l29elXVqFFD3blz\nx/S+OTk5KaWUWrBggRo8eHCu73nWz0pe+vfvrzZv3vzAayml1KpVq9Rrr732wHOKwiNJoIQJCwtT\nY8eOzfWxFStWqICAAJWZmakSEhKUk5OTio+Pv28SmDx5svr++++VUkolJSUpFxcXdePGDfXll1+q\n559/XmVkZCillEpMTFRKKeXs7KyuXr2qlFLqwoULysnJSV25ckWlp6erdu3aqZUrVyqllDIYDOqH\nH37INcb8niOrX3/91fSFmJGRobp166a2bNmiTp8+rcqWLasOHjyoMjMzVbNmzdTQoUOVUtqXTY8e\nPZRS/0sCSin10ksvqR9//NF0bl9fX7V3716llFJpaWnqqaeeUleuXFFKKbV06VL18ssvm543cuTI\nXF/TG2+8oRYuXKiUUmrHjh0qICBAKaVUt27d1LfffquUUuqbb74xxRMSEqJmzpyZ4/pZ32ullHrx\nxRfVmjVrlFJKubm5qR07diillJo0aZLy8PBQSik1d+5c9f777yullLp165Zq3ry5On36dI4Yu3Xr\nZkry06dPV2+99ZZSSqlx48apWbNm5fq6IiMjVZUqVUxLFnh5ealTp07leF7dunVVSkrKA6+llFLn\nz583xS6KhnQHlTB5LRu7fft2BgwYgMFgoEaNGrRt2zbPVRs3btxIaGgoRqMRPz8/bt++zdmzZ/n9\n99955ZVXsLLSPj65bRSye/du/Pz8sLW1pUyZMgwcOJAtW7YAUKZMGXr37v3A15LXOe6Nc+PGjRiN\nRpo1a8bRo0c5ceIEAPXq1cPNzQ2DwYCbmxv+/v4AuLu7Exsbm+t11T0rqdz9/ejRoxw6dIj27dtj\nNBr54IMPsu13ERQUlOv5goKCWLZsGQBLly41PW/Hjh0MGDAAgBdeeIFt27Y9MJ5NmzbRqlUrPD09\n2bRpE4cPH+batWukpKTQsmVLAAYMGGA6ZuPGjXz77bcYjUZatWpFYmKi6b3JKmuX0LJly+jfv/99\n34+sWrduna07qF69ejmek5iYyBNPPJGva9WoUcPs3V8iu7J6ByAKl5ubGytWrLjv4/f+D/2gtcZ/\n+uknGjZs+MDz3MtgMGR7jlLKdK0KFSqYbnfq1ImEhAR8fHyYN2/eA88B2g50r7zyCgDvvvsuAJMn\nT2b48OHZjo+NjeWxxx4z/W5lZUX58uVNt9PT0+8be26/K6Vwc3O7b5911i+6rFq1asWJEye4cuUK\nq1at4v/+7/9yvKa83L3+rVu3GDlyJHv37qVWrVq888473Lp1K0e8957z888/JyAgIM9rdO/enbFj\nxxITE0NqaipGoxHQPk+bN29+YIx5KVs2+9fM/a4F2mt8/PHHH+l6omCkJVDCtGvXjtu3b2fbRWz/\n/v1s27aN1q1bs2zZMjIzM7l8+TJbtmzJc/P5jh07mjavBoiJiQEgICCAuXPnmgZAk5KSALC2tub6\n9esA+Pj4sHnzZq5evUpGRgZLly6lbdu2Oa6xYcMGYmJiTAngQefw9fWlRYsWpr88AwMD6dixI998\n8w03btwAtB3qLl++/FDvX9br3/t7o0aNuHz5Mjt27AC0tdyzDiLfj8FgoGfPnowdOxZXV1dTy+np\np582/UW8ePFi2rRpA2hf4ne/yLNe/9atWwDY2tqSkpLCDz/8AECVKlWwtrY2teqyDrx27NiRL7/8\n0pTwjh07luvAe6VKlfDz82PIkCGm1glorYro6GjWrVtnum/Lli0cOnToga/7rkaNGnHy5MkHXutu\nfO7u7vk+t3h0kgRKoJ9//pmIiAgaNGiAu7s7//rXv3B0dKRnz554enrStGlT/P39+eijj0wbTmT9\na/Lu7SlTpnDnzh08PT1xd3dn6tSpAAwbNgwnJyc8PT3x8vJiyZIlAAwfPpxOnTrh7++Po6MjoaGh\n+Pn54eXlRfPmzU2lp3m1PvJ7jqwCAgIYMGAATz31FJ6envTt25eUlJRcr5Xb68xajdOvXz8++ugj\nmjVrxqlTp3jppZcYMWIE3t7eZGZmsmLFCiZOnIiXlxdGo5E//vgjX/8mQUFBLF68OFuX0ezZs1m4\ncCFNmzZl8eLFhIWF5Ygn6/UrVKhAcHAw7u7udOrUydT9A7BgwQKCg4MxGo2kpqZSpUoVQPu3cnV1\nxdvbGw8PD1599dX7toD69+/PgQMHsnXPVKhQgbVr1zJ79mxcXFxwc3Njzpw5VK9eHYPBwNatW7OV\niP700085ztu1a1eioqIeeC2AyMhIunXrlq/3VBQOWUpaiBLgxo0bpu6o0NBQEhIS+PTTT3WOShMf\nH8+gQYNyzA/ITdu2bVm9erUpiQnzkzEBIUqAX375henTp5Oeno6zszPh4eF6h2Ti4OBAcHAwycnJ\nOfbAzerKlSuMHz9eEkARk5aAEEKUYjImIIQQpZgkASGEKMUkCQghRCkmSUAIIUoxSQJCCFGKSRIQ\nQohS7P8Bidet/eLouRIAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f18a1627d90>"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.3 , Page Number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.4 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current is 0.05 mA.\n",
+ "The collector current is 5.0 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.5 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.6 , Page Number 535"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.7 , Page Number 536"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.8 , Page Number 537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of IC is 2.35 mA.\n",
+ "The value of VCE is 12.0 V.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 8,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7f18a105c0d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nrxnPeejQIeXs7Kzc3NyMf8YP/6zeeust489m8eLFGX52N27cUNWqVVPJycnGn5u9vb1SSqmlS5eq\nQYMGZfozf/TvSlb69eun9uzZk+1YSim1adMmNXLkyGzPKUxDEr2FWrBggRo3blym39uwYYMKCAhQ\naWlpKjY2Vtnb26urV68+MdG//fbb6ptvvlFKKRUXF6eaNGmi7t27pz7//HP14osvqtTUVKWUUjdv\n3lRKKVWvXj1148YNpZRSly9fVvb29ur69esqJSVF+fn5qY0bNyqllDIYDGr9+vWZxpjTczzqp59+\nMia91NRU1bVrV7V3714VHR2tbG1t1e+//67S0tKUp6enevXVV5VSWkJ54YUXlFL/JHqllBo8eLD6\n9ttvjef28fFRERERSimlkpKS1DPPPKOuX7+ulFJqzZo16pVXXjG+b9SoUZle05gxY9Ty5cuVUkqF\nh4ergIAApZRSXbt2VV9//bVSSqlly5YZ4wkODlZz587NMP6jP2ullHr55ZfVDz/8oJRSytHRUYWH\nhyullJo8ebJydnZWSim1ePFi9e9//1sppVRiYqLy8vJS0dHRGWLs2rWr8R/yGTNmqIkTJyqllBo/\nfrxauHBhptcVGhqqypcvb3zc3s3NTZ0/fz7D++rWravi4+OzHUsppS5dumSMXZiflG4sVFZtV/fv\n30///v0xGAxUq1aNtm3bcujQoSe+f8eOHcycORN3d3d8fX158OABFy5cYNeuXQwfPtzYd/7xzQ8A\nDh8+jK+vL5UrV6ZYsWIMGDCAvXv3AlCsWDF69eqV7bVkdY7H49yxYwfu7u54enpy+vRpzp49C0D9\n+vVxdHTEYDDg6OiIv78/AE5OTsTExGQ6rnqs+8fDr0+fPk1UVBTt2rXD3d2dadOmpdsvISgoKNPz\nBQUFsXbtWgDWrFljfF94eLixjexLL73EL7/8km08u3fvpnXr1ri4uLB7925OnjzJrVu3iI+PN+5t\n0L9/f+MxO3bs4Ouvv8bd3Z3WrVtz8+ZN48/mUY+Wb9auXUu/fv2e+PN4lLe3d7rSTf369TO85+bN\nm5QuXTpHY1WrVs2qNuMp7Gz1DkDkjaOjIxs2bHji9x//nza7ftzfffcdjRs3zvY8jzMYDOneo5Qy\njvXUU08ZP+/YsSOxsbG0aNGCr776KttzgLYT2fDhwwH48MMPAXj77bd57bXX0h0fExNDyZIljV/b\n2NhQokQJ4+cpKSlPjD2zr5VSODo6PrGG/Ggye1Tr1q05e/Ys169fZ9OmTbz//vsZrikrD8dPTExk\n1KhRREREUKtWLT744AMSExMzxPv4OT/99FMCAgKyHCMwMJBx48Zx9OhREhIScHd3B7S/T3v27Mk2\nxqzY2qZPJ08aC7RrfPrpp/M1nsg5mdFbKD8/Px48eMCSJUuMrx0/fpxffvkFb29v1q5dS1paGteu\nXWPv3r20bNnyiefq0KFDug3Mjx49CmjblS1evNh40zEuLg6AsmXLcufOHQBatGjBnj17uHHjhnH/\n0bZt22YYY/v27Rw9etSY5LM7h4+PDy1btjTOILt160aHDh1YtmwZ9+7dA7Sdyq5du5ann9+j4z/+\nddOmTbl27ZpxU/Dk5OR0N26fxGAw0KNHD8aNG4eDg4PxN6A2bdoYZ7arV6/m+eefB7RE/TBZPzp+\nYmIiAJUrVyY+Pp7169cDUL58ecqWLWv87ezRm50dOnTg888/N/6jdubMmUxvdpcpUwZfX1+GDBmS\nbrOK/v37c+DAAbZu3Wp8be/evURFRWV73Q81bdqUc+fOZTvWw/icnJxyfG6RP5LoLdj333/Pzp07\nadSoEU5OTrz77rvY2dnRo0cPXFxccHV1xd/fnzlz5hg3Xnh0Vvjw8ylTppCcnIyLiwtOTk5MnToV\ngKFDh2Jvb4+Liwtubm6EhIQA8Nprr9GxY0f8/f2xs7Nj5syZ+Pr64ubmhpeXl3HZZla/ReT0HI8K\nCAigf//+PPPMM7i4uNCnTx/i4+MzHSuz63x0lUvfvn2ZM2cOnp6enD9/nsGDB/P666/j4eFBWloa\nGzZsYNKkSbi5ueHu7s7Bgwdz9GcSFBTE6tWr05V3Fi1axPLly3F1dWX16tUsWLAgQzyPjv/UU08x\nbNgwnJyc6NixY7ptKJcuXcqwYcNwd3cnISHBuJ/t0KFDcXBwwMPDA2dnZ0aMGPHE32T69evHiRMn\n0pVSnnrqKbZs2cKiRYto0qQJjo6OfPnll1StWhWDwcC+ffvSLa/87rvvMpy3S5cuhIWFZTsWQGho\nKF27ds3Rz1Tkn7QpFsKC3Lt3z1g6mjlzJrGxscyfP1/nqDRXr15l4MCBGdbPZ6Zt27Zs3rzZ6jZe\nL6ykRi+EBfnxxx+ZMWMGKSkp1KtXjxUrVugdklGNGjUYNmwYd+/epWzZsk983/Xr15kwYYIk+QIk\nM3ohhLByUqMXQggrJ4leCCGsnCR6IYSwcpLohRDCykmiF0IIKyeJXgghrNz/AykmYCCMJDIYAAAA\nAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f18a20d9890>"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.9 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating voltage is 20.0 V.\n",
+ "Opearing current is 2.0 mA.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7f18a0ec7e90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nS18EZ2VPJoZVPpkDSSp7GxsbfPHFF7VO9jY2Nrh48SL+/PNPBAcH4+rVq3Bzc1O/rtnDDwgIQEBA\nQK3iEBkCq3wyRQkJCUhISNDrGJL37DV9+umnaNq0KebNm6cKzsqeTBirfDJVJrfq5aNHj1C/fn28\n/PLLyM/Px+DBg7Fw4UIMGzas1gMmqktcL59Mkcmtenn58mVMnjwZJSUlUCqVCAkJwX//93+/CM5k\nT2aCVT6ZEsmS/aZNmyqt7N966y2dglUIzmRPZoRVPpkKyZL9nDlz1Mk+Pz8fx44dg7e3N2JiYmo3\n0tLgTPZkhljlk7HVWRvn6dOnCAkJweHDh3XdtWxwJnsyU7z7loypzpJ9YWEh5HI5UlJSdN21bHAm\nezJzXGOHjEGyO2hHjhyp/lqpVOLatWuYwMnHRBXm5bPKJ1OlVWWvOZm/fv366NSpEzp06KB/cFb2\nZEFY5VNdkayNc+vWLTg5OaFJkyYAVB/SZmRkwNnZuVYDVQdnsicLw14+1QVJlzg+c+aM+rGEz58/\nx1//+lecO3eudiMtDc5kTxaKVT5JqTa5U6slKEtKStSJHlA9prCoqEi30RFZkdJefufOql7+jh3G\nHhFZO62Svb29PeLi4tTfx8XFwd7eXrJBEVkCzWffhoerWjoPHxp7VGSttGrj3LhxA5MmTcL9+/cB\nAO3bt8eWLVvQrVs3/YKzjUNWQvPuW66kSfqSfJ59dnY2AMDW1la3kVUVnMmerAzvviVDkKxnX8rW\n1tZgiZ7IGpX28rt0YS+f6pakq17WGJyVPVmxX35RzdhhlU+6kqSyVyqVSExMrPWgiKhyfn5lZ+zs\n3GnsEZEl06qy9/LywsWLFw0fnJU9EYAX8/I9PFRVvoODsUdEpkyynv1rr72GmJgYJmYiiZT28p2d\nVTdisconQ9Oqsm/WrBny8vJQr149NG7cWLWjTIZnz57pF5yVPVEFvPuWaiJZZZ+TkwOlUomioiJk\nZ2cjOztb70RPRJXz9wcuXmQvnwxL69k4cXFxOHnyJGQyGfr3719m2eNaB2dlT1QtVvlUGckq+4UL\nFyIqKgpubm7o1asXoqKisGjRoloNkoi0V36NHVb5VFtaVfbu7u64ePEi6tWrB0C1MJqXlxcuX76s\nX3BW9kRa4923VEqyyl4mk+Hp06fq758+fap+ADkR1Y3yd9+yyiddaPVYwkWLFsHb2xuBgYEQQuDE\niRNYtmyZ1GMjonIaNwaWLweCg1VV/o4drPJJO1p/QHv//n38+uuvkMlk6N27N5ycnPQPzjYOUa0V\nFABLlvCpWNZIslUvg4KCcPTo0Rq36YrJnkh/7OVbH4P37PPz8/H48WNkZmbiyZMn6n9paWm4d++e\nXoMtFRgYCDc3N8jlckRFRel9vIsXL8LGxgaHDx82wOiITJ8+K2nevXsXo0ePhouLC7p27Yr33nsP\nhYWF0g2WjKbayn7lypWIjIzE/fv30bZtW/V2W1tbzJw5E3PmzNEvuEyG5ORkeHl5IScnBz4+PoiN\njUWvXr1qfcwFCxYgKSkJnTt3xsaNG/UaH5G50WUlTSEE/Pz8MHv2bEyePBlKpRIzZ85Es2bNsHLl\nyjobM+muVl0RoYWoqCht3qaz8uFHjx4t4uPjK7xv8uTJYtasWcLf31906dJFJCQkiKlTp4pevXqJ\nKVOmqN+nVCpFly5dxM2bN0Xbtm1FQUGBJOMmMmX5+ULMny+Eo6MQO3ZU/b74+HjRr1+/MtuePXsm\nWrZsKXJzcyUeJelDy9RdhtZTL7OystTfZ2VlYc2aNTXud+fOHa3bNGlpaUhOToafn1+l8Z8+fYoz\nZ87gm2++wahRozBv3jxcvXoVly9fxr///W8AQGJiIrp06YIuXbogICAA+/fv1+b0iCxK48Yvnn27\nZEnVz769evUqfHx8ymyztbWFs7Mzrl+/XkejpbqiVbL//vvv0bJlS/X3LVu2xNq1a2vcr0GDBvjm\nm29w9epVJCUlYfXq1fjtt98qvC8nJwevv/46IiMj0axZs0qPVbo8g1wuh6OjI9zc3CCTyeDm5oY/\n/vgDALBt2zaEhIQAAEJCQrBt2zZtTo/IIvn7AxcuvLj7tnwvv7p7ZXgfjeXRap69UqmEUqmEjY3q\nd0NJSQmKiopq3K9NmzZo06YNANXKmb169cL9+/fL9OSLioowbtw4vPHGGxgzZkyVx2rYsCEAwMbG\nBo0aNVJvt7GxQXFxMUpKSvDjjz9iz549+OyzzyCEwJMnT5CTk1PlLxAiS9ekiarKHztWNWNn584X\nvXxXV1fExMSUef+zZ8+Qnp6OHj16GGnEJBWtKvvBgwcjNDQUR48eRXx8PEJDQzFkyBCdAlXVppk2\nbRpcXV0xd+5cnY6nSQiBo0ePwtPTE7dv30ZqairS0tIwduxY7N69u9bHJbIU5av8nTtV06fz8vKw\nZcsWAKoibt68eXjvvffKFFRkGbSq7JcvX461a9fif//3fwEAAwcOxPTp07UOUl2bZsuWLXB0dER0\ndDSaNWuGVatWVfqLRPPPysr+xIyOjsbYsWPLbBs3bhy+/fZbvPnmm1qPlchSla/yd+wAvv9+N8LD\nZ+PTTz9FZmYmQkJCuMihCUpISEBCQoJex9D6Dtq8vDzcvn0bPXv21ClAUVERRowYgaFDh1ao3nlT\nFZFx5OcD4eFl7749c+YMwsLCEBsbCy8vL2MPkaoh2R20e/bswfz58/H8+XN1OyY8PBx79uypdj8h\nBCZPngw7Ozt88803BhkwERkO18s3T5KtehkREYFffvlFPSNHoVDg1q1bNe53+vRp/PDDDzh+/DgU\nCgUUCgUOHTqk0wCJSDqlT8XiSpqWT6uefYMGDfDyyy+X2VY6M6c6r776KpRKZe1GRkR1gitpWget\nKns3Nzds3boVxcXFuH79Ot577z288sorUo+NiOqQPmvskOnTqmefm5uLzz77DEeOHAGgmoq5ePFi\nNG7cWL/g7NkTmSSupGnaJPuAVipM9kSmq6BANWNn0yYgKgqYMMHYI6JSBk/2pUsUVBWsptk4NQZn\nsicyeZpV/po1gIODsUdEBk/2NU3iDwgI0ClYheBM9kRmobJ5+WQ8bOMQkaQ4L980GDzZu7u7Vxvs\n0qVLOgWr7BhM9kTmJT8fiIhQ9fJZ5RuHwZN9WlpatTs7OzvrFKxCcCZ7IrPFGTvGY/A7aJ2dndX/\nmjRpgsuXL+PKlSto2rSp3omeiMxb+Xn5vPvWtGl1U9WOHTvQp08f7Ny5s8zXRGTdSu++rempWGR8\nWn1A6+Hhgfj4eLT+/3+nZWZmIigoiD17IlLTnJfPXr60JFsITQgBB43JtXZ2dkzSRFQGq3zTplWy\nHzJkCAYPHoyNGzdiw4YNGDZsGIYOHSr12IjIDHGNHdOk9Tz7H3/8EadPnwYA9O3bF8HBwfoHZxuH\nyKJxxo40DD718vr168jIyMCrr75aZvvPP/8MJycndO3atXYjLQ3OZE9k8Xj3reEZvGc/d+5cNG/e\nvML25s2b6/WAcCKyHqXPvo2NBRYvZi/fWKpN9hkZGfDw8Kiw3cPDA6mpqZINiogsD3v5xlVtsn/6\n9GmVrxUUFBh8MERk2Zo0eTFjJzycVX5dqjbZ+/r6Yu3atRW2f//99/Dx8ZFsUERk2Xj3bd2r9gPa\n9PR0BAcHo2HDhurkfv78eTx//hy7d++Gk5OTfsH5AS2R1eOMHd1JssSxEALHjx/HlStXIJPJ4Obm\nhgEDBug1UHVwJnsiguru2yVLOGNHW1zPnojMGtfL145kyyUQEdWF0l5+587s5RsaK3siMkms8qvG\nyp6ILEb5Kp/z8vXDyp6ITB5n7JTFyp6ILBLvvtUfK3siMius8k2wsn/77bfh6OgId3d3KcMQkRVh\nlV87klb2p06dQrNmzfDWW2/h8uXLFYOzsiciPfzyi2rGjrVV+SZX2fft2xctW7aUMgQRWTE/P87L\n1xY/oCUis9a4cdn18idM4EqalWGyJyKLUNrLd3ZmlV+Z+sYeQEREhPrrgIAABAQEGG0sRGTeSp+K\nNXasqpe/Y4dl9PITEhKQkJCg1zEkn3qZlpaGkSNH8gNaIqpT+flARASwaRMQFaVq71gKk/uANiws\nDK+88gpSUlLQoUMHbNiwQcpwRERqfCpWWbypiogsXkGBKuFv2mQZ6+VzPXsiompYyt23JtfGISIy\nJdb87FtW9kRklcy5ymdlT0SkJWt7KhYreyKyeppV/po1gIODsUdUPVb2RES14O8PXLigqvLd3S2z\nymdlT0SkofTZtx4eql6+KVb5rOyJiPTk7w9cvGh5vXxW9kREVTDVGTus7ImIDMiSnorFyp6ISAum\nVOWzsicikojmjB1z7OWzsici0pGxq3xW9kREdcAcq3xW9kREeiidl+/uXndVPit7IqI6Zi4rabKy\nJyIykLrq5bOyJyIyIlOu8lnZExFJQMoqn5U9EZGJMLX18lnZExFJzNBVPit7IiITZArz8lnZExHV\nIUNU+azsiYhMnLFm7LCyJyIyktpW+azsiUhrd+7cQWBgINzc3CCXyxEVFaV+7cmTJxg4cCBcXFww\naNAgPH36tML+Xbt2RUpKSpltc+fOxRdffCH52C1FXa6Xz8qeyEqlp6cjPT0dXl5eyMnJgY+PD+Li\n4tCzZ0989NFHsLe3x0cffYTly5cjKysLy5YtK7P/xx9/jEaNGmHJkiUAAKVSiU6dOiExMREdOnQw\nximZNV2qfFb2RKS1Nm3awMvLCwDQrFkz9OrVC/fu3QMA7NmzB5MnTwYATJ48GbGxsRX2DwsLw/bt\n29Xfnzx5Ep06dWKiryWpq3xJk/2hQ4fQs2dPdO/eHcuXL5cyFBHpIS0tDcnJyfDz8wMAZGRkwNHR\nEQDg6OiIjIyMCvvI5XLY2Njg0qVLAIDo6GhMnDix7gZtgRo3BpYvB2JjgfBwYPx44OFDwxxbsmRf\nUlKCOXMKGfBeAAAPL0lEQVTm4NChQ7h27Rq2bduG3377TapwJikhIcHYQ5AUz8+8lZ5fTk4OXn/9\ndURGRqJZs2YV3ieTySCTySo9RlhYGKKjo1FSUoK4uDiMHz9eyiFrzdyvnRQzdiRL9mfPnkW3bt3g\n7OyMBg0aIDQ0FHFxcVKFM0nm/h9cTXh+5i0hIQFFRUUYN24c3njjDYwZM0b9mqOjI9LT0wEADx48\nQOsqGsihoaHYsWMH4uPj4eHhAQcHhzoZe00s4dppVvlLluhf5UuW7O/du1emd9e+fXt1P5CIjE8I\ngWnTpsHV1RVz584t89qoUaOwadMmAMCmTZvK/CLQ1KVLF9jb22PhwoVs4UjEUL18yZJ9VX/2EZFp\nuHPnDn744QccP34cCoUCCoUChw4dAgAsXLgQP/30E1xcXHDs2DEsXLiwyuOEhYXh999/x9ixY+tq\n6FanfC+/NiSbepmUlISIiAj1fzxLly6FjY0NFixY8CI4fyEQEdWKrqlbsmRfXFyMHj164OjRo2jb\nti369OmDbdu2oVevXlKEIyKiatSX7MD16+Nf//oXBg8ejJKSEkybNo2JnojISIx6By0REdUNo91B\na+k3XDk7O8PDwwMKhQJ9+vQx9nD09vbbb8PR0RHu7u7qbdqsn2IuKju/iIgItG/fvsKHl+amqjVw\nLOX6VXV+lnL9CgoK4OfnBy8vL8jlckRERACoxfUTRlBcXCy6du0qUlNTRWFhofD09BTXrl0zxlAk\n4+zsLB4/fmzsYRjMyZMnxYULF4RcLldvmz9/vli+fLkQQohly5aJBQsWGGt4eqvs/CIiIsSKFSuM\nOCrDePDggUhOThZCCJGdnS1cXFzEtWvXLOb6VXV+lnL9hBAiNzdXCCFEUVGR8PPzE0lJSTpfP6NU\n9tZyw5WwoA5Z37590bJlyzLbtFk/xVxUdn6AZVzDqtbAsZTrV90aP5Zw/QCgadOmAIDCwkIUFRVB\nJpPpfP2Mkuyt4YYrmUyG1157Db6+vvj++++NPRxJaLN+irlbtWoVPD09MW3aNLNtc2jSXAPHEq9f\n6fn5+/sDsJzrp1Qq4eXlBUdHRwwaNAh9+vTR+foZJdlbw/z606dPIzk5GQcPHsTq1atx6tQpYw9J\nUtWtn2KuZs2ahdTUVFy8eBFOTk6YN2+esYekl5ycHIwbNw6RkZGwtbUt85olXL/ya/xY0vWzsbHB\nxYsXcffuXfzyyy+4cuVKmde1uX5GSfbt2rXDnTt31N/fuXMH7du3N8ZQJOPk5AQAcHBwQHBwMM6e\nPWvkERmetuunmKvWrVur/yeaPn26WV/D0jVw3nzzTfXSB5Z0/Spb48eSrl+pFi1aIDAwEIcPH9b5\n+hkl2fv6+uL69etIS0tDYWEhtm/fjlGjRhljKJLIy8tDdnY2ACA3NxdHjhwpM8vDUmi7foq5evDg\ngfrr3bt3m+01FFWsgWMp16+q87OU6/fo0SN1Cyo/Px8//fQTevXqpfv1k/IT5OocOHBAuLi4iK5d\nu4rPP//cWMOQxK1bt4Snp6fw9PQUbm5uFnF+oaGhwsnJSTRo0EC0b99erF+/Xjx+/FgEBQWJ7t27\ni4EDB4qsrCxjD7PWyp/funXrxJtvvinc3d2Fh4eHGD16tEhPTzf2MGvl1KlTQiaTCU9PT+Hl5SW8\nvLzEwYMHLeb6VXZ+Bw4csJjrd+nSJaFQKISHh4eQy+Xi008/FUIIna8fb6oiIrICfCwhEZEVYLIn\nIrICTPZERFaAyZ6IyAow2RMRWQEmeyIiK8Bkb8bS09MRGhqKbt26wdfXF8OHD8f169erfH9aWpr6\nxpKEhASMHDmyVnFXrlyJ/Pz8Wu1ryGPoau/everltGNjY/Hbb7+pX9u0aVOZm3DqQkREBFasWAEA\n2Lhxo+TxBwwYgCNHjpTZtnLlSrz77rsAgJSUFAwbNgwuLi7w8fFBSEgIHj58iISEBLRo0UK9VLBC\nocCxY8cqHF8IgaCgIGRnZyMwMLDKWI8ePcLQoUOlO1GqFJO9mRJCIDg4GAMGDMCNGzdw7tw5LF26\ntE4Ws4qMjEReXp5O+yiVSr2Poa+RI0eqn4EcGxuLa9euqV/buHEj7t+/r9PxSkpK9BqP5nomtYmv\nq7CwMERHR5fZtn37dkycOBEFBQUYPnw4Zs+ejZSUFJw/fx7vvvsuMjMzIZPJ0K9fPyQnJ6v/DRgw\noMLxDxw4AC8vL9ja2mLixIlVxrK3t4eTkxMSExMlPV8qR+q7v0gaR48eFf369avy9b///e9CLpcL\nd3d3sX37diGEEKmpqer12o8fPy5GjBghhBAiJydHTJ06VfTp00coFAoRFxcnhFA9d2DevHlCLpcL\nDw8PsWrVKhEVFSUaNmwo3N3dxYABA4QQQvzf//2fcHd3F3K5vMya2i+99JKYN2+e8PT0FKdPn1Zv\nj4yM1PoY5X3xxReid+/ewsPDQ4SHh6vPq0ePHmLKlCnCxcVFTJo0Sfz000/ir3/9q+jevbs4e/as\nEEKIDRs2iDlz5ojExETRqlUr0blzZ+Hl5SWWL18umjVrJnr06CEUCoXIz88X586dE/379xc+Pj5i\n8ODB4sGDB0IIIfr37y/mzp0rfH19xddff60eV0lJiXB2dhZPnz5Vb+vWrZt4+PChSE1NFYGBgcLD\nw0MEBQWJ27dvCyFU6+V/9dVXIiYmpkL8Tz75RPTu3VvI5XIxc+ZM9THPnj0r3N3dhZeXl/oal16r\nv//97+qfzXfffVfhZ/f48WPRunVrUVRUpP65dezYUQghxLp168TkyZMr/Zlr/rdSnbCwMHHixIka\nYwkhRFxcnHj33XdrPCYZDpO9mYqMjBQffPBBpa/FxMSIgQMHCqVSKTIyMkTHjh1Fenp6lcl+0aJF\n4ocffhBCCJGVlSVcXFxEbm6uWLNmjRg/frwoKSkRQgjx5MkTIUTZB7Pcu3dPdOzYUTx69EgUFxeL\nAQMGiNjYWCGEEDKZTOzcubPSMWp7DE2HDx9WJ76SkhIxYsQIcfLkSZGamirq168vrly5IpRKpfDx\n8RHTpk0TQqiSypgxY4QQL5K9EEJMmTJF/Pjjj+pjBwQEiPPnzwshhCgsLBR/+ctfxKNHj4QQQkRH\nR4u3335b/b7Zs2dXek7vv/++2LBhgxBCiKSkJDFw4EAhhBAjRowQmzdvFkIIsX79evV4NB+uoRlf\n82cthBBvvvmm2Lt3rxBCCDc3N5GUlCSEEGLhwoXC3d1dCCHEd999J/7nf/5HCCFEQUGB8PX1Famp\nqRXGOGLECPUv86VLl4r58+cLIYT48MMPRVRUVKXndfz4cdGiRQv1UgReXl7i1q1bFd7XqVMnkZOT\nU2MsIYS4e/eueuxUN9jGMVPVLWd6+vRpTJw4ETKZDK1bt0b//v2rXfHvyJEjWLZsGRQKBQIDA/H8\n+XPcvn0bR48exd/+9jfY2Kj+M6ns4R6//vorAgMDYWdnh3r16mHSpEk4efIkAKBevXoYN25cjedS\n3THKj/PIkSNQKBTw8fHB77//jhs3bgAAOnfuDDc3N8hkMri5uSEoKAgAIJfLkZaWVmlcUW6lkNLv\nf//9d1y9ehWvvfYaFAoFPvvsszLPWwgJCan0eCEhIdi+fTsAIDo6Wv2+pKQkTJw4EQDwxhtv4Oef\nf65xPMeOHYO/vz88PDxw7NgxXLt2DU+fPkVOTg78/PwAABMnTlTvc+TIEWzevBkKhQL+/v548uSJ\n+mejSbOVs337doSFhVX589DUt2/fMm2czp07V3jPkydP8NJLL2kVq3Xr1pK3rais+sYeANWOm5sb\nYmJiqny9/P+4Na11vWvXLnTv3r3G45Qnk8nKvEcIoY7VuHFj9ddDhgxBRkYGevfujbVr19Z4DED1\nRLO//e1vAIB//vOfAIBFixZh5syZZfZPS0tDo0aN1N/b2NigYcOG6q+Li4urHHtl3wsh4ObmVmVP\nWTOhafL398eNGzfw6NEjxMXFYcmSJRXOqTql8QsKCjB79mycP38e7dq1wyeffIKCgoIK4y1/zH/9\n618YOHBgtTFGjRqFDz74AMnJycjLy4NCoQCg+u/pxIkTNY6xOvXrl00nVcUCVOfYpEkTveKRbljZ\nm6kBAwbg+fPnZZ6CdenSJfz888/o27cvtm/fDqVSiczMTJw8ebLah54PHjxY/ZBmAEhOTgYADBw4\nEN999536g8isrCwAgK2tLZ49ewYA6N27N06cOIHHjx+jpKQE0dHR6N+/f4UYhw4dQnJysjrR13SM\ngIAA9OnTR11Jjhw5EoMHD8b69euRm5sLQPXEs8zMzFr9/DTjl/++R48eyMzMRFJSEgDVWumaH+ZW\nRSaTITg4GB988AFcXV3Vfwm98sor6gp369at6NevHwBVsi5N2JrxCwoKAAB2dnbIycnBzp07AajW\nMre1tVX/lab5AejgwYOxZs0a9S+2lJSUSj8Ab9asGQIDAzF16lT1XxuA6q+ExMREHDhwQL3t5MmT\nuHr1ao3nXapHjx64efNmjbFKxyeXy7U+NumPyd6M7d69G/Hx8ejWrRvkcjk+/vhjODk5ITg4GB4e\nHvD09ERQUBC+/PJL9YMNNKvD0q8XL16MoqIieHh4QC6XIzw8HAAwffp0dOzYER4eHvDy8sK2bdsA\nADNnzsSQIUMQFBQEJycnLFu2DIGBgfDy8oKvr696Smd1f01oewxNAwcOxMSJE/GXv/wFHh4emDBh\nAnJyciqNVdl5as5+CQ0NxZdffgkfHx/cunULU6ZMwTvvvANvb28olUrExMRgwYIF8PLygkKhwJkz\nZ7S6JiEhIdi6dWuZVs+qVauwYcMGeHp6YuvWrYiMjKwwHs34jRs3xowZMyCXyzFkyBB12wYA1q1b\nhxkzZkChUCAvLw8tWrQAoLpWrq6u8Pb2hru7O2bNmlXlXzRhYWG4fPlymbZK48aNsW/fPqxatQou\nLi5wc3PDt99+CwcHB8hkMpw6darM1Mtdu3ZVOO7w4cORkJBQYywAOH78OEaMGKHVz5QMg0scE5mR\n3NxcdRtp2bJlyMjIwDfffGPkUamkp6fjrbfeqjC/vjL9+/fHnj171L+sSHrs2ROZkf3792Pp0qUo\nLi6Gs7MzNm7caOwhqbVp0wYzZsxAdnZ2hWfcanr06BHmzZvHRF/HWNkTEVkB9uyJiKwAkz0RkRVg\nsicisgJM9kREVoDJnojICjDZExFZgf8HVZ9dreRBIfYAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f18a0f530d0>"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.10 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When VBB = 0 V , LED is in OFF condition.\n",
+ "When VBB = 3 V , LED is in ON condition.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.11 , Page Number 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current is 9.9 mA.\n",
+ "Collector-to-Emitter voltage is 16.8669387755 V.\n",
+ "Stability factor is 81.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.12 , Page Number 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current is 0.845 mA.\n",
+ "Collector-to-Emitter voltage is 1.55 V.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 12,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7f18a0e04910>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n6lQFVKehlJQUxMfHq+87deoULl261Oz7VhkxYgR+++23ZsdS1Wdvb9/ibVP7sMFQq3311VdISEiA\njY0N7O3t8fbbb8Pc3BwzZ86Eo6MjRo8eDW9vb2zevFl9QaKafwWrfn733Xfx+PFjODo6wt7eHu+9\n9x4AYNGiRRg8eDAcHR3h5OSE6OhoAMCrr74KX19feHt7w9zcHBs3boSnpyecnJzg6uqqPvy5qdTU\n0m3U5OPjg7lz5+K5556Do6MjZs+ejZKSkgbHauh91jxqKygoCJs3b4aLiwuuXLmCV155BUuWLIGz\nszOqqqoQGxuLNWvWwMnJCUqlEj/88EOL/k0CAwOxZ8+eWrvRduzYgcjISIwePRp79uzBtm3b6tVT\nc/ynnnoKixcvhr29PXx9fWtdQnvnzp1YvHgxlEolSktLYWxsDKD638rW1hbOzs5wcHDA0qVLG01u\nc+bMwcWLF2vtsnrqqadw+PBh7NixA8OHD4ednR0+//xz9O/fHwqFAqdPn651mPKBAwfqbXfq1KlI\nSkpqdiwAOHHiBKZNm9aiz5Taj8v1E1GzHjx4oN5Ft3HjRuTl5eGjjz6Suapqt2/fxssvv1zv/JeG\nuLu74+DBg+oGSZrFORgiatY333yDsLAwVFRUwMrKClFRUXKXpDZw4EAsXrwYxcXF6NWrV6PPu3Pn\nDkJDQ9lcJMQEQ0REGsE5GCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2\nGCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2GCIi0gg2GCIi0oj/B83QPE1lxJY7\nAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f18a20d9710>"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.13 , Page Number 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "IB is 0.0465 mA.\n",
+ "IC is 2.325 mA.\n",
+ "IE is 2.325 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.14 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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. \" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In case 1, Collector junction is short circuited.\n",
+ "In case 2, Collector resistance is short circuited. \n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.15 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 is 14.6 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.16 , Page Number 543"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base resistance is 101.84 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.17 , Page Number 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC bias current is 1.06 mA.\n",
+ "DC bias voltage is 1.1 V.\n",
+ "Stability factor is 16.1 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.18 , Page Number 546"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current is 5.27 mA.\n",
+ "Collector-to-Emitter voltage is 2.1 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.19 , Page Number 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Emitter current is 2.15 mA.\n",
+ "The value of collector-to-emitter voltage is 8.55 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.20 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\" %.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage change in collector current is 43.5 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.21 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point values are IC = 3.1 mA and VCE = 3.781 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.22 , Page Number 550"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 is 40.0 kilo-ohm and value of RC is 2200.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.23 , Page Number 551"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.24 , Page Number 552"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector-to-Emitter VCE is 7.5 V.\n",
+ "Base current is 0.026 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.27 , Page Number 554"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.28 , Page Number 556"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.29 , Page Number 557"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change is collector current is 1.513 %.\n",
+ "The change in collector to emitter voltage is 2.16 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.30 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.31 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of base voltage is 2.0 V.\n",
+ "The value of emitter voltage is 1.3 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.32 , Page Number 562"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The operating point values are IC = 0.404 mA and VCE = -3.78 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23.ipynb
new file mode 100644
index 00000000..7138bc51
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23.ipynb
@@ -0,0 +1,73 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:20179c904742e2ec972eba4de835d238ef7378c846b076a3bcef14f754934524"
+ },
+ "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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24.ipynb
new file mode 100644
index 00000000..4d55480e
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24.ipynb
@@ -0,0 +1,840 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:289177fe76d1fbf26e468c709aae0557ba3fcfeed2f208abedc32a7dd8de3df1"
+ },
+ "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": [
+ "#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": [
+ "#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 * 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": [
+ "#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 * 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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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 * 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": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.13 , Page Number 613"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25.ipynb
new file mode 100644
index 00000000..f8bc3073
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25.ipynb
@@ -0,0 +1,642 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:4029aa712a09fc12ed238727e69e568e1d1aadee47eaef63bc86ef0b7bc7335e"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26.ipynb
new file mode 100644
index 00000000..ca1ec8e1
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26.ipynb
@@ -0,0 +1,475 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:65d04ec58f08a625163af505c7315cf0eb590c938440b7ce9bda5b05a5c63ff1"
+ },
+ "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": [
+ "#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 * log10(Av1) #dB voltage gain1\n",
+ "Gv2 = 20 * log10(Av2) #dB voltage gain2\n",
+ "Gv3 = 20 * 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": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.2 , Page Number 659"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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": [
+ "#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 * 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": [
+ "#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 * 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": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.5 , Page Number 669"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 * 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": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.6 , Page Number 672"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27.ipynb
new file mode 100644
index 00000000..d7d2ab65
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27.ipynb
@@ -0,0 +1,750 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1ae571c835954c432281fc89697e7aa1664f8d32dc4decfbc5ad9df82b932dae"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 27 , Power Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.1 , Page Number 689"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7fdb3a6a3d50>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fdb3b17a210>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.2 , Page Number 691"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall compliance (PP) of the amplifier is 9.61 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.3 , Page Number 694"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is 27.5 and Power gain is 1375.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.4 , Page Number 698"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector efficiency is 25.0 % .\n",
+ "Power rating of the transistor is 20.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.5 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The a.c. power output is 4.7 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.6 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.7 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\"% .\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.8 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The effective resistance is 1.8 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.9 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Turns ratio is 25.0 : 1.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.10 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum power delievered to load is 100.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.11 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.12 , Page Number 703"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power transferred when directly connected is 4.9 mW.\n",
+ "The average power transferred to the speaker is 260.0 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.13 , Page Number 706"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power delivered to the load is 0.1 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.14 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power drawn from the source is 16.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.15 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power output is 73.02 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 27.16 , Page Number 711"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The d.c. input power is 12.5 W.\n",
+ "The a.c. output power is 7.5 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28.ipynb
new file mode 100644
index 00000000..fe194eef
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28.ipynb
@@ -0,0 +1,261 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:ab7fa91888be408d88199dbc30e37921df67f73326f8dd21b2338b11e1039521"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29.ipynb
new file mode 100644
index 00000000..8940284b
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29.ipynb
@@ -0,0 +1,722 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d9b60f8cd8162483730ad384ab7c7d7f2f7f6698c9c40e79bba3ee3df33d40e7"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30.ipynb
new file mode 100644
index 00000000..2a7d1b54
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30.ipynb
@@ -0,0 +1,889 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6f0a9f934e02f45e191664e23cb714f47df6a32f93575e02e3c2aec9d72e3502"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 30 , Field-Effect Transistor Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.1 , Page Number 750"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of drain-to-source voltage is 2.5 V.\n",
+ "Value of Gate-to-source voltage is -2.5 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.2 , Page Number 751"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of resistance R1 is 1.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.3 , Page Number 752"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of RS is 933.0 ohm.\n",
+ "Value of RD is 5.7 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.4 , Page Number 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f2711eeac10>"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.5 , Page Number 755"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of RD is 1.5 kilo-ohm.\n",
+ "Value of RS is 528.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.6 , Page Number 756"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.7 , Page Number 758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of VGS is -3.8 V. and value of VDS is 4.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.8 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is -6.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.9 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is -24.5 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.10 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is -26.7 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 13.3 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.11 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is -16.67 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.12 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),'.'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is -48.9 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.13 , Page Number 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage is 0.844 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.14 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\".\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain when RL is zero is -2.0 .\n",
+ "Voltage gain when Rl is 100 kilo-ohm is -1.97 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.15 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain for unbypassed Rs is -1.35 .\n",
+ "Voltage gain for bypassed Rs is -4.163 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.16 , Page Number 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is 0.988 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 125.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.17 , Page Number 772"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.18 , Page Number 774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Amplifier voltage gain is 25.0 .\n",
+ "Input resistance is 333.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 30.19 , Page Number 775"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance is 100.0 ohm.\n",
+ "a.c. voltage gain is 3.75 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31.ipynb
new file mode 100644
index 00000000..126965bf
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31.ipynb
@@ -0,0 +1,768 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d946b4e20974bb7fd5e4902d437af75063b363d1aa0f901c0bd5e6ba4e645bca"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32.ipynb
new file mode 100644
index 00000000..8c77bf9a
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32.ipynb
@@ -0,0 +1,578 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e28d0dfe1725c7465598497a45e1887f5beff533f29f03e507976415b4c39259"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 32 , Non-Sinusoidal Oscillators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.1 , Page Number 816"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = 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)\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The upper end point is ic = 50.0 mA.\n",
+ "The lower end point is VCE = 10.0 V.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "<matplotlib.text.Text at 0x7fa0171e9090>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nLDcAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fa017c25d50>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.2 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillation is 362.0 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.3 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time period of oscillation is 0.7 ms.\n",
+ "Frequency of oscillation is 1.42 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.4 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of C1 capacitor is 145.0 pico-Farad.\n",
+ "Value of C2 capacitor is 1304.0 pico-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.5 , Page Number 823"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.6 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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,\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The duty cycle of the waveform at the output (Q) of the monostable multivibrator is 10.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.7 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R3 is 7.246 kilo-ohm and value of C1 is 1.0 nF.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.8 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pulse width is 24.2 micro-second.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.9 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance required is 9.09 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.10 , Page Number 836"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "t1 is 8.05 micro-seconds.\n",
+ "t2 is 3.29 micro-seconds.\n",
+ "Duty cycle is 71.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.11 , Page Number 837"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency is 1.03 kHz.\n",
+ "Duty cycle is 60.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 32.12 , Page Number 838"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33.ipynb
new file mode 100644
index 00000000..20952aec
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33.ipynb
@@ -0,0 +1,769 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b88e00bdc887b46bccde0b5c1e698088588c7e1e1a443af00da9dc108a4d57df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 33 , Wave Shaping"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.2 , Page Number 853"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 * exp(-Tby2/tau) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output peak voltage is \",round(Vc,1),\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output peak voltage is 0.3 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.3 , Page Number 854"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The peak value of input voltage is 10.0 kV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.5 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\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 = linspace(0.001,2,400)\n",
+ "plot(t, 5*sin(2*pi*t))\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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Following graph shows the output.\n",
+ "The part above the line is clipped out.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7fc976c89450>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc977762c10>"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.6 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = linspace(0,11,400)\n",
+ "xlim((0,14))\n",
+ "ylim((0,3))\n",
+ "plot(x,5*sin(x) - 4)\n",
+ "plot(x,(1*x)/x,\"--\")\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"t\")\n",
+ "ylabel(\"Vo\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 5,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc977a42e10>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc97670d3d0>"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.7 , Page Number 862"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = arange(0.001, 2.0, 0.005)\n",
+ "plot(t, 5*sin(2*pi*t))\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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Following is the graph :\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "<matplotlib.text.Annotation at 0x7fc976562750>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4TdfeB/DvITElxFAahISgEiRiaKQ1xBCEmEpLqKqh\nk7daLV7q3r7oVa26WtXpqhYX1VJDaZCackQNDRVjVBQhxhojEWRa7x8rSUVCcsa19znfz/PkIck+\ne/8ce5/fmpdBCCFAREROr5TqAIiISBuYEIiICAATAhER5WJCICIiAEwIRESUiwmBiIgAMCEQ6cKa\nNWtQp04dVKxYEQcPHlQdDjkoJgSyq0WLFqFZs2Zwc3NDzZo1MXr0aKSkpJT49T4+Pti2bZvV4inu\nfE888QRWrFiR//3OnTtRqlSpQj+rVKkScnJyrBbXg8aPH48vv/wSqampCAwMtNl1yLkxIZDdzJ49\nG5MmTcLs2bNx69Yt7NmzB2fOnEFYWBgyMzNLdA6DwQBrzqUs7nwdOnRAbGxs/vexsbFo3LhxoZ89\n9dRTKFXKNo+TEAJnz56Fv7+/Wa+3ZaIiByOI7CAlJUW4u7uLH3/8scDP09LSRPXq1cWCBQuEEEIM\nGzZM/POf/8z/fUxMjPDy8hJCCPH888+LUqVKifLlywt3d3cxa9Yscfr0aWEwGMTXX38tatWqJWrW\nrCn+/e9/57/e1PM9aMmSJaJZs2b53/fo0UMsWrSowM/Cw8PF+++/L4QQYsCAAcLT01N4eHiI9u3b\ni6NHjwohhNizZ4/w9PQUOTk5+a9bvXq1CAgIEEIIkZ2dLT744APh6+srqlWrJp577jlx/fp1cffu\nXeHm5iYMBoNwc3MTDRo0EEIIkZCQIDp06CAqV64smjRpItatW1fg3/zqq6+K8PBw4ebmJrZs2SK8\nvb3FrFmzREBAgHBzcxMjR44Uly5dEt27dxcVK1YUXbp0ETdu3Cj+P5IcGhMC2cXGjRuFi4uLyM7O\nLvS7YcOGicjISCGEEC+++KJ499138393/we4EEL4+PiIrVu35n+flxAGDx4s0tPTxeHDh0X16tXF\nli1bzDrfg5KSkkSpUqXEjRs3RHZ2tqhRo4a4c+eOqFOnTv7PPDw8xI4dO4QQQixcuFCkpaWJjIwM\nMXbsWNG8efP8c/n6+orNmzfnfz9gwAAxc+ZMIYQQc+bMESEhIeL8+fMiIyNDvPLKK/nviRBCGAwG\ncfLkSSGEEBkZGcLX11d88MEHIjMzU2zbtk1UrFhRHD9+PP/99PDwELt27RJCCHH37l3h4+MjQkJC\nxF9//SXOnz8vatSoIVq0aCEOHDgg7t69Kzp16iSmTZv20PeBnAObjMgurl69iscee6zIZhVPT09c\nu3Yt/3thRpPQlClTUL58eTRt2hTDhw/H999/b9H58nh7e6Nu3bqIjY3FwYMH0bBhQ5QrVw5PP/10\n/s8yMjIQHBwMAHjxxRfh5uYGV1dXTJkyBQcPHkRqaioAIDIyMj+u1NRUbNy4EZGRkQCAefPmYfr0\n6ahVq1b+a1euXFlkc8+ePXtw+/ZtTJo0CS4uLujYsSMiIiIK/Jv79u2LkJAQAEDZsmUBAGPGjEH1\n6tVRq1YttGvXDm3atEFgYCDKli2Lfv36IT4+3uz3iRwDEwLZxWOPPYarV68W+QF38eJFPPbYYxad\nv06dOvl/r1u3Li5cuGDR+e7Xvn17xMbGYseOHWjfvj0AoG3btvk/Cw4OhqurK7KzszFp0iQ0aNAA\nHh4eqFevHgwGA65evQpAJoTVq1cjIyMDq1evRsuWLfPjTkpKQr9+/VClShVUqVIF/v7+cHFxweXL\nlwvFc+HChQL/XkAmrrx/s8FgKPR7AHj88cfz/16+fPkC35crVw5paWkWvlOkd0wIZBchISEoW7Ys\nVq1aVeDnaWlpiI6ORufOnQEAbm5uSE9Pz//9pUuXChxvMBiKPP/Zs2cL/L127doWne9+9yeEdu3a\nAQDatWtXKEksW7YM69atw9atW5GSkoLTp09DyGZZAIC/vz+8vb2xceNGLFu2DIMHD86/Rt26dREd\nHY0bN27kf6Wnp6NmzZqF4qlVqxaSk5ML1HzOnDmT/28uKUtqTuSYmBDILjw8PDBlyhSMGTMGv/zy\nCzIzM5GUlITnnnsOderUwdChQwEAzZs3x4YNG3Djxg1cunQJc+bMKXCexx9/HCdPnix0/unTp+PO\nnTs4evQoFi1ahIEDB1p0vvu1b98e+/fvR2xsLJ5++mkAQLNmzXDq1CnExMTkJ4S0tDSULVsWVatW\nxe3btzF58uRC5xo8eDDmzJmDHTt24Nlnn83/+auvvorJkyfnJ7YrV65g3bp1RcbTpk0bVKhQAR99\n9BEyMzNhNBoRFRWFQYMGAeAHPZmPCYHsZsKECZgxYwbGjx8PDw8PtGnTBt7e3ti6dStcXV0BAEOH\nDkVgYCB8fHzQvXt3DBo0qEAp/p133sH06dNRpUoVfPzxx/k/79ChAxo0aIAuXbpgwoQJ6NKli0Xn\nu1/Dhg1Ro0YN1KxZE5UqVQIgaxbBwcFITU3FU089BQB44YUX4O3tjdq1a6Np06YICQkpVAOJjIxE\nbGwsOnfujKpVq+b//M0330Tv3r3RtWtXVKpUCSEhIYiLi8v//f3ncXV1xc8//4yNGzeievXqeP31\n17FkyRI0atQo/9iS1HzuP6akryHHZhAKixM3b97EqFGjcPToURgMBixYsABt2rRRFQ7pUFJSEurX\nr4+srCybzQMgchYuKi/+5ptvokePHli5ciWysrJw+/ZtleEQETk1ZTWElJQUBAUF4dSpUyouTw4i\nKSkJvr6+yMzMZA2ByELKnqDTp0+jevXqGD58OFq0aIGXXnqpwGgQopLw8fFBdnY2kwGRFSh7irKy\nsrB//36MHj0a+/fvh5ubGz788ENV4RAROT1lfQheXl7w8vJC69atAQADBgwolBA46oGIyDzm9AYo\nqyF4enqiTp06SExMBABs2bIFTZo0KXRc3sQefln+NWXKFOUxONIX30++l1r9MpfSUUafffYZhgwZ\ngoyMDPj6+mLhwoUqwyEicmpKE0JgYCD27t2rMgQiIsrFoRlOJDQ0VHUIDoXvp/XwvdQGpTOVi2Pt\n3bGIiJyBuZ+drCEQEREAJgQiIsrFhEBERACYEIiIKBcTAhERAWBCICKiXEwIREQEgAmBiIhyMSEQ\nEREAJgQiIsrFhEBERAAUr3aqZ0IAZ84AyclARgbg7Q3UqweULq06MiLg1i0gMRG4dg2oUQNo0ACo\nWFF1VKR1TAgmSkkB5swBvvsOSE0F6tcHypQBTp0CsrKAyEhg3DigZk3VkZKzEQLYsEHen7/9JpNA\ntWrAX38Bp08DHTsCr78OhIWpjpS0ik1GJli6FGjYUD5c338PXLgA7NwJxMTI2sKWLfKhbNYMmDUL\nyMlRHTE5i9OngQ4dgIkTgREj5L25fz+weTNw8CBw7hzQrx8wejTQsydw/rzqiEmLuPx1CWRkAK++\nCuzaJRNBUNCjjz91CnjhBaBKFWDJEqByZfvESc4pKkomgUmTgDfffHSzZUYGMHMm8NVXwLJlALch\ncEzmfnYyIRTjzh1gwADAxUU2E7m7l+x1GRnA2LHAnj2y5lC1qm3jJOe0dCkwYQLw009AcHDJX7d5\nMzBkCPDtt0CvXraLj9RgQrCBzEygd29Z0v/vfwFXV9NeLwTwv/8rE4LRCHh42CRMclI//ACMHw9s\n2gT4+5v++rg4ICICWLQI6NHD6uGRQkwIViYE8Morsu113TpZQzD3PP/zP7KNNyqKo5DIOn79FXjm\nGVnYCAgw/zy7d8tCz7Ztsu+LHAN3TLOyL7+UIzWWLzc/GQCAwQB8+qmsbUycaL34yHmdPw88+yyw\neLFlyQAAQkLk/dm7N3D1qnXiI/1iDaEIBw7IoXm7d8uhe9Zw/brsjP7qK1bPyXzZ2UCXLkCnTsC7\n71rvvOPGASdPAmvWyEIM6RtrCFZy5w4waBDwySfWSwaA7FRevBgYNUqOCycyx0cfyT8nT7bueWfM\nAJKSgG++se55SV9YQ3jAO+8Af/4J/Pijbc4/aZIclrpihW3OT47rjz+Atm3l/IK6da1//oQEoH17\nID4eqFPH+ucn+2GnshUcOAB07QocOgR4etrmGnfuyM67zz4DwsNtcw1yPDk5cuLZc88BY8bY7jrT\npsnnYM0a212DbI9NRhYSQs7inDHDdskAAMqXlx3Wo0cD6em2uw45lsWL5dyW0aNte51Jk2RNYe1a\n216HtIkJIdeqVbL0PmKE7a/VtSvQqpXspyAqTno68M9/ytFAth62XLYs8MUXspM5I8O21yLtYZMR\n5I3v7w98/bUcvWEPJ0/KmaVHjti2RkL6N306cPiwHAJtLz17ypF2Y8fa75pkPbrtQ8jOzkarVq3g\n5eWFn3/+ucDv7JUQ5syRE3yiomx+qQLGjQPS0oB58+x7XdKPy5eBJk3krOL69e133aNH5eqox4/L\nmfqkL7pNCB9//DF+//13pKamYt26dQV+Z4+EcPMm0KiRXFrCnOn/lrh+Xa6eum+f3EuB6EGvvSb7\nnT7+2P7XHjkSqF0beO89+1+bLKPLTuVz585hw4YNGDVqlLIlKj77TE4Us3cyAOTchFdfBT74wP7X\nJu1LTpbNRP/4h5rr/+MfcgDEzZtqrk/2pzQhvPXWW5g1axZKlVITRlqaTAjvvKPk8gCAt98GVq6U\n+ykQ3W/WLFlKr1ZNzfXr15croX76qZrrk/0pSwhRUVGoUaMGgoKClNUO/vMf2U76xBNKLg9APuwv\nvyzXqCfKc/myXNr67bfVxjF5MvD553KnQHJ8yvoQJk+ejCVLlsDFxQV3797FrVu30L9/fyxevPjv\n4AwGTJkyJf/70NBQhFppR487dwBfXyA62vIFwix15YpMSocOAV5eamMhbZg4Ebh9W34Yq/bCC7Kf\n7Z//VB0JPYzRaITRaMz/ftq0afrsVAaA7du349///rddRxl98QXwyy9yaWstePttuapq3lo15Lxu\n3JDraMXH22aJClMdOyZ3VjtzBihXTnU0VBK67FS+n8GOSyxmZ8tRG5Mm2e2SxRozBliwQPZrkHP7\n+mu5cY0WkgEA+PkBLVvK7WPJsWmihvAwtqohREXJoXS//aatpX779wc6d7b98gSkXVlZsjP3p5+A\nFi1UR/O3TZvkVp0HDmjrmaGi6b6GYE9z58oSudZu7LFj5SS5nBzVkZAqa9fKmoGWkgEgZy1nZgIx\nMaojIVtyuoSQkCA7b597TnUkhbVtC1SsCGzcqDoSUmXuXOCNN1RHUZjB8HeBhRyX0yWEzz+XeyWX\nLas6ksL40Dm3AwfkGlf9+qmOpGjPPy93EfzzT9WRkK04VR/CzZtyiYiEBKBmTaud1qru3ZObk+ze\nLYfFkvMYOVL+n1t7NzRrGj9errjKeTPaptu1jB7F2gnhiy+A2Fj7rhppjnHjgDJluKSFM0lJAby9\ngcREoEYN1dE83PHjcqOes2flPUraxE7lEvjmG7mnsda99BKwcCHXo3cm338vO261nAwAOYHyiSe0\nM3+HrMtpEsL+/XLCT+fOqiMpXuPGcmboA/P0yIHppbACyKVW5s9XHQXZgtMkhG++kW20itbRMxkf\nOudx4ADw119Aly6qIymZ/v2B338HTp9WHQlZm1P0IaSnyzWCDh6UHbZ6cOeOjHXvXu6V4OjGjJGL\nHE6dqjqSkhs7FnB3l7u5kfawD+ERVq0C2rTRTzIA5KYokZFyc3VyXHfuAMuWAcOHq47ENKNGAf/9\nr1wGhhyHUySEBQtkc5HevPACsGQJoN06HFnqp5+AVq3kCCM9adoUqF5d7jRIjsPhE0JyspyZHBGh\nOhLTtWoFuLrKOQnkmJYuBYYOVR2FeYYOlQUWchwOnxC+/x545hltzkwujsEgHzo2GzmmK1eAnTuB\nvn1VR2KeyEi59tLt26ojIWtx+ITw3XfAkCGqozDf888DP/4oZzCTY1mxQu7n7e6uOhLzeHoCISGy\n2Yscg0MnhCNHgOvXgfbtVUdivrp15Y5uUVGqIyFr03thBZD9XKzBOg6HTgjffSertXqZe/AwfOgc\nz6lTcpG4rl1VR2KZPn2AuDjgwgXVkZA16Pyj8uFycuRwvuefVx2J5fr3l6M5btxQHQlZy7Jlcgl2\nV1fVkVimfHmZFFasUB0JWYPDJoSdO4FKlWRzi95VqgR06iQ78Ej/hHCM5qI8AwcyITgKh00IjvTA\nAbI0qfVVWqlk4uPlwoVt2qiOxDq6dJGrtJ49qzoSspRDJoSMDGDlStl/4Ch69QJ27QKuXVMdCVnq\nu++AwYO1t4WruVxd5dDZH39UHQlZyiETwtatcrVQvc3+fBR3d7k88po1qiMhS+TkyA/OgQNVR2Jd\nAweyBusIHDIhrFwJPPus6iisj221+rd3L+DmBjRpojoS6+rYEUhK4gqoeudwCSEzU3a+9u+vOhLr\n69kT+O03OcOV9GnlSmDAAMdpLsrj4iJXBGCBRd8cLiEYjXJf2rp1VUdifRUqAOHhcvVW0h8h/k4I\njojNRvrncAnBkR84gM1GerZ/vyxJO8JQ6KK0by8nqJ04oToSMpdDJYSsLNnp6ojNRXm6d5cfLJcu\nqY6ETOWozUV5SpeW/z4WWPTLoRLCjh1yE5z69VVHYjvly8tmI05S0xdHby7KM2AAsHq16ijIXA6V\nEJzhgQOAfv04/FRvDh2SNdgWLVRHYltt28oJamfOqI6EzOEwCSE7W5ZMHLm5KE94uJyklpKiOhIq\nKUdvLsrj4iInUXJJbH1SmhCSk5PRsWNHNGnSBE2bNsXcuXPNPteuXUCNGnJCmqOrWFF24G3YoDoS\nKglnaS7KwxqsfilNCK6urvjkk09w9OhR7NmzB1988QWOHTtm1rnWrJHjoJ0FHzr9OH4cSE0FnnxS\ndST20aWLXK+J82X0R2lC8PT0RPPmzQEA7u7u8PPzwwUzFlYXQnay9ulj7Qi1q3dvYNMm4O5d1ZFQ\ncdaulf9fjt5clKd8ebnMys8/q46ETKWZPoSkpCTEx8cjODjY5NcePSr7EAIDbRCYRlWvLv+9W7ao\njoSK42yFFYA1WL1yUR0AAKSlpWHAgAH49NNP4f7ABrNTp07N/3toaChCQ0MLvX7dOucqgeXJe+gi\nIlRHQg9z+TKQkAAUcds6tJ49gddeA9LS9LtntJ4YjUYYjUaLz2MQQgjLwzFfZmYmIiIiEB4ejrFj\nxxb4ncFgQEnCCw4G3n9ftl06k6Qk2S598aKcFETa8+23wC+/OOdkrW7dgJdecp7OdC0p6Wfng5Q2\nGQkhMHLkSPj7+xdKBiWVN1W+QwcrB6cDPj5A7dpydzjSJmdsLsrDZiP9UZoQdu7ciaVLlyImJgZB\nQUEICgpCdHS0SeeIipLLOeh9b1pz9evHMd9alZ4uF1sMD1cdiRp9+sih0ZmZqiOhklLah9C2bVvk\n5ORYdI61a4EXXrBSQDrUu7fc+2H2bOfrQ9G6zZuBVq2AqlVVR6JGzZpAw4ZySZlOnVRHQyWhmVFG\n5khLkzdb9+6qI1EnMFAOPT1+XHUk9CBnbi7K06sXh5/qia4TwqZNcqNyDw/VkahjMMhRRlFRqiOh\n+2Vny/+T3r1VR6JWRIRMCGqHrlBJ6TohsAQmsRSmPXv2AJ6eQL16qiNRq3lz4N491mD1QrcJISsL\nWL9efhg6u06dgAMHgOvXVUdCeVhYkfJqsCyw6INuE8KuXXKbTEfcKtNU5crJiU8mDtAiG8qbLEls\n0tQT3SYEPnAFsdlIOxIT5WJ2LVuqjkQbWIPVD90mBDYXFdSzp5wRyzHf6kVFyf+PUrp9uqyrfHlZ\ng924UXUkVBxd3rKnTgE3bwJBQaoj0Y6aNQFfX85a1oING4AePVRHoS1sNtIHXSaEDRvk7E+WwApi\ns5F6qanAb78537paxYmIYA1WD3T5kbp+PUtgRWFCUG/zZiAkhCt8PiivBvvrr6ojoUfRXUJIT5c3\nVViY6ki0p3lz+f4kJqqOxHlt2CD7D6gwNhtpn+4SQkyMXB/GmWcnPwzHfKslBPsPHoU1WO3TXUJg\nc9Gj8aFTJz5eNhU1bKg6Em0KCgJu3+asZS3TVUJgCax4HTsC+/cDKSmqI3E+bC56NINBPrscfqpd\nukoICQnyT39/tXFoWYUKwNNPc69lFVh7LV6PHjJxkjbpKiHk1Q647v+jhYfzobO3K1dkgaV9e9WR\naFvnzsDu3bLpiLRHdwmBVfLi5VXLueSw/URHyyUaypZVHYm2VaoEtG4NbNumOhIqim4SQkoKsG+f\nbCOnR2vQQHZuHjyoOhLnwb6tkmOzkXbpJiFs3gy0bSvbyKl4fOjsJytLzsJlQiiZvHuTNVjt0U1C\nWL+ezUWmYEKwn927AW9voHZt1ZHog5+f7Ac8dkx1JPQgXSSEnBzZJs4SWMm1bw8cOgTcuKE6EsfH\n5iLTGAwc+KBVukgI8fFAlSpA/fqqI9GPcuWADh3kvtNkW6y9mo41WG3SRULg+G7z8KGzvbNngQsX\ngOBg1ZHoS6dOwN69wK1bqiOh++kiIbBKbp7wcNnUlpOjOhLHtXEj0L07ULq06kj0xc0NeOopYOtW\n1ZHQ/TSfEK5cAf74A2jXTnUk+uPjAzz2GPD776ojcVysvZqP/Qjao/mEkDfhp0wZ1ZHoE9eOsZ27\ndwGjEejWTXUk+sThp9qj+YTA2cmWYT+C7cTGAs2aAdWqqY5Enxo2lPstHzqkOhLKo/mE8MsvsmpJ\n5mnbVja5XbmiOhLHw74ty3D1U+1RmhCio6PRuHFjNGzYEDNnzizyGG9voFYtOwfmQMqUkct9/PKL\n6kgcDxOC5diPoC0lSghr167FuHHjMG7cOPxspd1XsrOz8frrryM6OhoJCQn4/vvvcayIqYtsLrIc\nm42s788/gbQ0uW0pmS80VM4z4gRKbSg2IUyaNAlz585FkyZN4O/vj7lz5+Kdd96x+MJxcXFo0KAB\nfHx84OrqikGDBmHt2rWFjmMJzHLh4XKCWna26kgcx8aN8n3lUuyWKV9ezqrfvFl1JASUICGsX78e\nmzZtwogRIzBy5EhER0cjygo7ZZ8/fx516tTJ/97Lywvnz58vdBwn/FjOy0uusxMXpzoSx7FhA/u2\nrIX9CNrhUtwBBoMBN2/eRLXcoRQ3b96EwQrFopKe41//mpr/99DQUISGhlp8bWeU11YbEqI6Ev1L\nTwd+/RX44QfVkTiG8HDgX/+SEyhLaX6YizYZjUYYjUaLz/PQhDB69GgMHjwYkydPRosWLdCxY0cI\nIbB9+3Z8+OGHFl+4du3aSE5Ozv8+OTkZXl5ehY6bOnWqxdciWQp76y354JFlYmKAli0BDw/VkTiG\n+vWBypVlX0LLlqqj0ae8wrIQsml42rRpZp3noQmhUaNGmDBhAi5cuIAuXbrA29sbzZs3x8yZM+Hp\n6Wl24HlatWqFEydOICkpCbVq1cLy5cvx/fffW3xeKlpICHDqFHDpEmCF/z6nxpV3rS9v4AMTgmUS\nEoChQ81//UMraGPHjsXu3buxfft2NGzYEKtXr8aECRMwb948JCYmmn/FXC4uLvj888/RrVs3+Pv7\nY+DAgfDz87P4vFQ0V1cgLEzO/CbzCSGXq2D/gXVxJJx1bNgAtGlj/usNQpR84nh8fDyGDx+Ow4cP\nI9sOQ1YMBgNMCI+KsWiRvGFWrFAdiX798YdMrGfPcoSRNd27B9SoAZw8KdffIvN07AiMGwf06mXe\nZ2exXThZWVlYt24dBg8ejO7du6Nx48ZYvXq1WcGSWt27y+F9mZmqI9GvvMloTAbWVbasnJPA/TvM\nd+uWXMjSkn3nH5oQ8oaa1q5dG/Pnz0dERAROnjyJH374AX369DH/iqSMp6fswNu1S3Uk+sX+A9vp\n0UM2x5F5tmyRS4q7uZl/joc2GXXq1AmRkZHo378/qlatav4VLMAmI+t7910gIwN4yEoh9AhpaUDN\nmsDFi4C7u+poHM/Zs0CLFsDly9xfwhyjRgEBAcAbb5j/2WlSH4K9MSFY3549wEsvAYcPq45Ef9au\nBT77TJbEyDYCAoB58zhfxlRCyMmnsbFAgwbmf3ZyGoiTad1aDj09e1Z1JPrDxexsr2dPNhuZ4+BB\nWWtt0MCy8zAhOJnSpWXnMh860wjB/gN7YD+CeaxVWGFCcEI9e3LMt6mOHgVcXIAnnlAdiWMLCZG1\n1yKWNaNHYEIgs3XrBmzfDty5ozoS/eBwU/twcQG6duVid6a4fl3uOte+veXnYkJwQlWqAIGBcj9g\nKhmubmo/bDYyzaZNQIcOQLlylp+LCcFJsdmo5FJSgP37LZvwQyXXvTuwbZucvUzFs+ZgByYEJ5U3\nmoOjeou3ZQvw9NNAhQqqI3EO1asD/v7Ajh2qI9G+nBy5Ppm1aq9MCE6qaVO5hMUff6iORPs43NT+\n2GxUMvv2yQTq42Od8zEhOCmDgc1GJZE33JT9B/bF+QglY+3CChOCE+NDVzxrTfgh0wQFyaVCTpxQ\nHYm2MSGQ1XTqBOzdKztNqWhsLlLDYPh721cq2l9/AYmJsn/LWpgQnJibm7yZuDbPw0VFyZoU2R9r\nsI+2YQPQpQtQpoz1zsmE4OT40D3cX3/JLQk7dFAdiXPq0gXYvVs2HVFhP/8M9Opl3XMyITi5vK0L\nc3JUR6I9tiiBUclVqgQ8+SSwdavqSLTn3j1Zs7f2YAcmBCfn6wtUrgzEx6uORHuioqxfAiPTsAZb\ntO3bgSZN5Laj1sSEQHzoimCrEhiZJm9oNCdQFmSL5iKACYHASUBF2b5dzpa1dgmMTNOokdxv+dAh\n1ZFohxAyIUREWP/cTAiEdu2A48dlJypJbC7ShrwJlFFRqiPRjqNH5Z9Nm1r/3EwIhDJlgLAwPnR5\nbFkCI9P16iX/P0jKay6yxVLsTAgEAOjTB1i3TnUU2nD0qEwKtiiBkek6dJA12IsXVUeiDbYsrDAh\nEADZj7BtG5CerjoS9aKi5APHzXC0oUwZuSQ2awnAlSuywBIaapvzMyEQAKBqVaBlS85aBmw3goPM\n17s3a7D+XevLAAAVeUlEQVTA33Njypa1zfmZECgfm41kCezIEduVwMg84eFAbCxnLdu6b4sJgfL1\n7i1vuOxs1ZGos3Ej0Lmz7UpgZJ7KlYHgYGDzZtWRqJORIWvwtlxbS1lCmDBhAvz8/BAYGIhnnnkG\nKVxyU7n69eW4+99+Ux2JOmwu0q7evYG1a1VHoc727YCfn23nxihLCF27dsXRo0dx8OBBNGrUCB98\n8IGqUOg+ztxsdPeuLIFydVNt6t1bTqDMylIdiRo//STfA1tSlhDCwsJQqpS8fHBwMM6dO6cqFLpP\nnz7OWwrbsgUICODsZK3y9ga8vOQKqM4mJ0cmhH79bHsdTfQhLFiwAD24C4kmtGwpN8xJTFQdif2t\nWWP7B44s46zNRnv3ytVfGze27XVcbHnysLAwXLp0qdDPZ8yYgV65DbXvv/8+ypQpg8GDBxd5jqlT\np+b/PTQ0FKEc/mFTpUr9PcRv/HjV0dhPVpb8N7/7rupI6FH69AEGDgRmzXKueSLF1Q6MRiOMRqPF\n1zEIoW4dwUWLFmH+/PnYunUrypUrV+j3BoMBCsNzWhs3AjNmADt2qI7EfrZvB8aO5TLgWicEULcu\nsGmT7GB1Fo0bA0uWAK1bl+x4cz87lTUZRUdHY9asWVi7dm2RyYDU6dhRri555YrqSOyHzUX6YDA4\nX7PRsWPA7dtAq1a2v5ayhDBmzBikpaUhLCwMQUFBGD16tKpQ6AHlygFduzrPaCMhmBD0pG9f+f/l\nLNaskf9mezSRKW0yKg6bjNT54Qdg8WI5Vd7RxccDzz4LnDjhXO3SepWZCdSsCezfL5uPHF3r1sDM\nmUCnTiV/je6ajEjbevYEdu4EbtxQHYnt5dUOmAz0wdVVdi6vXq06EttLTgZOnQLat7fP9ZgQqEgV\nK8oSiTOsMJlXJSf9GDAAWLlSdRS2t3atXLvIxabjQf/GhEAP5QwP3YkTsvO8TRvVkZApOncGEhKA\n8+dVR2Jbq1fbt2+LCYEeKiICMBqBW7dUR2I7y5fLxFe6tOpIyBRlysg1pxy5c/nSJdm/1b27/a7J\nhEAP5eEhd6ty5K01V6yQE51IfwYMAH78UXUUtrNqlSyU2XNUPhMCPVKXLpfwv/87CA0aNECrVq3Q\ns2dPnDhxAklJSWjWrBkAYN++fXjzzTfNvkbPnj1xywrVkPtjKoljx4Br14Cnn7beOcl+wsKAgwdl\nSdoRLV8OPPecfa9pp64K0iMhBJYu7Ydr14bjypUf4O4OHDp0CJcvX4aXl1f+ca1atUIrC2bNrF+/\n3hrhmmzFCjnctBSLRbpUrpwcDbdmDfDaa6qjsa7z5+VGTV272ve6fBTooWJiYlChQhmEhr6cPx8h\nICAAbdu2LXCc0WjMX5tq6tSpGDp0KJ566ik0atQI33zzTf4x7du3R0REBBo3bozXXnstf5y0j48P\nrl+/jqSkJPj5+eHll19G06ZN0a1bN9y9excAsHfvXgQEBCAoKAgTJkwottSenZ2NCRMm4Mknn0Rg\nYCC+/vprAEBkZCQ2bNgAIWQJ7MSJF7F69Wrk5OQUeTxpm6MOfFi5Ug6ttfdGTUwI9FBHjhxBy5Yt\nMWCALE2b8rqYmBjs3r0b7733Hi5evAhAfqh//vnnSEhIwMmTJ7E6dyC54b4JAH/++Sdef/11HDly\nBJUrV8aqVasAAMOHD8f8+fMRHx8PFxeXAq8pyrfffovKlSsjLi4OcXFxmD9/PpKSkjBw4ECsWLEC\nR48CqakZOHx4G3r27IlvvvmmyONJ27p3B37/Hbh8WXUk1rVihf2biwAmBHqEvA/dZ56RG8eUZFM7\ng8GAPn36oGzZsqhWrRo6duyIuLg4GAwGPPnkk/Dx8UGpUqUQGRmJX3/9tdDr69Wrh4CAAABAy5Yt\nkZSUhJSUFKSlpSE4OBgAMHjw4GJnYW7atAmLFy9GUFAQ2rRpg+vXr+PPP/9EeHg4YmJisGxZBlq2\n3IgOHTqgbNmyDz2etK18ednxuny56kisJzkZOH4c6NLF/tdmHwI9VJMmTbBy5UpUqSInqa1aBYwY\nYfp58jZCur9UL4TI//n9yt5XRy5dujTu3LlT6JiSTsn//PPPERYWVujnoaGhWLToFwQErMCoUZGP\nPJ61BO0bMgSYOhV44w3VkVjHihVyoqSrq/2vzRoCPVSnTp1w7949zJ8/H0OGAN99JzuViyrZ5xFC\nYO3atbh37x6uXbsGo9GI1q1bQwiBuLg4JCUlIScnB8uXLy/UF/EwHh4eqFixIuLi4gAAP/zwQ7Gv\n6datG7788ktk5e63mJiYiPT0dABAq1YDkZKyAAkJO9A9d5D3o44nbQsLA5KS5CRDR6ByKDQTAj3S\nmjVrsGXLFkyc2ABGY1OMG/cP1KxZE0DBEn/e3w0GAwICAtCxY0eEhITg//7v/+Dp6QkAaN26NV5/\n/XX4+/vD19cX/XKnYBZ1nge///bbb/HSSy8hKCgI6enp8PDwKDLevONHjRoFf39/tGjRAs2aNcNr\nr72W/2F/9mxX5OTEIiwsDC65awIUdXx2dnaRMZG2uLjID9Bly1RHYrmTJ4HTp+US9CpwtVMqsREj\ngCZNgHHjHn7MtGnT4O7ujnEPHGQ0GjF79mz8bObiSLdv34abmxsA4MMPP8Tly5fxySefmHye7Gy5\nN290NNC0qVmhkAb99hswdKhse9dz/p42Dbh+Hfj0U8vOY+5np+b7EAzTCv/vTukwBVNDpxb6+VTj\nVEzbPo3H2+p4bwBpQKrxEccbpwFlgPFpf++/OaXDFHQ0dCxU0jYlnvXr1+PNf7yJS7cuAZUB9AXm\nTJtj1r/Xs90UNG1a8uM18/7z+EcfPwQo9Z6G4jHz+JeCpwCw/PzmYA2BSiw7W64/v3kz4O+vOhrz\nDBsGBAXJ7TLJsUyZIkfCzZmjOhLz7NoFjBoFHD1qeS2H+yGQzZUuDURGys5lPbp9Wy4nHBlZ/LGk\nP0OGyI2dcruKdGfxYtnspbLJiwmBTDJkiOy8y8lRHYnp1qyR6xY9/rjqSMgWGjWSNditW1VHYrp7\n9+RCfUOGqI2DCYFM0ry53Dxn+3bVkZhuyRJZAiPHNWwYsHCh6ihMFxUFBAaq3xKUCYFMYjDIds7c\nJYp0IzkZ2LcP6N1bdSRkS4MHyxFk166pjsQ0CxcCL7ygOgomBDLD888D69fL4XF6sWCB7DuoUEF1\nJGRLVarIpSyWLlUdScklJwO7d6tZu+hBTAhksqpVgR499NO5nJ0tazQvvaQ6ErKHvBqsXgYoLlgA\nDBqkjcIKEwKZZeRI/Tx00dFArVqyjZYcX4cOwN27QO5KJ5qWnQ18+y3w8suqI5GYEMgsHTsCqaly\n6WGt+/pr1g6cicEgZ9XroZ/rl18AT0/tFFY4MY3MNmMGcOqUth+88+flEhXJyYC7u+poyF4uXpTL\nrJw+LfcG16p+/eSub6NGWfe85n52MiGQ2f76C3jiCeDPP4Fq1VRHU7T33pNJYd481ZGQvQ0aBISE\nABZs921T588DzZoBZ89av7DChEBKvPgi4OcHTJyoOpLC7t0DfHzkUhtcyM757Nolh3ImJmpz3+zJ\nk+XseUsXsisKl64gJcaMAb78UpvLBaxYIRMBk4FzCgkBKlcGNm5UHUlh6enA/Pny+dESpQlh9uzZ\nKFWqFK7raUA7FdCyJeDlBaxbpzqSgoQAPvmEi9g5M4NB7qL22WeqIyls6VLgqaeABg1UR1KQsoSQ\nnJyMzZs3w9vbW1UIZCVafOh+/RVISwPCw1VHQioNHAjExwN//KE6kr8JIVdk1WJhRVlCePvtt/HR\nRx+pujxZ0TPPyI7lvXtVR/K3OXNkZ6IW247JfsqWBV59FZg9W3Ukf9u0Se6XHBqqOpLClDwua9eu\nhZeXFwICAlRcnqzM1RWYMEEOQ9WCxEQgNlYudEb0xhvAqlVy6LEWfPQR8NZb2tzZzWajjMLCwnDp\n0qVCP3///fcxY8YMbNq0CZUqVUK9evWwb98+VCti3CJHGelHejpQvz6wZYv6Ttxhw2Tb7Lvvqo2D\ntGP8eCAz0zYjekzx669y5NPx47IgZSu6GXZ65MgRdO7cGRVyF+44d+4cateujbi4ONSoUaNgcAYD\npkyZkv99aGgoQrVYzyIAwMyZwKFDatc4+vNPoE0buVm5lickkX3lTVQ7dkztfhjdugHPPmv9iWhG\noxFGozH/+2nTpukjITyoXr16+P3331G1atVCv2MNQV9u3QJ8feXKjapGTwwfDnh7A1Onqrk+adfo\n0UClSsCHH6q5/p49spP7xAmgTBnbXks3NYQH1a9fH/v27WNCcBBTp8rlLBYvtv+1T50CWreWtYQq\nVex/fdK2pCQ5TDohQU0toUcPuR/Hq6/a/lq6TQiPwoSgP6mpcivD9euBFi3se+1hw2Tt4L337Htd\n0o+xY4GMDDmZ0p527pT7cZw4IUc+2RoTAmnGf/4jZwlv3Wq/kRT798tFwhIT5RafREW5dg1o3FiO\nQvPzs881hZCzpv/nf+y3hSuXriDNGDVKduJt2GCf6wkhR5FMmcJkQI9WrZpcd8uea28tXy5HOA0Z\nYr9rmosJgazOxUWOtZ4wQT4ItrZmDXD5svVHbpBjev114PBhICbG9tdKS5PJZ/ZsfUyS1EGIpEcR\nEUDdurafIXrrlpx49NVXMhERFadcOXlfjh4td1azpalTgfbttTkruSjsQyCbOX1ajvrZvRto2NA2\n13jjDTkpTsub9JA2PfOMnERpq0EIBw4AXbsCR44AD0yxsjl2KpMmffIJsHo1YDQCpUtb99xbt8pZ\nn4cOaXeDHtKuCxeA5s3lNpZBQdY99927sjA0bpzcM8Te2KlMmvTGG3ISzvTp1j3vtWvyQVu4kMmA\nzFOrFjB3rpwslppq3XNPmiRHM+ltPS3WEMjmLlyQE4K++w7o1Mny82Vnywk+TzwBfPyx5ecj5zZy\npNxdb8kS6wyTXr1aznc4cAAoYr6tXbCGQJpVq5bcECQyUi7qZamJE2WVfOZMy89FNHeuXOPIGqv1\nxscDr7wC/PSTumRgCSYEsovOnYEPPpDT98+fN/88H38sd2f78UfbrhZJzsPNDYiKAr7+Gvjvf80/\nz/HjQK9ecsSbvWfpWwsH6pHdjBgh2/7btZMdwvXqlfy1QgCzZsmHNiZGn6Uv0q6aNYHoaDkq6O5d\nWco3xbFjQFgY8K9/AQMG2CZGe2BCILuaMEGWyJ56SpbGunYt/jV37gCvvQb8/rscreTlZfMwyQn5\n+cn7q2tX+QE/c2bJ1h1as0YmkNmz7bc0ha2wyYjsbvRoYNkyWWN4+WXg3LmijxNCtsUGBMgZz3v2\nMBmQbfn6yq1gz5yRw0Y3bpT3YVHOnJH9Ym+9JZuc9J4MAI4yIoWuX5dLXMybJ2sMnTvLDuj0dFlC\nW7VKrk300UdyYxEiexFCjhZ691058qhXLzmqrXx5mQi2bpWJ4803/671agknppFupaTIktjOnXJN\novLl5QY7ERFy4pAW954l55CTA8TFyYUaz54Fbt+WS6wHB8vVdXM3ftQcJgQiIgLAeQhERGQhJgQi\nIgLAhEBERLmYEIiICAATAhER5WJCICIiAEwIRESUiwmBiIgAMCEQEVEuJgQiIgLAhEBERLmYEIiI\nCIDChPDZZ5/Bz88PTZs2xcSJE1WFQUREuZQkhJiYGKxbtw6HDh3CkSNHMH78eBVhOB2j0ag6BIfC\n99N6+F5qg5KE8NVXX+Gdd96Ba+4u6dWrV1cRhtPhQ2ddfD+th++lNihJCCdOnEBsbCzatGmD0NBQ\n7Nu3T0UYRER0HxdbnTgsLAyXLl0q9PP3338fWVlZuHHjBvbs2YO9e/fiueeew6lTp2wVChERlYRQ\noHv37sJoNOZ/7+vrK65evVroOAD84he/+MUvM77MYbMawqP07dsX27ZtQ4cOHZCYmIiMjAxUq1at\n0HGC22cSEdmNkj2VMzMzMWLECBw4cABlypTB7NmzERoaau8wiIjoPkoSAhERaY8mZipHR0ejcePG\naNiwIWbOnFnkMW+88QYaNmyIwMBAxMfH2zlCfSnu/TQajfDw8EBQUBCCgoIwffp0BVHqw4gRI/D4\n44+jWbNmDz2G92bJFPde8r40TXJyMjp27IgmTZqgadOmmDt3bpHHmXR/mtXzYEVZWVnC19dXnD59\nWmRkZIjAwECRkJBQ4Jj169eL8PBwIYQQe/bsEcHBwSpC1YWSvJ8xMTGiV69eiiLUl9jYWLF//37R\ntGnTIn/Pe7PkinsveV+a5uLFiyI+Pl4IIURqaqpo1KiRxZ+dymsIcXFxaNCgAXx8fODq6opBgwZh\n7dq1BY5Zt24dhg0bBgAIDg7GzZs3cfnyZRXhal5J3k+AHfYl1a5dO1SpUuWhv+e9WXLFvZcA70tT\neHp6onnz5gAAd3d3+Pn54cKFCwWOMfX+VJ4Qzp8/jzp16uR/7+XlhfPnzxd7zLlz5+wWo56U5P00\nGAzYtWsXAgMD0aNHDyQkJNg7TIfBe9N6eF+aLykpCfHx8QgODi7wc1PvTyXDTu9nMBhKdNyDJYeS\nvs7ZlOR9adGiBZKTk1GhQgVs3LgRffv2RWJioh2ic0y8N62D96V50tLSMGDAAHz66adwd3cv9HtT\n7k/lNYTatWsjOTk5//vk5GR4eXk98phz586hdu3adotRT0ryflasWBEVKlQAAISHhyMzMxPXr1+3\na5yOgvem9fC+NF1mZib69++P559/Hn379i30e1PvT+UJoVWrVjhx4gSSkpKQkZGB5cuXo3fv3gWO\n6d27NxYvXgwA2LNnDypXrozHH39cRbiaV5L38/Lly/mlhri4OAghULVqVRXh6h7vTevhfWkaIQRG\njhwJf39/jB07tshjTL0/lTcZubi44PPPP0e3bt2QnZ2NkSNHws/PD/PmzQMAvPLKK+jRowc2bNiA\nBg0awM3NDQsXLlQctXaV5P1cuXIlvvrqK7i4uKBChQr44YcfFEetXZGRkdi+fTuuXr2KOnXqYNq0\nacjMzATAe9NUxb2XvC9Ns3PnTixduhQBAQEICgoCAMyYMQNnz54FYN79yYlpREQEQANNRkREpA1M\nCEREBIAJgYiIcjEhEBERACYEIiLKxYRAREQAmBCITJaSkoKvvvpKdRhEVseEQGSiGzdu4Msvv1Qd\nBpHVMSEQmWjSpEk4efIkgoKCMHHiRNXhEFkNZyoTmejMmTOIiIjA4cOHVYdCZFWsIRCZiGUoclRM\nCEREBIAJgchkFStWRGpqquowiKyOCYHIRNWqVcPTTz+NZs2asVOZHAo7lYmICABrCERElIsJgYiI\nADAhEBFRLiYEIiICwIRARES5mBCIiAgAEwIREeViQiAiIgDA/wNNoC5QZ1yiUwAAAABJRU5ErkJg\ngg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc9765e5910>"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.8 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = arange(0.001, 2.0, 0.005)\n",
+ "plot(t, 5*sin(2*pi*t))\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')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Following is the output :\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 7,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc9764d7950>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc976580a50>"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.9 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = arange(0.001, 2.0, 0.005)\n",
+ "plot(t, 10*sin(2*pi*t))\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')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output waveform is as follows :\n",
+ "The parts below and above the clipping levels are clipped off.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 8,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc97640e890>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEZCAYAAACJjGL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVWX+B/DPRXABFXdUQEnBEEXETMUVBFTMNS2BNFPr\nV+O0zuRPc2rEfuZSOeM4LdPYOlmuaWoGqShiKtkkmktlOeKCS5qoIBrb8/vjGUhku9x77n3OOffz\nfr18JXA55+vtnPs9z/Z9LEIIASIioiq4qQ6AiIj0jYmCiIiqxURBRETVYqIgIqJqMVEQEVG1mCiI\niKhaTBREBrZ+/Xr4+/ujUaNGOHjwoOpwyKSYKEgX3n//fYSGhsLLywtt2rTB9OnTcfXqVat/PyAg\nANu3b9csnpqOd+edd2L16tVlX+/evRtubm4Vvte4cWOUlJRoFtftnn32WbzxxhvIzc1FWFiYw85D\nro2JgpRbvHgxZs2ahcWLF+PatWvIyMjAyZMnERsbi8LCQquOYbFYoOXa0ZqON2jQIKSnp5d9nZ6e\njuDg4Arf69u3L9zcHHObCSFw6tQphISE2PT7jkxgZDKCSKGrV6+Khg0bijVr1pT7fl5enmjZsqV4\n9913hRBCTJ48WTz//PNlP9+xY4fw8/MTQggxceJE4ebmJho0aCAaNmwoXnnlFXHixAlhsVjEP//5\nT9G2bVvRpk0b8eqrr5b9fm2Pd7sPP/xQhIaGln09fPhw8f7775f7XlxcnHjppZeEEEKMHz9etG7d\nWnh7e4uBAweKI0eOCCGEyMjIEK1btxYlJSVlv7du3TrRrVs3IYQQxcXFYsGCBaJjx46iefPm4v77\n7xeXL18WN2/eFF5eXsJisQgvLy8RGBgohBDi6NGjYtCgQaJJkyaiS5cuYuPGjeX+zY899piIi4sT\nXl5eYtu2baJ9+/bilVdeEd26dRNeXl5i2rRp4vz582LYsGGiUaNGIiYmRuTk5NT8P5JMjYmClEpO\nThbu7u6iuLi4ws8mT54sEhIShBBCPPTQQ+KFF14o+9mtH+xCCBEQECBSU1PLvi5NFImJiSI/P18c\nOnRItGzZUmzbts2m490uKytLuLm5iZycHFFcXCxatWolbty4Ifz9/cu+5+3tLXbt2iWEEOK9994T\neXl5oqCgQDz99NOie/fuZcfq2LGj2Lp1a9nX48ePF4sWLRJCCLFkyRIREREhsrOzRUFBgXj00UfL\n3hMhhLBYLOL48eNCCCEKCgpEx44dxYIFC0RhYaHYvn27aNSokfjhhx/K3k9vb2+xZ88eIYQQN2/e\nFAEBASIiIkL8/PPPIjs7W7Rq1Ur06NFDHDhwQNy8eVMMHjxYzJ07t8r3gVwDu55IqUuXLqFFixaV\nds+0bt0av/zyS9nXwoaupTlz5qBBgwbo2rUrpkyZghUrVth1vFLt27dHu3btkJ6ejoMHDyIoKAj1\n69dHv379yr5XUFCA3r17AwAeeugheHl5wcPDA3PmzMHBgweRm5sLAEhISCiLKzc3F8nJyUhISAAA\nvPXWW5g3bx7atm1b9rtr166ttNsoIyMD169fx6xZs+Du7o6oqCiMGDGi3L95zJgxiIiIAADUq1cP\nAPDEE0+gZcuWaNu2LQYMGIA+ffogLCwM9erVw9ixY5GZmWnz+0TmwERBSrVo0QKXLl2q9IPv3Llz\naNGihV3H9/f3L/t7u3btcPbsWbuOd6uBAwciPT0du3btwsCBAwEA/fv3L/te79694eHhgeLiYsya\nNQuBgYHw9vbGHXfcAYvFgkuXLgGQiWLdunUoKCjAunXrcNddd5XFnZWVhbFjx6Jp06Zo2rQpQkJC\n4O7ujgsXLlSI5+zZs+X+vYBMaKX/ZovFUuHnAODj41P29wYNGpT7un79+sjLy7PznSKjY6IgpSIi\nIlCvXj188skn5b6fl5eHlJQUREdHAwC8vLyQn59f9vPz58+Xe73FYqn0+KdOnSr3d19fX7uOd6tb\nE8WAAQMAAAMGDKiQPD7++GNs3LgRqampuHr1Kk6cOAEhu30BACEhIWjfvj2Sk5Px8ccfIzExsewc\n7dq1Q0pKCnJycsr+5Ofno02bNhXiadu2LU6fPl2upXTy5Mmyf7O17GlpkTkxUZBS3t7emDNnDp54\n4gl88cUXKCwsRFZWFu6//374+/tj0qRJAIDu3bvj888/R05ODs6fP48lS5aUO46Pjw+OHz9e4fjz\n5s3DjRs3cOTIEbz//vuYMGGCXce71cCBA7F//36kp6ejX79+AIDQ0FD85z//wY4dO8oSRV5eHurV\nq4dmzZrh+vXrmD17doVjJSYmYsmSJdi1axfuu+++su8/9thjmD17dlnCu3jxIjZu3FhpPH369IGn\npydefvllFBYWIi0tDZ999hni4+MBMAGQ7ZgoSLkZM2Zg/vz5ePbZZ+Ht7Y0+ffqgffv2SE1NhYeH\nBwBg0qRJCAsLQ0BAAIYNG4b4+PhyT/3PPfcc5s2bh6ZNm+Ivf/lL2fcHDRqEwMBAxMTEYMaMGYiJ\nibHreLcKCgpCq1at0KZNGzRu3BiAbIn07t0bubm56Nu3LwDgwQcfRPv27eHr64uuXbsiIiKiQosl\nISEB6enpiI6ORrNmzcq+/9RTT2HUqFEYMmQIGjdujIiICOzbt6/s57cex8PDA5s2bUJycjJatmyJ\nxx9/HB9++CE6depU9lprWkq3vsba3yFzswg+ZpAJZWVloUOHDigqKnLYOgYiV8E7iIiIqsVEQabF\nLhMibbDriYiIqsUWBRERVctddQC2YJcCEZFtbOlEMmyLonTBEv/Y/2fOnDnKYzDTH76ffD/1+sdW\nhk0URETkHEwURERULSYKQmRkpOoQTIXvp7b4fqqndHrs1KlTsXnzZrRq1QqHDh0CAFy+fBkTJkzA\nyZMnERAQgNWrV6NJkyblfk/r3cyIiFyBrZ+dSlsUU6ZMQUpKSrnvLVy4ELGxsTh27Biio6OxcOFC\nRdERERGggwV3WVlZGDlyZFmLIjg4GDt37oSPjw/Onz+PyMhIfP/99+V+hy0KIqLaM2SLojIXLlwo\n2zjFx8en0g1aiIjIeXS94M6IJY737wc++0z+t6gIaNoUGDgQGD0aaNVKdXTkynJygDVrgL17gfPn\ngXr1gO7dgeHDgV69VEdHeqa7RFHa5dS6dWucO3cOrar4dE1KSir7e2RkpPKZEQcOAM88Axw/DsTH\nAw88ADRoIG/I7duBWbOAKVOAP/8Z+O/WBUROcf06kJQEvPMOMGQIEBkJtGsH5OcD+/YBCQmAvz/w\n8stMGGaTlpaGtLQ0+w8kFDtx4oTo2rVr2dczZswQCxcuFEIIsWDBAjFz5swKv6ODsMuUlAixaJEQ\nLVsKsWyZEAUFlb/uzBkhpk4VomNHIb7+2rkxkuvav1+IoCAhHnhAXoOVKSwU4t13hWjVSoj584Uo\nLnZujOQ8tn52Kv3EjY+PF23atBEeHh7Cz89PvPvuu+KXX34R0dHRIigoSMTGxoqcnJwKv6eXRFFU\nJMSjjwpx111CnDpl3e+sXi2TSkqKY2MjSk2V19qKFda9/tQpISIihJg8WV7bZD62fnYqn/VkCz3M\nehICmDoVOHkS2LABaNTI+t/dvRsYOxb44AMgLs5xMZLr2rEDmDABWL1adjVZKz9fjqe1bAksXw5w\nc0BzsfWzk4nCRnPnAps3A2lpgKdn7X9/7155Q6amAqGhmodHLuzoUSAqCli5Uv63tm7elGMZ/fsD\n8+drHx+pY5rpsUbwySfA++8DmzbZliQAICICWLIEGDUKuHRJ0/DIhV29CowcCbzyim1JAgDq15fX\n+MqVwMcfaxsfGRNbFLV06hRw990ySWgxQ+SPfwSysoC1awGDzQQmnRECSEwEmjQB3nzT/uN9+y0Q\nHQ189RXQoYP9xyP12KJwgpISYOJE+eGu1TTC+fOBn36SLRQieyxfDhw6BPzlL9ocr1s34LnngEmT\n5Jogcl1sUdTCW28B//oXsGuXtoN8hw/LboKDB4G2bbU7LrmOixeBrl2B5GSgRw/tjltSAsTEACNG\nAH/4g3bHJTU4mO1g587JJ6wdO+QNqbU//Qk4cYJ9wmSbyZOBFi2AxYu1P/axY0DfvvJBxtdX++OT\n8zBRONikSfImcVQx2/x8oEsX4O23Zb8wkbV27ZKVAI4eBRo2dMw5XnhBJoxVqxxzfHIOJgoH2r9f\nNr1/+KF26yVqa/16WWohM5Pz18k6QgB9+gBPPimThaPcuAHceaecCdW3r+POQ47FwWwHEQKYMQOY\nM8exSQIAxowBvLzY/UTWW71aDjQnJDj2PA0aAC++CMycKe8Jci1MFDXYsgU4exaYNs3x57JYgEWL\ngOefB3791fHnI2MrLARmzwZefdU5LdBJk2QF2k2bHH8u0hcmimoIIbuCkpIAdyfV2R0wQI5VvPuu\nc85HxrV8OdC+ve0L62qrTh05nfvPf2arwtUwUVRj2za50nX8eOee94UXZMuisNC55yXjKCoCXnpJ\ndok608iR8r+bNzv3vKQWE0U1XnxRfmjXqePc8/bpAwQFAR9+6NzzknGsWAH4+QGDBjn3vBaL7Br9\nv/9jq8KVMFFUISMDyM4G7r9fzfmffx5YsAAoLlZzftIvIWQtp+eeU3P+e+8FcnPlhlzkGpgoqvDX\nvwJPPeX81kSpgQMBb2/g88/VnJ/0a/t2+QAxZIia87u5yd0clyxRc35yPq6jqMSpU0B4uCzW5+gp\nsdX58EO5Z8W2bepiIP0ZMUKWqH/kEXUx5OfLgfS9e4HAQHVxUO1wwZ2GZsyQNW4cUQ6hNn79FQgI\nALZudUzZEDKeH36QM+NOnpRrG1SaPVvux/23v6mNg6zHRKGRvDz5pPTNN/JDWrUXXwTOnAH++U/V\nkZAeTJ8ONG8uB5NVO3MGCAuTNcoaN1YdDVmDiUIjr78uC/+tXeuQw9fahQtAcLAsRd68uepoSKUr\nV4A77pA1ndq0UR2NFB8vN+F66inVkZA1WMJDA0LIJ/ff/U51JL/x8ZH90VyARx99JAew9ZIkAJkg\nXn+dU2XNjoniFv/+t+x6ctZKV2s98gjwzju8GV2ZEMCyZWoHsCvTpw9Qt66sYEvmxURxi2XLZE0n\nvVVuLa3WuXu32jhInW++Aa5dAwYPVh1JeRaLvGfeflt1JORIHKP4r7w8wN8fOHJEn7vMvfKK7Jt+\n7z3VkZAKjz4KtGsnN7jSm0uX5BTZkyfl2h/SL45R2GnVKrnITY9JAgAefFDuV3HtmupIyNny8mQ5\n8YceUh1J5Vq0kGMnK1aojoQchYniv/TY/3srHx/Z7bBypepIyNlWr5ZrJ/S8DSm7n8yNiQJyEdPJ\nk8CwYaojqd60aXJQm1zLBx8AU6aojqJ6MTHAzz/LfbXJfJgoIKcdxsc7b88JWw0dKhPasWOqIyFn\nOXUKOHwYGD5cdSTVq1NHdo+y4rE5uXyiEEImiokTVUdSM3d3YMIEbpXqSlasAMaNA+rVUx1JzRIT\nZbyseGw+Lp8oMjIADw+gRw/VkVjngQdkojDeXDWyxfLlxniIAYCQEKBlS66pMCOXTxSlrQmLRXUk\n1rn7blmw8JtvVEdCjvbtt3KHxf79VUdivQcekPcUmYtLJ4rCQjmjJDFRdSTWs1h+a1WQuS1fLv9f\n620BaHXi44F162TlYzIPA12C2tuyRW452qGD6khqJyFBTpNlX7B5lZTI/v4HHlAdSe34+8uS+Ckp\nqiMhLbl0oli1Sj4BGU1wsCwMt2OH6kjIUfbsAZo0MeY+JOx+Mh+XTRQFBcBnn8kZJUaUkACsWaM6\nCnKUNWuA++5THYVtxo0DvvhCbmpE5uCyiSI1FejcWb8lO2oybhzw6afsfjKjkhLgk0+A8eNVR2Kb\n5s2B3r2B5GTVkZBWXDZRGPlGBOQGNn5+nIpoRl99JYvrhYSojsR248bJe4zMwSUTRVERsGEDcO+9\nqiOxz/jx+tmJj7SzZo2xH2IAYMwY2aK4cUN1JKQFl0wUO3fKJ/L27VVHYp9x4+RUxJIS1ZGQVoSQ\nyd+o4xOlfHyA8HA5s5CMzyUTxdq1xh3EvlWnTrLE8549qiMhrezbB3h6Al26qI7EfuPGscVrFi6X\nKIqL5b4OZkgUALufzKZ07MwolQKqc++9cmYhF98Zn8slit27gdat5Y5cZjB+vPxwYe0nc9iwARg7\nVnUU2mjbVraMUlNVR0L2crlEYfTZTrfr3Blo0AA4cEB1JGSv77+Xaw+MUqDSGmPGABs3qo6C7KXb\nRBEQEIBu3bohPDwcvXr10uSYQshuJ6PPdrqVxQKMGsWb0Qw2bpT/L83Q7VRq1Chg0yZOuDA63SYK\ni8WCtLQ0ZGZmYt++fZoc8+BBoG5d+RRuJkwU5rBhAzB6tOootNWpE9CoEbB/v+pIyB66TRQAIDTu\neN+0CRg50lxPbADQty+QlQWcOaM6ErLVzz8DR44AkZGqI9EeH2SMT7eJwmKxICYmBj179sSyZcs0\nOWZpojAbd3e5VeamTaojIVt99hkwZIgxdrKrLSYK49PtLtG7d+9GmzZtcPHiRcTGxiI4OBgDBgwo\n+3lSUlLZ3yMjIxFZw6PYuXPAjz8CtxzCVEaNAt59F/jd71RHQrbYuNFckyxuFREBZGfL/b/btVMd\njWtJS0tDWlqa3cexCK37dxxg7ty5aNiwIf74xz8CkK2N2ob99tvAtm1yHwczunYN8PUFzp6VfcJk\nHPn5csp2VhbQrJnqaBxj8mSgVy/g979XHYlrs+WzE9Bp11N+fj5yc3MBANevX8eWLVsQGhpq1zHN\n2u1UqnFjOVbBkgnGk5oK3HWXeZMEwO4no9Nlorhw4QIGDBiA7t27o3fv3hgxYgSGDBli8/Fu3JCb\n/MTFaRikDo0cyXEKI9q40XyznW43ZAiwd69s+ZLxGKLr6Xa1bT5t3gy8/LIsBmhmJ08CPXsC588D\ndeqojoasUVIiVzDv3g107Kg6GseKiwOmTTPvWIwRmKrrSWtm73Yq1b69HKfYu1d1JGStzEy55anZ\nkwTA7icjM32iEMJ1EgUgp8lyZzHjSE42f5doqeHDgZQUrtI2ItMnigMHZNnmO+9UHYlzxMUxURiJ\nKyWK9u1lWXyu0jYe0yeKlBT5JOMqIiKAEyfkOAXp2+XLwKFDwMCBqiNxHj7IGJNLJIphw1RH4Tzu\n7kB0NPDFF6ojoZps3SqTRP36qiNxnmHD5D1JxmLqRHH1qmzmDhqkOhLn4lObMbhSt1OpgQOBw4dl\na4qMw9SJYvt2uQjN01N1JM41bJh8Wi0qUh0JVaWkRD5Zu1qiqFdPJoutW1VHQrVh6kSRnOxa3U6l\nfH3ln6+/Vh0JVeXAAcDbG+jQQXUkzsfuJ+MxbaIQwvXGJ27F7id9c8Vup1JxcZwmazSmTRTffQe4\nuQHBwaojUYOJQt9cOVF06CBrkx08qDoSspZpE0Vpa8JsmxRZq29f4NgxuSEO6UtODvDtt643yeJW\n7H4yFtMnCldVty4weDCryerR1q1yXxRXmhZ7O7Z4jcWUieL6dVnvaPBg1ZGoxZtRn1y526nUoEFy\nQP/KFdWRkDVMmSh27pT1/Rs3Vh2JWsOGyRZFcbHqSKiUq06LvV2DBkC/fnIvDtI/UyYKV+92KtWu\nHdCqFfDNN6ojoVKHDgENG7pGtdiasMVrHEwUJlc6FZH0Yds2IDZWdRT6UHptGm9HHNdj3ESRlCSn\nNN325/KTScjNBcLCrHs9kpJqdXyjvf7VxRb8eY5+4nH11/u8mYSYGP3Eo/L1QZ0sOJNtgcVNH/G4\n1OtryXQ73L35JpCRAXzwgZOD0qn8fMDHBzh7FmjUSHU0ru3XX2WZ7VOngKZNVUejD488AoSGAk8+\nqToS18Ad7v5r61Y27W/l6Qn06gWkpamOhPbuBTp3ZpK4VWws6z4ZgakSRXExsGMHKm/auzDejPrA\n8YmKBg8G0tOBwkLVkVB1TJUovvkG8PMDWrdWHYm+xMQwUejBtm18iLldixZAYKDsLib9MlWi4I1Y\nufBwWcrjzBnVkbiuK1eAI0fkDoRUXmysvHdJv5goXECdOnLXO96M6qSlyfpbrly2oyrsGtU/0ySK\n/Hy5/4Ir7T9cG7wZ1eJDTNX69ZO73l29qjoSqoppEsWuXbKLhVNAK1favOceAGowUVStfn3ZJbdj\nh+pIqCqmSRS8EasXECBrXx06pDoS13P6NHDpUiWLQKkMW7z6xkThQngzqrFtmxwjcjPN3aY9Xpv6\nZopL9+JF4D//Ae6+W3Uk+sabUQ2un6hZaKicGXbypOpIqDKmSBSpqbK+vYeH6kj0LSoK2LMHuHlT\ndSSuQwi2dq3h5sb1PnpmikTBG9E6TZoAXbsCu3erjsR1HD4sJ1gEBKiORP/Y4tUvwycKIVjfqTZ4\nMzoXH2KsFxsrewc4M09/DJ8ojh8HioqA4GDVkRgDE4VzMVFYz88PaNkSyMxUHQndzvCJovRGtFhU\nR2IMffoAP/0kp2uSYxUUyPU9UVGqIzEOlvPQJ8Mniq1b+cRWGx4ecvX69u2qIzG/r74COnUCmjdX\nHYlxsMWrT4ZOFKVlxaOjVUdiLHxqcw52O9VeZKRMsDduqI6EbmXoRLF/P9C2rfxD1iudhmi8vQ2N\nhZMsaq9RI7mC/csvVUdCtzJ0ouATm206d5bbcv7nP6ojMa+rV2W5lH79VEdiPDExbPHqDROFC7JY\neDM62s6dcuIAy4rXHq9N/TFsosjPl32ZgwapjsSYeDM6Fh9ibNe7N2fm6Y1hE8WXXwLdu7OsuK2i\no+XMp+Ji1ZGYExOF7Tw8gAEDWHZcTwybKHgj2sfXF/DxAQ4cUB2J+WRnAxcuyAcZsg1bvPpi6ETB\nGSX24TRZx0hNBQYPllvQkm14beqLLhNFSkoKgoODERQUhEWLFlX6muPHgV69nByYyfCpzTHY2rVf\nSIgch+TMPH2wCFHzbPoNGzYgPT0dABAZGYmRI0c6LKDi4mLceeed2LZtG3x9fXH33XdjxYoV6Ny5\n829BWywYMUJg0yaHheESrl2TXVA//ww0aKA6GnMQQr6nu3YBHTuqjsbYJk2SYxX/8z+qIzEPi8UC\nKz7yK6ixRTFr1iwsXboUXbp0QUhICJYuXYrnnnvOpiCtsW/fPgQGBiIgIAAeHh6Ij4/Hhg0bKryO\nT2z2a9wY6NZN7lFB2jh6VE6JZZKwH1u8+lFjoti8eTO2bNmCqVOnYtq0aUhJScFnn33msICys7Ph\n7+9f9rWfnx+ys7MrvI6JQhvcLEZb7HbSTunMPJYdV8+9phdYLBZcuXIFzf9b2ezKlSuwOLBUq7XH\nXr06qaxibGRkJCIjIx0Wk5nFxADPPKM6CvPYtk12mZD9SsuOHzgA9OihOhpjSktLQ1pamt3HqTJR\nTJ8+HYmJiZg9ezZ69OiBqKgoCCGwc+dOLFy40O4TV8XX1xenT58u+/r06dPw8/Or8Lq5c5McFoMr\n6d0bOHYM+OUXVjm1V2EhkJ4OvPee6kjMo7T7iYnCNrc/RM+dO9em41TZ9dSpUyfMmDEDM2fORExM\nDDp06IBx48YhIyMD8fHxNp3MGj179sSPP/6IrKwsFBQUYNWqVRg1apTDzufq6tbl4iat7NsnxyZa\ntFAdiXlwnEI7995r++9WmSiefvpp7N27Fzt37kRQUBDWrVuHGTNm4K233sKxY8dsP2MN3N3d8dpr\nr2Ho0KEICQnBhAkTys14Iu3xZtQGxye0FxkJ7N0L3LypOhJjy8oCdu+2/fetmh5bKjMzE1OmTMGh\nQ4dQrLD2g61TvKhyhw8DY8bI+jpkuwEDgBdeAIYMUR2JufTtC8ybJxcxkm3eeUc+yKxc6aDpsUVF\nRdi4cSMSExMxbNgwBAcHY926dTYFS/rUpQuQlwecOKE6EuPKzZWDrv37q47EfDgzz36pqfa1dqtM\nFKVTYn19fbFs2TKMGDECx48fx8qVKzF69Gjbz0i6U1p2PDVVdSTGtXOnrBTg6ak6EvNh16h9hJD3\ntj07gVaZKBYuXIiIiAh899132LRpExITE9GwYUPbz0S6xpvRPhyfcJw+fYAffgAuX1YdiTEdPiyr\nbAcE2H6MKqfHbt++3fajkuFERwMzZsjFTW66rACmb9u2cVqso9StK7v0duwAxo1THY3x2NuaAHRa\nFJCcz99frqM4eFB1JMZz7hxw9izn+jsSW7y206K1y0RBZXgz2iY1FYiKYllxR+K1aZvCQlmgMirK\nvuMwUVAZ3oy24fiE43XtKqsdZ2WpjsRYtFoEykRBZaKiZCVZLm6ynhBMFM7g5saZebbYts3+8QmA\niYJu4e0tn9z27lUdiXF89x3g7g4EBqqOxPy4nqL2tNoJlImCymH3U+1s3SpvRAcWVKb/io6WLQqW\nHbdO6SLQAQPsPxYTBZXDRFE7pYmCHK9dO6BZM+Dbb1VHYgxpabI6tBa7VzJRUDl9+sjulJwc1ZHo\nX0GBLCvOGkTOwwcZ62n5EMNEQeXUqwf06yefRqh6GRlAUBDLijsTE4X1tm7VbpIFEwVVwEFD62g1\nUEjWi4yU5bJ//VV1JPp25gxw8SIQHq7N8ZgoqAI+tVmH4xPO17QpEBLCmXk12bpVDv5rVY6nVvtR\n6IXFYsGcHXMwd2fFbf3mDJqDpMikCt9PSkvi6/l6zV//p35zMC9GP/Hw9Xx9da+3dS8fwyYKA4Zt\nKImJsmUxdarqSPRp/XrgH/8AvvhCdSSuJy0NmDkT+Oor1ZHoU0kJ0Lo18PXXQPv25X9m62cnu56o\nUux+qh67ndSJiACOHuXMvKocOgQ0aVIxSdiDiYIqVVougYubKsdEoQ5n5lVPy9lOpZgoqFLt2smS\nHocPq45Ef7KyZIG60FDVkbgutnir5oiHGCYKqhJvxsqVPrFxgyd1eG1W7uZNWdjT3rLit+OlTlXi\nzVg5djup162b3Br11CnVkejL7t2ysGeTJtoel4mCqhQVBXz5pSxVQVJxsRy7YVlxtdzcfisSSL9x\n1EMMEwVVqWlTIDiYi5tulZkJtGoF+PmpjoRYQaAiJgpSgt1P5bHbST84M6+8S5eAH3+UFWO1xkRB\n1YqNZaIXoMfmAAASWklEQVS4Fes76UdAANC4MWfmldq+HRg4EKhbV/tjM1FQtSIi5I149arqSNTL\ny5N7EEdGqo6ESrHF+5uUFGDIEMccm4mCqlW/vlzcxEFDYMcO4O67gUaNVEdCpWJjWUYFkHu3p6QA\ncXGOOT4TBdVo2DAgOVl1FOolJzvuRiTbREfLdQP5+aojUevbbwFPT7k/iiMwUVCN4uLkh6Qr12EU\ngolCj7y9gR49ZGvPlTn62mSioBp16iQHyFx50PDYMaCwEOjSRXUkdLvSBxlXlpIiW/6OwkRBNbJY\ngOHDXftmLH1is1hUR0K3K702XbXFe+0a8M032pftuBUTBVnF1Z/aHDlQSPYJDZVbo/74o+pI1Ni2\nDejbV45ROAoTBVklKko+tVy7pjoS58vPlzV0oqNVR0KVsVhce8KFo7udACYKspKnp1xT4YrTZNPS\n5ICpt7fqSKgqrtriddYkCyYKspqr3ozsdtK/mBjZ6nO1abJHjgDu7sCddzr2PEwUZDVXnSabnOz4\npj3Zp3SarKvtelfa7eToSRZMFGS1Tp0ADw/5FOMqfvoJuH4dCAtTHQnVxBVbvM5a28NEQVazWFzv\nZnTWExvZz9WuzdxcWXts8GDHn4uJgmrF1W5GdjsZR7duwI0brjNNdscOoFcvoGFDx5+LiYJqJSoK\n+Ppr15gme+MGsGsXy4obhatNk3VmSRkmCqoVLy/XmSa7fTsQHi53+iNjcJUWrxDApk3AiBHOOZ/u\nEkVSUhL8/PwQHh6O8PBwpKSkqA6JbjNihLxIzW7TJmDUKNVRUG3Exsppsnl5qiNxrMxMubbJ0dNi\nS+kuUVgsFvzhD39AZmYmMjMzMYwdxLozahTw2WdAcbHqSBynpISJwoi8vYE+fYAtW1RH4lgbN8pr\n01mTLHSXKABAuNpEfYMJCADatAEyMlRH4jj798ttNh1V358cZ/RoYMMG1VE4VmmicBZdJoq///3v\nCAsLw7Rp03DlyhXV4VAlRo2SF6tZOftGJO2MHAls3gwUFamOxDFOnwZOnZKFAJ3FIhQ8vsfGxuL8\n+fMVvv/SSy+hT58+aNmyJQDghRdewLlz5/DOO++Ue53FYsGcOXPKvo6MjEQkNzJ2qq+/Bh58EPju\nO9WROEb37sDrr8ttYMl4evQAliwBBg5UHYn23nhDtub/9a+aX5uWloa0W5arz50716YeGyWJwlpZ\nWVkYOXIkDh06VO77FouF3VOKlZQA/v5yLnenTqqj0dbJk3Jv7HPngDp1VEdDtkhKkgPar76qOhLt\nDRsGPPwwMH587X/X1s9O3XU9nTt3ruzv69evR2hoqMJoqCpubrKJb8bup02bgHvuYZIwstJxCrM9\nT+bmyj3Chw517nl1lyhmzpyJbt26ISwsDDt37sRf//pX1SFRFcw6aMjxCePr3l1uZvT996oj0daW\nLXJsolEj555X111PVWHXkz7cvAn4+MjCef8dVjK8q1dll9rZs84pjUCO8/jjgJ8fMGuW6ki0M3my\nLNvx+9/b9vum6Xoi46hfX+4D8PnnqiPRTkoK0L8/k4QZmG1mXlGRnM01cqTzz81EQXYZPRr49FPV\nUWhn3Trg3ntVR0FaiIyUs/IqmWBpSOnpwB13AO3aOf/cTBRklxEjZE0kM5RMyM+XLYrRo1VHQlqo\nWxcYPhxYv151JNpYu9a2mU5aYKIguzRrJosEmqH76YsvgJ49zTPeQvKDde1a1VHYr7hYtnbHjVNz\nfiYKstt99wFr1qiOwn4qn9jIMYYNA775Bvj5Z9WR2Gf3bqB1ayAwUM35mSjIbqNHy2l716+rjsR2\nv/4qW0Vjx6qOhLTUoIFMFkYfR/vkE7UPMUwUZLcWLYDevY29D8DWrUBoqHxqI3Mxeou3pISJgkzC\n6H3Ba9eq6/8lx4qLk3tLX7qkOhLbfPWVLJ8eHKwuBiYK0sTYsXLG0I0bqiOpvV9/lWU7OC3WnDw9\nZckLo3Y/rV6tfuyMiYI00bKlnDG0ebPqSGovORno2lWuyCZzuu8+YNUq1VHUXnExsHIlkJioNg4m\nCtLMAw8AH32kOora+/hjGTuZ14gRwL//LSsCG0laGuDr67wtT6vCREGaufdeufju8mXVkVjv2jW5\nfoLjE+bWoAEwZox8OjeSjz5S35oAmChIQ97esi/YSIPa69cDgwYBzZurjoQcbeJEYPly1VFY7+ZN\nOa4yYYLqSJgoSGNG635it5PriIyUdZ+MUnp882YgPFx2PanGREGaiosDjhyRu8Tp3YULcuqhimqc\n5Hx16gAJCcZ5kPn4Y310OwFMFKSxunXlVL4VK1RHUrMVK2Qpak9P1ZGQs5S2ePW+nc3ly0Bqqn7G\nzpgoSHOTJgEffKDvm1EI4J13gKlTVUdCztS9uxzY/vJL1ZFU76OPZOu8SRPVkUhMFKS5vn3lB/Ge\nPaojqdrXX8vFgYMGqY6EnMliAaZNA95+W3UkVSt9iHn4YdWR/IaJgjRnsciLfNky1ZFU7e23ZWvC\nYlEdCTnbgw/Kne+uXFEdSeX275fTtqOiVEfyG+6ZTQ5x8SIQFCQHtb29VUdT3vXrchX24cNA27aq\noyEV4uOBgQOB6dNVR1LR9OlAmzbACy9of2zumU260rIlMGSInLmhN2vWAP36MUm4stIWr96eN/Pz\n5aLAhx5SHUl5TBTkMHrtfnr7bdlPTa5r8GDg6lW5qZGefPKJLNmvt7pjTBTkMDExQE6OrLGjFwcO\nAFlZwD33qI6EVHJzkw8L//yn6kjKe+014LHHVEdRERMFOYybG/C73wFLl6qO5DdLlwK//z3g4aE6\nElLt4YdluZlfflEdiZSRIcf2RoxQHUlFHMwmh8rJATp21MfA8cWLQKdOwE8/sbYTSVOmyGviuedU\nRyJXjffqBTzzjOPOYetnJxMFOdzjj8uZTy+9pDaOefPkLCw9jpuQGgcPAsOHAydOyKoCqmRny614\nT5xw7CxBJgrSrR9/lIvwTp5UVy6joAC44w65C19oqJoYSJ+io2XLYuJEdTH86U9y7cTf/+7Y83B6\nLOlWUBAQEQF8+KG6GNaskXsOM0nQ7Z55BvjrX9VNlc3Pl63cJ55Qc35rMFGQU/zhD8Bf/iK3dnS2\nkhJgwQLgf//X+ecm/Rs+HMjLA3bsUHP+ZcuA/v3lWIleMVGQUwwaBLRooWbf4k8/lV1eQ4Y4/9yk\nf25uwOzZwIsvOv/cN28Cr7wCPP+8889dG0wU5BQWCzBnjhxQdmarQgh5zuefZ10nqtoDDwBnzgA7\ndzr3vO+/D4SFAT16OPe8tcVEQU4TGws0bizHC5zl009lstDj3HTSD3d32aqYO9d5YxU3bsiZgI6o\n6aQ1JgpyGotF3hh/+hPw66+OP19RkZwfv3Ch7F4gqs6kScDZs3JmnDO89hpw991Anz7OOZ89ePuQ\nU0VHA3feCbz5puPP9d57cr9hjk2QNTw8gEWLgBkz5EOGI+XkAC+/LCdZGAHXUZDTHT4si7J9/z3Q\nrJljznHlChASIvcd6NnTMecg8xFCTryYNAl45BHHneepp2Sr+h//cNw5KsMFd2Qojz8uF8E5qijb\n44/Lp0Jn34hkfJmZwLBh8oGmZUvHHD8uDjhyxPmlZJgoyFCuXgW6dJG19/v31/bY//63HLw+etRx\nLRYytz/+Ebh0Se79rqXiYnm9P/ywmlL3XJlNhuLtDSxZIm+Y69e1O+6NG8DkycCrrzJJkO3mzgXS\n0oDkZG2Pu3ixrCk1ZYq2x3U0tihIqYkT5WI4rbqgnnoKOH9etlS4boLskZYGJCbKPaxbt7b/eJmZ\nwNChwNdfA+3b2388W7BFQYb0xhtAaqo2K7Y/+QRYv17OqGKSIHtFRsruoUmT7J8FlZMDTJgga0qp\nShL2YIuClMvMlFNYN22yfU75/v3yae2LL/S/ypWMo6hI1oIKDARef922B5DCQjl43a2brHemkqFa\nFGvWrEGXLl1Qp04d7N+/v9zPFixYgKCgIAQHB2PLli0qwiMnCw+Xg4Zjx8qZILV19CgwcqRsSTBJ\nkJbc3WUlgS+/tG0/laIiOWZWr56s6WRUShJFaGgo1q9fj4EDB5b7/tGjR7Fq1SocPXoUKSkpmD59\nOkpKSlSESE42fLh82oqOlltCWmv/fvk7ixYB48c7Lj5yXd7ecrX2ypVyMZ61D+Q3bgDx8bLbae1a\noE4dx8bpSEoSRXBwMDpVUlN3w4YNSEhIgIeHBwICAhAYGIh9+/YpiJBUSEgA3n1Xtg4WL66+eGBJ\niewKGDpU/lflpjNkfm3bAunpwN69co1Fdnb1rz98WJbnqFdP1htr0MA5cTqKrgazz549Cz8/v7Kv\n/fz8kF3T/xEyleHDga++AjZs+K1L6tKl337+yy/ARx8B3bvLjZD27AHuvVddvOQ6mjWTM6H69ZPj\nDc8+K7s9Szs9iopkInnoITkQ/swzwPLlMlkYnbujDhwbG4vz589X+P78+fMxcuRIq49j4fQVl9Oh\ngyz3vGULsHQp8OSTcgqtEHI3sAEDgPnzgXvu4ewmci53d+DPf5bJ4G9/k63fS5cALy+5lWlgIDBu\nHPDTT0CTJqqj1Y7DEsXWrVtr/Tu+vr44ffp02ddnzpyBr69vpa9NSkoq+3tkZCQiIyNrfT7SL4tF\ndisNHSqf2M6elTdps2ZywRKRSu3aye7RxYuBy5flBkQNG8oy+nqSlpaGtLQ0u4+jdHpsVFQUXn31\nVdx1110A5GB2YmIi9u3bh+zsbMTExOCnn36q0Krg9Fgiotoz1PTY9evXw9/fHxkZGbjnnnsQFxcH\nAAgJCcH999+PkJAQxMXF4Y033mDXExGRYlxwR0TkIgzVoiAiIuNgoiAiomoxUZAmsyLoN3w/tcX3\nUz0mCuKNqDG+n9ri+6keEwUREVWLiYKIiKpl2OmxRERUe7Z85DushIcjGTC3EREZFrueiIioWkwU\nRERULV0nipSUFAQHByMoKAiLFi2q9DVPPvkkgoKCEBYWhszMTCdHaCw1vZ9paWnw9vZGeHg4wsPD\nMW/ePAVRGsPUqVPh4+OD0NDQKl/Da9N6Nb2fvDatd/r0aURFRaFLly7o2rUrli5dWunranV9Cp0q\nKioSHTt2FCdOnBAFBQUiLCxMHD16tNxrNm/eLOLi4oQQQmRkZIjevXurCNUQrHk/d+zYIUaOHKko\nQmNJT08X+/fvF127dq3057w2a6em95PXpvXOnTsnMjMzhRBC5Obmik6dOtn92anbFsW+ffsQGBiI\ngIAAeHh4ID4+Hhs2bCj3mo0bN2Ly5MkAgN69e+PKlSu4cOGCinB1z5r3E+BEAWsNGDAATZs2rfLn\nvDZrp6b3E+C1aa3WrVuje/fuAICGDRuic+fOOHv2bLnX1Pb61G2iyM7Ohr+/f9nXlW2LWtlrzpw5\n47QYjcSa99NisWDPnj0ICwvD8OHDcfToUWeHaRq8NrXFa9M2WVlZyMzMRO/evct9v7bXp26nx1q7\nVuL2pwyusaicNe9Ljx49cPr0aXh6eiI5ORljxozBsWPHnBCdOfHa1A6vzdrLy8vD+PHj8be//Q0N\nGzas8PPaXJ+6bVHcvi3q6dOn4efnV+1rqts61dVZ8342atQInp6eAIC4uDgUFhbi8uXLTo3TLHht\naovXZu0UFhZi3LhxmDhxIsaMGVPh57W9PnWbKHr27Ikff/wRWVlZKCgowKpVqzBq1Khyrxk1ahT+\n9a9/AQAyMjLQpEkT+Pj4qAhX96x5Py9cuFD2lLFv3z4IIdCsWTMV4Roer01t8dq0nhAC06ZNQ0hI\nCJ5++ulKX1Pb61O3XU/u7u547bXXMHToUBQXF2PatGno3Lkz3nrrLQDAo48+iuHDh+Pzzz9HYGAg\nvLy88N577ymOWr+seT/Xrl2LN998E+7u7vD09MTKlSsVR61fCQkJ2LlzJy5dugR/f3/MnTsXhYWF\nAHht2qKm95PXpvV2796N5cuXo1u3bggPDwcAzJ8/H6dOnQJg2/VpyFpPRETkPLrteiIiIn1goiAi\nomoxURARUbWYKIiIqFpMFEREVC0mCiIiqhYTBZFGrl69ijfffFN1GESaY6Ig0khOTg7eeOMN1WEQ\naY6Jgkgjs2bNwvHjxxEeHo6ZM2eqDodIM1yZTaSRkydPYsSIETh06JDqUIg0xRYFkUb4zEVmxURB\nRETVYqIg0kijRo2Qm5urOgwizTFREGmkefPm6NevH0JDQzmYTabCwWwiIqoWWxRERFQtJgoiIqoW\nEwUREVWLiYKIiKrFREFERNVioiAiomoxURARUbWYKIiIqFr/D8sK1DCO3vKKAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc9764bad90>"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.10 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = arange(0.0001, 5.0, 0.0005)\n",
+ "k1= arange(5.0, 10.0, 0.0005)\n",
+ "k2= arange(10.0, 15.0, 0.0005)\n",
+ "k3= arange(15.0, 20.0, 0.0005)\n",
+ "\n",
+ "m=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')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 is 5.3 kilo-ohm.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc9763532d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nABhHCADAuP8CZD1fLcjkBoIAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc976577790>"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.11 , Page Number 868"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = linspace(0,2,100)\n",
+ "t1 = linspace(2,4,100)\n",
+ "t2 = linspace(4,9,100)\n",
+ "t3 = linspace(9,11,100)\n",
+ "t4 = linspace(11,21,100)\n",
+ "t5 = linspace(21,23,100)\n",
+ "t6 = linspace(23,28,100)\n",
+ "t7 = linspace(28,30,100)\n",
+ "t8 = 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) ->\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 10,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc9762cb9d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\ngg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc9763356d0>"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.12 , Page Number 869"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = linspace(0,4,100)\n",
+ "t1 = linspace(4,10,100)\n",
+ "t2 = linspace(10,20,100)\n",
+ "t3 = linspace(20,24,100)\n",
+ "t4 = linspace(24,30,100)\n",
+ "t5 = 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) ->\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 12,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc976141f90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc976161210>"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.13 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 48.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = linspace(0,2 * math.pi,100)\n",
+ "plot(x,24 + 24*sin(x))\n",
+ "plot(x,(24*x)/x,'--')\n",
+ "xlabel(\"Time(t)\")\n",
+ "ylabel(\"Output voltage (Vo)\")\n",
+ "title(\"Output waveform\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 15,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc976052390>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\ngg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc975f920d0>"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 33.14 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variables\n",
+ "\n",
+ "Vi = 10.0 #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "#Positive Clipping\n",
+ "subplot(211)\n",
+ "k1= arange(0.0001, 0.500, 0.0005)\n",
+ "k2= arange(0.500, 1.000, 0.0005)\n",
+ "k3= arange(1.000,1.500, 0.0005)\n",
+ "k4= arange(1.500,2.000, 0.0005)\n",
+ "m=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= arange(0.0001, 0.500, 0.0005)\n",
+ "k2= arange(0.500, 1.000, 0.0005)\n",
+ "k3= arange(1.000,1.500, 0.0005)\n",
+ "k4= arange(1.500,2.000, 0.0005)\n",
+ "m=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')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 14,
+ "text": [
+ "<matplotlib.text.Text at 0x7fc975e73cd0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc975f387d0>"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34.ipynb
new file mode 100644
index 00000000..cb56befb
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34.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.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35.ipynb
new file mode 100644
index 00000000..de508079
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35.ipynb
@@ -0,0 +1,631 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:4eaaeae330501e8f1f6bc5b2282cf7a01a3aba17d1206c686005d5c371c69437"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 35 , Operational Amplifiers (OP - Amps)"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.1 , Page Number 895"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variables\n",
+ "\n",
+ "Adm = 200000.0 #Differential gain\n",
+ "Acm = 6.33 #Common mode gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "CMRR = 20 * log10(Adm / Acm) #Common-mode rejection ratio (in Decibels) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The common-mode rejection ratio is \",round(CMRR),\" dB.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The common-mode rejection ratio is 90.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.2 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The common-mode gain is 0.095 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.3 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum operating frequency for the amplifier is 796.0 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.4 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.5 , Page Number 899"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum allowable input voltage (Vin) is 40.0 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.6 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum possible output value could be between 10.0 V and -10.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.7 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of output voltage increases from 1.0 V to 4.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.8 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage of the inverting amplifier is 2.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.9 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.10 , Page Number 904"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop gain is 11.0 .\n",
+ "CMRR is 11000.0 .\n",
+ "Maximum operating frequency is 14.47 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.11 , Page Number 905"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ACL is 1.0 .\n",
+ "CMRR is 1000.0 .\n",
+ "fmax is 26.5 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.12 , Page Number 906"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage is 3.52 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.13 , Page Number 907"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 = linspace(0,10,200)\n",
+ "plot(x,-15 + 8*sin(x))\n",
+ "plot(x,(-15*x)/x,'')\n",
+ "title(\"output waveform\")\n",
+ "ylabel(\"output voltage (Vo)\")\n",
+ "xlabel(\"t\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 14,
+ "text": [
+ "<matplotlib.text.Text at 0x7f7140bf50d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEZCAYAAABiu9n+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlYlOX6wPHvIJColPuOogkqinu5lIoZbqi5pYhbrpXl\nKfVodU6/wmNiap40t8pS3DU1XEjNFdQUNcldc8kFd4+KiRsI7++PJ8kFZJuZZ5b7c11zBTPM+95O\n8N7vs92PyTAMAyGEECINLroDEEIIYbskSQghhEiXJAkhhBDpkiQhhBAiXZIkhBBCpEuShBBCiHRJ\nkhDCTvXu3ZuCBQtSr1493aEIByZJQjgEFxcX/vjjD5s9nrlt2bKF9evXc/78eWJiYnSHIxyYJAnh\nMMy9LtSW15mePn0ab29vcufOneX33r9/3wIRCUclSULYjMOHDxMQEECBAgWoWrUqK1euTH0tICCA\n77//PvX78PBwGjZsCECjRo0AqF69Op6enixevJioqChKly7N6NGjKVKkCOXKlWP+/PnZPt7jypYt\nS2xsLADz5s3DxcWFw4cPA/D999/Tvn17AHbu3En9+vUpUKAAJUuWZNCgQSQlJQHw9ttvM2zYsEeO\n+9prr/Hll18CcP78eTp27EjRokUpX748kyZNSj1+//792b59O56enowYMQKA6dOn4+PjQ6FChXjt\ntde4cOFC6nFdXFyYOnUqPj4+VKxYkejoaEqXLs24ceMoVqwYJUuWZPny5axatYqKFStSqFAhRo8e\nnZn/bcLRGULYgMTEROP55583Ro8ebSQlJRkbN240PD09jaNHjxqGYRgBAQHG999/n/rzM2fONF5+\n+eXU700mk3HixInU7zdt2mS4uroaQ4cONRITE43o6Ggjb9682T7e43r27GmMHz/eMAzD6N+/v1Gh\nQgVj2rRphmEYRo8ePYwJEyYYhmEYu3fvNnbs2GEkJycbp06dMipXrpz62ubNmw0vL6/UY167ds3w\n8PAwLly4YCQnJxu1atUyRo4caSQlJRl//PGHUb58eePnn382DMMwwsPDH4l3w4YNRuHChY3ffvvN\nuHfvnjFo0CCjUaNGj/x7mjVrZly/ft24e/du6uczcuRI4/79+8b06dONwoULG926dTMSEhKMgwcP\nGh4eHsapU6ee/j9OODxpSQibEBMTw61bt/jwww9xdXWlSZMmtG7d+pG7/+wYOXIkbm5uNGrUiKCg\n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\nAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f7140c20510>"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 35.14 , Page Number 908"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage is 4.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36.ipynb
new file mode 100644
index 00000000..82205bce
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36.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/chapter6.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter6.ipynb
new file mode 100644
index 00000000..5eac498c
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter6.ipynb
@@ -0,0 +1,214 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:f153dc3a4df6a1dd6dc77b282f0c538a0eb4c34bca0d20bf7c77beeab7b8b383"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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/chapter9.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter9.ipynb
new file mode 100644
index 00000000..1eed0935
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter9.ipynb
@@ -0,0 +1,414 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:a5ed91797b2512d22ab988b0cee22f81142804dab42521fbb20f4011aa47e0d8"
+ },
+ "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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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": [
+ "#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/screenshots/chapter32.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter32.png
new file mode 100644
index 00000000..ada2999c
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter32.png
Binary files differ
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter331.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter331.png
new file mode 100644
index 00000000..e75f069d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter331.png
Binary files differ
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter332.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter332.png
new file mode 100644
index 00000000..e39d05ff
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/chapter332.png
Binary files differ
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch10_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch10_1.ipynb
new file mode 100644
index 00000000..4e2aff57
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch10_1.ipynb
@@ -0,0 +1,254 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:a053f39727ace41fe9dd23fd039f18e2237a3b4848b2ddbeb10075aa5411107c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 : Compressor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1 Page No : 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "V1 = 2.7;#flow rate of CO2 in cubic meter/min\n",
+ "T1 = 273-51;#temperature in K\n",
+ "P1 = 1.0;#initial pressure in Kgf/sq cm\n",
+ "P2 = 10.0;#final pressure in Kgf/sq cm\n",
+ "y = 1.3;#gamma\n",
+ "v1 = 0.41;#specific volume in cubic meter/Kg\n",
+ "H1 = 158.7;# initial enthalpy in Kcal/Kg\n",
+ "H2 = 188.7;#final enthalpy in Kcal/Kg\n",
+ "\n",
+ "#process is isentropic\n",
+ "#To calculate the horsepower required\n",
+ "\n",
+ "#(i)Assuming ideal gas behaviour\n",
+ "#From equation 10.3 (page no 189)\n",
+ "W = (y/(y-1))*(P1*1.03*10**4*V1)*(1-(P2/P1)**((y-1)/y));#work in m Kgf/min\n",
+ "W1 = W/4500.0;\n",
+ "print \"i)The horsepower required is %f hp\"%(W1);\n",
+ "\n",
+ "#(ii)Umath.sing the given data for CO2\n",
+ "#From equation 10.2 (page no 189)\n",
+ "W = -(H2 - H1);#work in Kcal/Kg\n",
+ "M = V1/v1;#Mass rate of gas in Kg/min\n",
+ "W1 = W*M*(427/4500.0);\n",
+ "print \" ii)Compressor work is %f hp\"%(W1);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The horsepower required is -18.779590 hp\n",
+ " ii)Compressor work is -18.746341 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2 Page No : 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P1 = 1.0;#Initial pressure in atm\n",
+ "P2 = 29.0;#Final pressure in atm\n",
+ "C = 0.05;#Clearance\n",
+ "y = 1.4;#gamma of air\n",
+ "\n",
+ "#To calculate the volumetric efficiency and the maximum possible pressure that can be attained in a math.single stage\n",
+ "#(i)Calulation of volumetric efficiency\n",
+ "#From equation 10.11 (page no 194)\n",
+ "V_E = 1+C-C*(P2/P1)**(1/y);\n",
+ "print \"i)Volumetric efficiency is %f percent\"%(V_E*100);\n",
+ "\n",
+ "#(ii)Calculation of maximum pressure \n",
+ "V_E = 0;#Minimum efficiency\n",
+ "P2 = P1*(((1+C-V_E)/C)**y);\n",
+ "print \" ii)The maximum possible pressure attained is %f atm\"%(P2);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Volumetric efficiency is 49.596143 percent\n",
+ " ii)The maximum possible pressure attained is 70.975263 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3 Page No : 174"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "V_d = 5.15;#print lacement volume in cubic meter/min\n",
+ "P1 = 1.0;#initial pressure in Kgf/sq cm\n",
+ "P2 = 8.5;#final pressure in Kgf/sq cm\n",
+ "C = 0.06;#Clearance\n",
+ "M_E = 0.8;#Mechenical efficiency\n",
+ "y = 1.31;#gamma\n",
+ "\n",
+ "#To calculate the capacity and the actual horse power of the compressor\n",
+ "v1 = V_d*(1+C-(C*((P2/P1)**(1/y))));\n",
+ "print \"The capacity of the copressor is %f cubic meter/min\"%(v1);\n",
+ "#From equation 10.6 (page no 192)\n",
+ "W = (y/(y-1))*(P1*1*10**4*v1)*(1-(P2/P1)**((y-1)/y));#work in Kgf/min\n",
+ "W1 = W/4500.0;#work in hp\n",
+ "W2 = W1/M_E;\n",
+ "print \" The actual horse power of the compressor is %f hp\"%(W2);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The capacity of the copressor is 3.876154 cubic meter/min\n",
+ " The actual horse power of the compressor is -30.000346 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4 Page No : 177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P1 = 1.0;#Initial pressure in Kgf/sq cm\n",
+ "Pn = 13.0;#Final pressure in Kgf/sq cm\n",
+ "V1 =27.0;#flow rate of gas in cubic meter/min\n",
+ "y = 1.6;#gamma of the gas\n",
+ "n = [1.0,2.0,3.0,4.0,7.0,10.0];#number of stages\n",
+ "print \"No of stages Horse power in hp\";\n",
+ "#To Calculate the theoretical horse power required\n",
+ "W = []\n",
+ "for i in range(0,6):\n",
+ " W.append(n[i]*(y/(y-1))*((P1*10**4)/4500)*V1*(1-(Pn/P1)**((y-1)/(n[i]*y))));\n",
+ " print \" %d\"%(n[i]),\n",
+ " print \" %f\"%(-1*W[i])\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No of stages Horse power in hp\n",
+ " 1 258.647729\n",
+ " 2 197.623943\n",
+ " 3 181.430407\n",
+ " 4 173.977056\n",
+ " 7 164.971690\n",
+ " 10 161.541416\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.5 Page No : 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P1 = 1.0;#Initial pressure in Kgf/sq cm\n",
+ "P4 = 200.0;#Final pressure in Kgf/sq cm\n",
+ "n = 4.0;#no of stages\n",
+ "\n",
+ "#To find out the presure between stages\n",
+ "r = (P4/P1)**(1/n);#Compression ratio\n",
+ "P2 = r*P1;\n",
+ "print \"The pressure after 1st stage is %f Kgf/sq cm\"%(P2);\n",
+ "P3 = r*P2;\n",
+ "print \" The pressure after 2nd stage is %f Kgf/sq cm\"%(P3);\n",
+ "P4 = r*P3;\n",
+ "print \" The pressure after 3rd stage is %f Kgf/sq cm\"%(P4);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure after 1st stage is 3.760603 Kgf/sq cm\n",
+ " The pressure after 2nd stage is 14.142136 Kgf/sq cm\n",
+ " The pressure after 3rd stage is 53.182959 Kgf/sq cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch11_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch11_1.ipynb
new file mode 100644
index 00000000..e5accd29
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch11_1.ipynb
@@ -0,0 +1,160 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:311c74298b5b14a54f4d1278f9c15d5918adb65c1f1cd4717c56b8ba91310447"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11 : Liquefaction of Gases"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1 Page No : 195"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "P1 = 8.74;#Initial pressure in Kgf/sq cm\n",
+ "P2 = 2.41;#Final pressure in Kgf/sq cm\n",
+ "H1 = 327.13;#Enthalpy of inlet stream in Kcal/Kg\n",
+ "Hl = 26.8;#Enthalpy of liquid at the final condition in Kcal/Kg\n",
+ "H2 = H1#Enthalpy of exit stream in Kcal/Kg ,math.since throttling is isenthalpic\n",
+ "Hg = 340.3;#Enthalpy of gas at the final condition in Kcal/Kg\n",
+ "vl = 152*10**-5;#Specific volume of liquid at the final condition in cubic meter/Kg\n",
+ "vg = 0.509;#Specific volume of gas at the final condition in cubic meter/Kg\n",
+ "v1 = 0.1494;#Initial specific volume in cubic meter/Kg\n",
+ "\n",
+ "#To Calculate the dryness fraction of exit stream and the ratio of upstream to downstream diameters\n",
+ "#(i)Calculation of the dryness fraction of exit stream\n",
+ "#From equation 3.13(a) (page no 82)\n",
+ "x = (H2- Hl)/(Hg-Hl);\n",
+ "print \"i)The dryness fraction of the exit stream is %f\"%(x);\n",
+ "\n",
+ "#(ii)Calculation of the ratio of upstream to downstream pipe diameters\n",
+ "#From equation 3.13(b) (page no 82)\n",
+ "v2 = (vl*(1-x))+(x*vg);#Total specific volume at the final condition in cubic meter/Kg\n",
+ "#u1 = u2; math.since KE changes are negligible\n",
+ "#From continuity equation: A2/A1 = D2**2/D1**2 = v2/v1 ; let required ratio,r = D2/D1;\n",
+ "r = (v2/v1)**(1/2);\n",
+ "print \" ii)The ratio of upstream to downstream diameters is %f\"%(r);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The dryness fraction of the exit stream is 0.957990\n",
+ " ii)The ratio of upstream to downstream diameters is 1.000000\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2 Page No : 199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P1 = 1000*1.033*10**4;#Initial pressure in Kgf/sq m\n",
+ "P2 = 1*1.033*10**4;#Final pressure in Kgf/sq m\n",
+ "T1 = 300.0;#Inital temperature in K\n",
+ "Cp = 7.0;#Specific heat of the gas in Kcal/Kgmole K\n",
+ "#Gas obeys the relation: v = (R*T)/P+(b*(T**2))\n",
+ "b = 5.4392*10**-8;#in cubic meter/Kgmole K**2\n",
+ "\n",
+ "#To Calculate the temperature of the throttled gas\n",
+ "#From equation (a) (page no 212);which we got after integration \n",
+ "T2 = 1/((1/T1)-((b/Cp)*((P2-P1)/427)));\n",
+ "print \"The throttled gas is cooled to %f K\"%(T2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The throttled gas is cooled to 284.000191 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3 Page No : 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#From the figure 11.8 (page no 216) & from figure A.2.7\n",
+ "H3 = 0.0;\n",
+ "H7 = -47.0;#in Kcal/Kg\n",
+ "H6 = -93.0;#in Kcal/Kg\n",
+ "H8 = 7.0;#in Kcal/Kg\n",
+ "\n",
+ "#To Calculate the fraction of air liquified at steady state and temperature of air before throttling\n",
+ "#(i)Calculation of fraction of air liquified\n",
+ "#From equation 11.3 (page no 215)\n",
+ "x = (H8-H3)/(H8-H6);\n",
+ "print \"The fraction of air liquified is %f\"%(x);\n",
+ "\n",
+ "#(ii)Calculation of temperature \n",
+ "H4 = H3+(H7*(1-x))-(H8*(1-x));#enthalpy of the gas before throttling\n",
+ "#From figure A.2.7 temperature corresponds to pressure 160 atm and the enthalpy H4 is\n",
+ "T = -112;\n",
+ "print \" The temperature of air before throttling is %d deg celsius\"%(T);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The fraction of air liquified is 0.070000\n",
+ " The temperature of air before throttling is -112 deg celsius\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch12_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch12_1.ipynb
new file mode 100644
index 00000000..b466521e
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch12_1.ipynb
@@ -0,0 +1,218 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:abd9968b31b6fc770d85971aacc78f09c6ba4e5596d9831c5736d23440171297"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12 : Refrigeration"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1 Page No : 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "m = 500.0;#mass of ice produced per hour in Kg\n",
+ "T1 = 15.0;#Initial temperature of water\n",
+ "T2 = -5.0;#Final temperature of ice\n",
+ "Ci = 0.5;#Specific heat of ice in Kcal/Kg deg celsius\n",
+ "Cw = 1.0;#Specific heat of water in Kcal/Kg deg celsius\n",
+ "L_f = 79.71;#Latent heat of fusion in Kcal/Kg\n",
+ "Tf = 0.0;#Frezzing point of ice in deg celsius\n",
+ "\n",
+ "#To Calculate the theoretical horse power required\n",
+ "Q2 = m*(Cw*(T1-Tf)+L_f+Ci*(Tf-T2));#Heat to be extracted per hour in Kcal\n",
+ "#From equation 12.1 (page no 220)\n",
+ "COP = (T2+273)/((T1+273)-(T2+273));\n",
+ "W = Q2/COP;#Work in Kcal/hr\n",
+ "W1 = W*(427/(60*4500.0));\n",
+ "print \"The therotical horse power required is %f hp\"%(W1);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The therotical horse power required is 5.736411 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2 Page No : 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "\n",
+ "#Given\n",
+ "Ta = 298.0;#Initial temperature in K\n",
+ "Tb = 203.0;#Final temperature in k\n",
+ "T1 = 298.0;#Water temperature in K\n",
+ "n = 1.0;#Kgmole of CO2\n",
+ "#Cp = 5.89+0.0112T ; Specific heat of CO2 in Kcal/Kgmole K\n",
+ "\n",
+ "#To Calculate the compressor load\n",
+ "#From equation 12.2a and b (page no 221)\n",
+ "def f(T):\n",
+ " y = ((T1-T)/T)*n*(5.89+0.0112*T);\n",
+ " return y\n",
+ "W = quad(f,Ta,Tb)[0];\n",
+ "print \"The compressor load is %f Kcal/Kgmole\"%(W);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The compressor load is -164.797031 Kcal/Kgmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 Page No : 221"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "#Consider the figure 12.4 (page no 226) \n",
+ "m = 5.0;#tonnes of refrigeration\n",
+ "T1 = 273-10.0;#temperature of the saturated vapour in K\n",
+ "T2 = 273+35.0;#temperature of the super heated vapour in K\n",
+ "T3 = 273+25.0;#temperature of the saturated liquid in K\n",
+ "T4 = 273+25.0;#temperature of the wet vapour in K\n",
+ "H1 = 341.8;#enthalpy of the saturated vapour in Kcal/Kg\n",
+ "H2 = 409.0;#enthalpy of the super heated vapour in Kcal/Kg\n",
+ "H3 = 350.0;#enthalpy of the saturated liquid in Kcal/Kg\n",
+ "H4 = 71.3;#enthalpy of the wet vapour in Kcal/Kg\n",
+ "\n",
+ "#To Calculate the C.O.P, mass of refrigerant required, compressor horse power required and the C.O.P & compressor horse power for a reversed Carnot cycle\n",
+ "#(i)Calculation of the C.O.P of the compression cycle\n",
+ "#From equation 12.6 (page no 226)\n",
+ "COP = (H1-H4)/(H2-H1);\n",
+ "print \"i)C.O.P of the compression cycle is %f\"%(COP);\n",
+ "\n",
+ "#(ii)Calculation of mass of refrigerant required\n",
+ "#From equation 12.7 (page no 226)\n",
+ "M = (m*50.4)/(H1-H4);\n",
+ "print \" ii)The mass of refrigerant required is %f Kg/mt\"%(M);\n",
+ "\n",
+ "#(iii)Calculation of the compressor horse power\n",
+ "#From equation 12.5 (page no 226)\n",
+ "C_hp = (H2-H1)*M*(427/4500.0);\n",
+ "print \" iii)The compressor horse power is %f hp\"%(C_hp);\n",
+ "\n",
+ "#(iv)Calculation for reversed Carnot cycle\n",
+ "#From equation 12.1 (page no 220)\n",
+ "COP = T1/(T3-T1);\n",
+ "print \" iv)C.O.P for the reversed Carnot cycle is %f\"%(COP);\n",
+ "Q2 = m*50.4*(427/4500.0);#in hp\n",
+ "C_hp = Q2/COP\n",
+ "print \" Compressor horse power for the reversed Carnot cycle is %f hp\"%(C_hp);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)C.O.P of the compression cycle is 4.025298\n",
+ " ii)The mass of refrigerant required is 0.931608 Kg/mt\n",
+ " iii)The compressor horse power is 5.940430 hp\n",
+ " iv)C.O.P for the reversed Carnot cycle is 7.514286\n",
+ " Compressor horse power for the reversed Carnot cycle is 3.182205 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4 Page No : 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Water at 20 deg cel is chilled to 10 deg cel by flash evaporation\n",
+ "Pv = 0.012;#Vapour pressure of water at 10 deg celsius in Kgf/sq.cm\n",
+ "H1 = 20.03;#Enthalpy of liquid water at 20 deg cel in Kcal/Kg\n",
+ "H2 = 10.4;#Enthalpy of liquid water at 10 deg cel in Kcal/Kg\n",
+ "Hv = 601.6;#Enthalpy of saturated vapour at 10 deg cel in Kcal/kg\n",
+ "\n",
+ "#To calculate the pressure in the math.tank and the amount of make up water required\n",
+ "P = Pv;#pressure in the math.tank = vapour pressure of water\n",
+ "print \"The pressure in the math.tank is %f Kgf/sq.cm\"%(P);\n",
+ "#From equation 12.8 (page no 234)\n",
+ "x = (H1-H2)/(Hv-H2);\n",
+ "print \" The amount of make up water required is %f Kg\"%(x);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure in the math.tank is 0.012000 Kgf/sq.cm\n",
+ " The amount of make up water required is 0.016289 Kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch13_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch13_1.ipynb
new file mode 100644
index 00000000..2d92c849
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch13_1.ipynb
@@ -0,0 +1,956 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:98e5c2c383a1a1550ca177061033a45bcfa7bc464bb9def6e21c0e4e3bbd4374"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13 : Thermodynamics in Phase Equilibria"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1 Page No : 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "#N2 obeys the relation : Z = 1+(2.11*10**-4*P)\n",
+ "Tc = 126;#Critical temperature in K\n",
+ "Pc = 33.5;#Critical pressure in atm\n",
+ "T = 373;#in K\n",
+ "P = 100;#in atm\n",
+ "\n",
+ "#To Calculate the fugacity of N2 at 373K and 100 atm\n",
+ "#(i)Umath.sing the Z relation given above\n",
+ "#From equation 13.12 (page no 239)\n",
+ "phi = math.e**(2.11*10**-4*(P-0));#fugacity coefficient\n",
+ "f = phi*P;\n",
+ "print \"i)The fugacity of N2 umath.sing the given Z relation is %f atm\"%(f);\n",
+ "\n",
+ "#(ii)Umath.sing the fugacity chart given in figure A.2.9\n",
+ "Pr = P/Pc;#Reduced pressure in atm\n",
+ "Tr = T/Tc;#Reduced temperature in K\n",
+ "#From figure A.2.9,\n",
+ "phi = 1.04\n",
+ "f = phi*P;\n",
+ "print \" ii)The fugacity of N2 umath.sing the fugacity chart is %f atm\"%(f);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The fugacity of N2 umath.sing the given Z relation is 102.132418 atm\n",
+ " ii)The fugacity of N2 umath.sing the fugacity chart is 104.000000 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 Page No : 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "P1 = 50*1.03*10**4;#Initial pressure in Kgf/sq m\n",
+ "T = 373.0;#Temperature in K\n",
+ "P2 = 1.03*10**4;#Final pressure in Kgf/sq m\n",
+ "V = 0.001*18;#Volume in cubic meter\n",
+ "R = 848.0;#gas consmath.tant in m Kgf/Kgmole K\n",
+ "\n",
+ "#To Calculate the fugacity of liquid water\n",
+ "#From equation 13.13(page no 240)\n",
+ "del_u = (V/(R*T))*(P2-P1);#del_u = ln(f2/f1); Change in chemical potential\n",
+ "f1 = P2;#in Kgf/sq m\n",
+ "f2 = f1*(math.e**del_u);\n",
+ "print \"The fugacity of the liquid water at 50 atm is %4.2e Kgf/sq m\"%(f2);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The fugacity of the liquid water at 50 atm is 1.00e+04 Kgf/sq m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 Page No : 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "x1 = 0.1;#mole fraction of methane\n",
+ "x2 = 0.9;#mole fraction of propane\n",
+ "P = [28.1,31.6,35.1];#Pressure in Kgf/sq cm are\n",
+ "K1 = [5.8,5.10,4.36];#Vapourisation consmath.tants of methane at the corresponding presssures\n",
+ "K2 = [0.61,0.58,0.56];#Vapourisation consmath.tants of propane at the correspondig pressures\n",
+ "\n",
+ "#To Calculate the bubble point pressure of the solution\n",
+ "#From equation 13.27 (page no 245)\n",
+ "y1 = []\n",
+ "y2 = []\n",
+ "y = []\n",
+ "for i in range(0,3):\n",
+ " y1.append(K1[i]*x1);#mole fraction of methane in the vapour phase\n",
+ " y2.append(K2[i]*x2);#mole fraction of propane in the vapour phase\n",
+ " y.append(y1[i]+y2[i]);#sum of the mole fraction in the vapour phase\n",
+ " \n",
+ "\n",
+ "plt.plot(P,y)\n",
+ "plt.title(\"y vs pressure\")\n",
+ "plt.xlabel(\"P\")\n",
+ "plt.ylabel(\"y\")\n",
+ "plt.show()\n",
+ "P1 = numpy.interp(1,y,P)\n",
+ "print \"The bubble point pressure of the solution is %f Kgf/sq cm\"%(P1);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEZCAYAAACJjGL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH5RJREFUeJzt3X2clXP+x/HXmWkqhUIRaYWkmYpGjCI6W9rKXcoPvzyI\nfqxtV2ndJITGvW6oLLsbi3XfYm3EDxt2fnKTlOl+ZlSKbkgSKtLNnN8fn2vMmemc00zNdb7XOef9\nfDzO45xzXefmPdN0Puf63l0gIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIuKjeq4DANmuA4iI\nuDQCeLHatgeAiTEeOxJ4odq2Sd4F4FJgGfAD8BlwYZz3LPTec4r32DnAMVH7VwDXA/OBn4AsoAvw\nAbABmAt0j3p8vPdtA/wf8B2wzns/gNZAufe6FYqAy6Je733gfuAb4HagPjAe+Bz4CvgL0DDOzyci\nklZaAJuAJt79esBaID/GY38FbAb29u5nA2uAAqAx8D1wlLfvICAvznsWAluBAd5rXIt9wFd8c18B\nfAK0BBp4198Afbz9p3n3D9jF+z4H3Ojdrg+c5N1uzc6F4j/A/3i3LwW2AVd6j2kITACmAk29n/8V\n4O44P5+ISNp5Hbjcu30msDDBY2cAF3u3ewFLvduNsW/7A4C9dvF+hdjRQYUQVnBO9u4vxz6sK4wE\nnqz2Gm8Ag4BGCd73CWAyVmiitWbXheLzavk2AUdEbeuKFTeRGsna9UNEAu0J4CLv9kXAUwke+yww\n0Lt9IfCMd3szcAEwBPvQfxU4OsHrrIq6HfHuHxK1bWXU7cOA87CCUHE5GTsa+jHB+16PfcjPworf\n4AR5qot+/+ZYQZoT9f6vA81q8XoiIiltL+BboAOwETg0wWObYx/OLbEPzFjFoAHWnv9unNcoBD6M\nup/FzkcUPaL23wA8nOgHqMH7noz1dxzh/QzlVDahAZRQ9YhiRrV8m4GDa5BBJCYdUUiq+wn4J3a0\n8BFVv+1Xtw7r+P071vRS5m0/EOiHNUFtwz5YdyR4nc5Af6xP5I/AFmBmnMc+DZwF/Abrx2gIhLFi\nleh9z6Oy6H2HHbmUez/DaqwJLRsrEEcmyFoOPIJ18Df3trX08oiIZIxu2AfiJTV47EXeY6+N2tYC\nKyDfYUca7wDt4jx/NDZ6KnrUU6eo/dWPKMA6zIuA9cDXwDSsCCR63zFY0duI9aVcHvV6fbBCtwE7\nConuo7iEnY9KGgB3YaOrvgcWA0Pj/HwiSfcYNgplQZz97bDD+C1U/Y8LNnpkPlCMtdOKxNOKqiOa\n/DSaxP0gImnH76anx6kcFhjLemAY9q2ough2iJ6PfSMTiSUL+5LxHDa6x2+hJLyHSKD4PXN0Bjac\nL5513uWMOPv1n1ISaYwdsS4n8ReSuhTxLiIZIwhLDMQTAd7COvcmYx1yItGS1dwU7bYkv5+Ic0Eu\nFCcDX2IjNaYDpVQd9iciIkkQ5ELxpXe9DvgX1k9RpVAceeSRkWXLliU7l4hIqluGrSdWI0GZR1G9\nL6IRsI93uzE25nunkVPLli0jEokE/jJ69GjnGZRTOVM1o3LW/YXEc2924vcRxXPYSpnNsGUFRgM5\n3r7J2Djyj4F9sbHtw7FF0Q4EXorK+Azwb5+ziohIDH4XioG72P8VNga+uk1UncQkIiKOBKXpKa2F\nw2HXEWpEOetWKuRMhYygnK6l+jyFiNfeJiIiNRQKhaAWn/86ohARkYRUKEREJCEVChERSUiFQkRE\nElKhEBGRhFQoREQkIRUKERFJSIVCREQSUqEQEZGEVChERCQhFQoREUkorQrFZ5+5TiAikn7SplCs\nXg1du8KwYbBhg+s0IiLpI20KRcuWsHgxbN8OubnwyCOwY4frVCIiqS8tlxkvLoahQ2HrVnjwQTjx\nRAfJREQCSsuMA/n58N57cNVVMGAADB4Ma9e6TiUikprSslAAhEJw8cVQUgLNmkGHDjBxImzb5jqZ\niEhqScump1hKSmD4cFizBh54AHr08DmZiEhA1bbpKWMKhT0Ypk6Fq6+GggIYPx5+9Ssf04mIBJD6\nKBIIhaB/fxsdlZcHxx0Hd90FW7a4TiYiElwZVSgqNGoEhYXw8ccwe7b1X7z6qutUIiLBlFFNT/G8\n+aaNkGrTxjq8jzqqDpKJiASUmp52Q+/esGABhMM2u/umm2DTJtepRESCQYXCU78+jBgB8+fDF1/Y\n7O4pU6wDXEQkk6npKY733rPZ3U2bwp/+BB07+vI2IiJJp6anOtKtG8yZA+efDz17Wh/Gd9+5TiUi\nknwqFAlkZ8Mf/mDDabduhXbt4NFHobzcdTIRkeRR01MtzJljy5hv326LDRYUJO2tRUTqjJqefNS5\nc2XfxTnnwGWXwddfu04lIuIvFYpaysqCQYNs7aimTaF9e1s7avt218lERPyhpqc9tHixdXSvXWuj\no8Jhp3FERHZJiwI6CQEvvQTXXGMT9saPh0MPdZ1KRCQ29VE4EArBuedac1TbttCpE9xzD/z8s+tk\nIiJ7ToWiDjVqBLffDrNmwcyZttjga6+5TiUismf8LhSPAWuBBXH2twM+BLYA11bb1wcoBZYAI/0K\n6IcjjoCXX7Y+i6uvhrPOgqVLXacSEdk9fheKx7EP/HjWA8OA8dW2ZwMPes/NAwYCuX4E9FOfPrbY\nYLdu0KULjBoFmze7TiUiUjt+F4oZwIYE+9cBs4HqZ7IuAJYCK7x9U4B+PuTzXYMGMHIkzJsHK1bY\nYoPPP6/FBkUkdQS1j6IlsDLq/ipvW8pq2RKeeQaeftrOqtezJyxc6DqViMiu1XMdII4af98uLCz8\n5XY4HCYc8IkMp55qS4FMngw9esCFF9rZ9po2dZ1MRNJVUVERRUVFu/38ZMyjaA1MAxIt1D0a2ATc\n593vAhRS2b9xI1AOjKn2vEDMo9hd69ZZv8W0aXD33XDJJTbzW0TET6k6j6J64NnAUViRqQ9cALyS\n5Ey+a94cHn7YCsXkyXDSSXYebxGRIPH7iOI5oDvQDBsmOxrI8fZNBloAHwP7YkcMG7FRTpuAvsBE\nbATUo8A9MV4/pY8oopWXwxNP2GlYzzzTjjCaN3edSkTSkZbwSHHffQe33Wad3qNHw5AhUC+oPUki\nkpJUKNLEwoW22OA339i5L0491XUiEUkXKhRpJBKBF16A666zSXvjxtkwWxGRPZGqndkSQyhk5+wu\nKbFlQY45Bu69V4sNikhyqVCkgMaN4c474aOP4P33oWNHeP1116lEJFOo6SkFvfYa/PGPthzIhAlw\n5JGuE4lIKlHTUwY44wzr7O7aFU48EW65BX780XUqEUlXKhQpqkEDuPFGKC6GJUvs6OLFF7XYoIjU\nPTU9pYmiIhg2DA480M6DkZfnOpGIBJWanjJUOGxHF/36Qffudv7u7793nUpE0oEKRRqpV88m6S1a\nBD/8AO3a2bIg5eWuk4lIKlPTUxqbNQuGDoXsbJvd3bmz60QiEgRqepJfFBTAzJlw+eU2Uup3v7Ml\nQUREakOFIs1lZcFll0FpKTRsaJ3cDz0E27e7TiYiqUJNTxlmwQIbHfXddzY66pRTXCcSkWTTooCy\nS5EIPP+8LTZ46qm22OAhh7hOJSLJoj4K2aVQCC64wBYbPOwwW2xw7FjYutV1MhEJIh1RCEuW2NpR\nS5fCAw9A796uE4mIn9T0JLvt1VetYHToYIsNHn6460Qi4gc1PcluO/NMW2zwhBPg+OPtVKxabFBE\nVCikioYNYdQoWw6kpMSG0770khYbFMlkanqShN55x5YFOfhg67/IzXWdSET2lJqepE716GFHF2ec\nYUNpr7vO1pESkcyhQiG7lJNjndwLF8K339pig08+qcUGRTKFmp6k1mbOtNnd9evbYoP5+a4TiUht\nqOlJfNelC3z0EQweDH37wu9/D+vXu04lIn5RoZDdkpVlq9KWlNh5MPLy4K9/hR07XCcTkbqmpiep\nE/PmWXPUpk222ODJJ7tOJCLxaGa2OBOJwJQpMGKEjZYaM8aG1YpIsKiPQpwJhWDgQDv3xSGHQMeO\nMH68FhsUSXU6ohDffPopDB8OK1bYZL1evVwnEhFQ05METCQC06bZPIz8fLjvPmjd2nUqkcympicJ\nlFAIzj4bFi+GTp2gc2e47Tb46SfXyUSkplQoJCkaNoRbboFPPrEZ3nl5MHWqFhsUSQVqehIn3n7b\nhtO2amX9F0cf7TqRSOZQ05OkhJ49be5Fnz425+L662HjRtepRCQWvwvFY8BaYEGCxzwALAHmAdGr\nBq0A5gPFwCyf8olDOTlw9dXWFPX117bY4DPPqDlKJGj8bno6BdgEPAl0jLH/dGCod30iMAno4u1b\nDnQGvk3w+mp6SiMffghDh0KjRja7u1Mn14lE0lPQmp5mABsS7D8beMK7/RHQFDgoan+q96FILXTt\nCrNmwcUXQ+/ecOWVtqy5iLjluo+iJbAy6v4qbxtABHgLmA38Nsm5xJHsbLjiCltsEOyMepMna7FB\nEZdcFwqIf9TQDeuz6AtciTVjSYbYf3946CF48014+mkoKLCmKRFJvnqO33810Crq/qHeNoA13vU6\n4F9AAdaUVUVhYeEvt8PhMOFw2IeY4kqnTvDuu/Dss/Bf/2XLgNx7L7Ro4TqZSOooKiqiqKhot5+f\njD6A1sA0dt2Z3QWY6F03ArKBjUBj4N/Abd51NHVmZ5CNG+GOO+Cxx+Cmm2weRk6O61QiqSdoaz09\nB3QHmmHDZEcDFf+1J3vXDwJ9gM3AYOAT4AjgJW9/PeAZ4J4Yr69CkYHKyuCqq2DlShsd1bOn60Qi\nqSVohcJvKhQZKhKBl1+2eRidO9tig4cd5jqVSGoI2vBYEV+EQnDOObbY4DHHwHHHWbPUli2uk4mk\nHxUKSWl77QW33gpz5sDcubbY4CuvaHa3SF1S05OklenTrf+idWuYNAnatnWdSCR41PQkGa1XL1ts\n8LTT4KST4IYbYNMm16lEUpsKhaSd+vXh2mthwQJYs8YWG3z2WTVHiewuNT1J2nv/fVtscN99bTjt\nMce4TiTilpqeRKo5+WSYPRsGDrSmqWHDYEOipSpFpAoVCskI2dkwZIgNp92+3RYbfOQRLTYoUhNq\nepKMVFxszVFbt8KDD8KJJ7pOJJI8anoSqYH8fHjvPRtKO2AADB4Ma9e6TiUSTCoUkrFCITtJUkkJ\nNGsGHTrAxImwbZvrZCLBoqYnEU9JCQwfbkNqJ0ywjm+RdKRFAUX2QCQCU6fCiBFw9NEwbpwtCyKS\nTtRHIbIHQiHo3x8WLbLly7t3hz/8Ab7+2nUyEXdUKERiaNAArrkGSkttpndeHowZo9VpJTOpUIgk\ncMAB1sH9wQd2zu7cXJgyRcuBSGapSRvVVcBTQBDnsqqPQpKqqMiONBo0gPvvh65dXScSqT0/+igO\nAj4GnsdOWZrqHeAiuy0ctuVAfv97OP98uOACWL7cdSoRf9WkUIwC2gKPAZcCS4C7gSP9iyUSXFlZ\nMGiQnbu7Qwc4/ni4/nr4/nvXyUT8UdM+inLgK2AtsAPYD3gRGOdTLpHAa9QIbrnFljNfv96G0z70\nkCbsSfqpSTPScGAQsB74G/AvYBtWZJbg9shCfRQSGPPm2XkwVq+G8ePh9NNtuK1I0Pgx4e42rNnp\n8xj78oDFNX0zH6hQSKBEIvC//wvXXQctW8J998Gxx7pOJVKVZmaLBMC2bbaM+W23wZlnwp13wsEH\nu04lYjQzWyQAcnJsRndZmc3F6NABbr8dNm92nUyk9lQoRHzUtCmMHWtDahctsvN3P/kklJe7TiZS\nc2p6EkmiDz6wDu+tW63/Ihx2nUgykfooRAIuEoHnn4cbbrCO7rFjoW1b16kkk6iPQiTgQiGb0V1S\nAiedZJfhw20uhkgQqVCIONKwoc3oLimB7dut/+L+++Hnn10nE6lKhULEsebNbUb3u+/CO+9A+/bw\nz39qhVoJDvVRiATM9OnW4d2kiR1hnHCC60SSbtRHIZLievWC4mK49FLo1w8uugi++MJ1KslkKhQi\nAZSdDZddBp9+CkccAfn5MGoUbNzoOplkIhUKkQDbe2+b0T1vHqxaZcNoH37YOr9FkkV9FCIpZM4c\n679Yv95WqO3d23UiSUWacCeS5iIRePllGDEC2rSxgtG+vetUkkqC1pn9GHayowUJHvMAdl6LeUB+\n1PY+QKm3b6RfAUVSTSgE55xja0f16QO//jUMGQJr17pOJunK70LxOPaBH8/pQBvgKOAK4C/e9mzg\nQe+5ecBAINe/mCKpp359m9FdWmpn22vfHu65B376yXUySTd+F4oZwIYE+88GnvBufwQ0BVoABcBS\nYAV2Nr0pQD/fUoqksP33t/kWM2faKrXt2sGzz2qFWqk7rkc9tQRWRt1f5W07JM52EYmjTRub0f3U\nU1Y4unaF9993nUrSgetCAanfoS4SKKeeCrNmwbBhMHAgnHceLFvmOpWksnqO33810Crq/qHY0UNO\nte2tvO07KSws/OV2OBwmrAX+RcjKshndAwbAhAlQUACDB8PNN9vJlCSzFBUVUVRUtNvPT8a3+dbA\nNKBjjH2nA0O96y7ARO+6HlAG9ATWALOwDu2Sas/X8FiRGvjqK7j1VhtWe/PNNkoqJ8d1KnElaPMo\nngO6A82wYbKjsaMFgMnedcXops3AYOATb3tfrHBkA48C98R4fRUKkVpYsMAm7H3+OYwbB2edZcNt\nJbMErVD4TYVCpJYiEXjjDSsYLVrYKVnz83f9PEkfQZtwJyIBEwpB374wfz6cf77dHjwYVq92nUyC\nSoVCJEPVq2d9FWVldmRxzDFQWAibN7tOJkGjQiGS4Zo0sRndc+bYsuZt28Ljj8OOHa6TSVCoj0JE\nqpg5E665xpYCue8+6NHDdSKpa+rMFpE9FonAiy/CyJHQoQOMHWtLg0h6UGe2iOyxUMhmdJeU2Ezv\nbt1spvc337hOJi6oUIhIXA0awHXX2Qq1ALm5dv6Ln392m0uSS4VCRHapWTP4059gxgx4910rGC+8\nYE1Ukv7URyEitfb22zZhr3FjW6n2xBNdJ5LaUB+FiPiuZ08bTnv55bbw4IUX2rIgkp5UKERkt2Rn\n24zusjKbe3HccXDjjfDDD66TSV1ToRCRPbL33jaje/58W6W2bVv4619h+3bXyaSuqI9CROpUcbH1\nX6xdayOk+vTRCrVBowl3IuJcJALTpsGIEdC6tRWMjrHOSCNOqDNbRJwLheDss2HhQjjzTDjtNLji\nCmuaktSjQiEivsnJsRndpaWw777Qvj3cdZetIyWpQ4VCRHy3337W/DRrFsydC0cfDU8/DeXlrpNJ\nTaiPQkSS7r33bIXaSMQm7J1yiutEmUWd2SKSEsrLYcoUm3tx/PEwZgy0aeM6VWZQZ7aIpISsLJvR\nXVpqhaJLFzvK2LDBdTKpToVCRJzaay87qli0CH780fovJk2CrVtdJ5MKKhQiEggHHWQzut95B954\nw0ZITZ2qFWqDQH0UIhJIb75pM7ybNbNTsnbu7DpR+lAfhYikhd69bSjthRfapL1Bg2DVKtepMpMK\nhYgEVr16NqO7rAxatYJjj4Vbb4VNm1wnyywqFCISePvuazO6i4vhs89shdpHH4UdO1wnywzqoxCR\nlDNrlvVf/PCD9V+cdprrRKlFE+5EJCNEIvDSS3D99dCuHYwbB3l5rlOlBnVmi0hGCIXg3HNh8WI7\nNWv37nDllbBunetk6UeFQkRSWoMGNqO7tNQ6v3NzYexY2LLFdbL0oUIhImnhgANsRvcHH9glNxf+\n8Q9N2KsL6qMQkbRUVGRHGg0a2Aq1Xbu6ThQc6qMQEQHCYZg9G4YMgfPOg//+b1i+3HWq1KRCISJp\nKysLLrnEJuzl5dkqtSNHwvffu06WWlQoRCTtNW5sM7oXLIBvvrEJe3/+M2zf7jpZalAfhYhknLlz\nbcLemjV2itbTT7fhtpkiaBPu+gATgWzgb8CYavv3Ax4DjgC2AP8DLPL2rQB+AHYA24CCGK+vQiEi\nuyUSgddegxEjoGVLm+F97LGuUyVHkDqzs4EHsWKRBwwEcqs95ibgE+BYYBAwKWpfBAgD+cQuEiIi\nuy0UslVp58+H/v3hN7+Byy6DL790nSx4/CwUBcBS7MhgGzAF6FftMbnAf7zbZUBroHnU/gw6GBQR\nF3JybEZ3WZnNxejQAe64w862J8bPQtESWBl1f5W3Ldo8YIB3uwA4DDjUux8B3gJmA7/1L6aICDRt\najO6Z8+GhQvtlKxPPgnl5a6TuVfPx9euSefBvVhzUzGwwLuuWDi4G7AGO8KYDpQCM6q/QGFh4S+3\nw+Ew4XB4DyKLSKY7/HCb0f3BBzZhb9Ik679I5Y+WoqIiioqKdvv5fjbtdAEKsT4KgBuBcnbu0I62\nHOgIVD8tyWhv233VtqszW0R8E4lY0bjhBujUyY442rZ1nWrPBakzezZwFNbvUB+4AHil2mOaePvA\nmpf+DysIjYB9vO2Ngd9gRxwiIkkTCtmM7tJSWwLkpJNg+HBYv951suTys1BsB4YCbwKLgX8AJcDv\nvAvYaKgFWLNSb2C4t/0grJlpLvAR8Crwbx+ziojE1bChzehevBi2bbPzX0yYAFu3uk6WHKk+qkhN\nTyKSdIsX2/yLsjIYMwYGDEitCXtBm3DnNxUKEXFm+nSb4d2kia1Qe8IJrhPVTJD6KERE0lqvXlBc\nbAsP9usHF10EX3zhOlXdU6EQEdkD2dlw+eXWDHX44ZCfD6NGwcaNrpPVHRUKEZE6sM8+NqN77lxY\nudKG0T78cHqcYU+FQkSkDrVqZTO6p02Dr75KrU7ueFL9R1BntohILakzW0RE6pQKhYiIJKRCISIi\nCalQiIhIQioUIiKSkAqFiIgkpEIhIiIJqVCIiEhCKhQiIpKQCoWIiCSkQiEiIgmpUIiISEIqFCIi\nkpAKhYiIJKRCISIiCalQiIhIQioUIiKSkAqFiIgkpEIhIiIJqVCIiEhCKhQiIpKQCoWIiCSkQiEi\nIgmpUIiISEIqFCIikpAKhYiIJKRCISIiCalQiIhIQioUIiKSkN+Fog9QCiwBRsbYvx/wL2Ae8BHQ\nvhbPFRGRJPCzUGQDD2If+HnAQCC32mNuAj4BjgUGAZNq8dyUUVRU5DpCjShn3UqFnKmQEZTTNT8L\nRQGwFFgBbAOmAP2qPSYX+I93uwxoDRxYw+emjFT541HOupUKOVMhIyina34WipbAyqj7q7xt0eYB\nA7zbBcBhwKE1fK6IiCSBn4UiUoPH3As0BYqBod71jho+V0REUlwX4I2o+zey607p5cDetXjuUqyo\n6KKLLrroUvPLUgKiHrAM63eoD8xl5w7pJt4+gN8Cf6/Fc0VEJA30xTqpl2JHBQC/8y4AXb39pcCL\nWOFI9FwREREREZHd0wobSrsIWAhc5W0vAGZhHeEfAyc4SWfiZTwW+BCYD7wC7OMkXaWG2ATHucBi\n4B5v+/7AdOBT4N/YQAOX4uU8D/sd7wCOcxOting5xwEl2Oi+l6h6xOxCvJx3YBnnAm9jf8cuxctZ\n4VqgHPt7dSlezkJspGaxd+njIpwn0e9yGPb3uRAYk/xo/mgBdPJu7401S+UCRUBvb3tfKudluBAv\n48fAKd72wcDtyY+2k0bedT1gJtANGAtc720fiY1Kcy1WznZAW+zfOgiFAmLn7EXlyMJ7Ce7vM/qL\nyzDgb8kOFUOsnGBF7A1s4IvrQgGxc44GrnGWaGexMv4a+1KY4+1rnugFUmmtp6+wqgiwCauELYEv\nqfym1hRYnfxov4iX8Shghrf9LeDc5EfbyY/edX1sJvwG4GzgCW/7E8A5DnJVVz3nt1if1qfOEsUW\nK+d07Jsv2Le6Qx3kqi5Wzo1R+/cGvkl2qBhi5QS4n8ovM0EQ6/8RQMhNnJhiZRyCHV1s8/atc5DL\nd62Bz7E/6sOwyXlfYId7rg+bK7TGMu4DvE/lzPJrgB8cZYqWhRW1jdiRBFT+kYP9oW+o/iQHYuWs\nEKQjikQ5AaYBFyY1UWzxct6F/R8qxX2TI8TO2Q+Y4N0OyhFFrJyjsVUl5gGP4v73GStjMdZENhNr\nlTneRTA/7Q3MpvLb7ltAf+/2edi3ONeqZzwaeNPbdivB+MZWoQn2x/Jrdi4M3+78cGcqcoajtgWp\nUFSIlXMU8E8naeKLlRPgBuDxpKeJryLn6d71vt725cABrkLFEP37PBD7ohUC7sSKRRBEZ1xA5dp6\nJwCfOcrkixzsA/ePUduiv52HgO+TmmhnsTJGa4s1QwTJLcB12LfJFt62g737QVKRs0IQCwVUzXkp\ndkTZ0Fma+Kr/PgF+hXVuBsktwM3AWqxALMeaTFZgH8pBEev32Rr7UA6KioyvA92jti8lQeFNpT6K\nEFaZFwMTo7YvpfIH7oHbtut4GSs6irKwP/i/JDlXdc2oPBzeC+t0LcZGZF3ibb8EmJr8aFXEyxkt\nCG3B8XL2AUZgTSZb3ESrIl7ONlGP6cfOv+Nki5XzQ+Ag4HDvsgr7kvC1i4CeeL/PFlGP6Y/bQhEv\n41Ts8xLsy2t9YH3S0/mgG9YxOJfKYWd9sba1iuFfHwL5rgISP+NV2AioMuBuZ+kqdcSWd5+LDdkd\n4W3fH2vKC8rw2Hg5+2P9Uj9hAwhed5KuUrycS7B+qoq/hT87SVcpXs4XsQ+zuVgTmetv6fFyRvsM\n930U8XI+6d2fh30gH+QknYmXMQd4Cvt3n8POTZAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIjWxA5sz\nsQB4HpvkJJLSUmlmtkgq+BGb9NkR2Iqt0imS0lQoRPzzHlWXxxBJSSoUIv6ohy3fMt91EBERCZbt\nVK7tNAkrGCIiIr/YuOuHiKQWNT2JiEhCKhQidSviOoCIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI\niIiI+OD/AXPamuB7GdSzAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10643f210>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bubble point pressure of the solution is 35.100000 Kgf/sq cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4 Page No : 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "T = [80.6,79.0,77.3,61.4];#Various temperature in deg cel\n",
+ "x1 = [0.0,15.0,29.0,100.0];#mole fraction of CHCl3 in liquid phase\n",
+ "y1 = [0.0,20.0,40.0,100.0];#mole fraction of CHCl3 in vapour phase\n",
+ "P1 = [1370,1310,1230,700];#Vapour pressure of CHCl3 in mm Hg\n",
+ "P = 760.0;#Total pressure in mm Hg\n",
+ "\n",
+ "#To Calculate the equilibrium data i.e y/x and compare with the experimental values\n",
+ "#From equation 13.27 (page no 245);K = y1/x1 = Pi/P\n",
+ "print \"Temperature Experimental Calculated\";\n",
+ "Ke_x = []\n",
+ "K_c = []\n",
+ "for i in range(0,4):\n",
+ " print \" %f\"%(T[i]),\n",
+ " if x1[i] == 0 :\n",
+ " print \" Not defined\",\n",
+ " Ke_x.append(0)\n",
+ " else:\n",
+ " Ke_x.append(y1[i]/x1[i]);\n",
+ " print \" %f\"%(Ke_x[i]),\n",
+ " K_c.append(P1[i]/P);\n",
+ " print \" %f\"%(K_c[i])\n",
+ "\n",
+ "if Ke_x[i] == K_c[i]:\n",
+ " print ' The liquid solution is perfect';\n",
+ "else:\n",
+ " print \" The liquid solution is imperfect\";\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature Experimental Calculated\n",
+ " 80.600000 Not defined 1.802632\n",
+ " 79.000000 1.333333 1.723684\n",
+ " 77.300000 1.379310 1.618421\n",
+ " 61.400000 1.000000 0.921053\n",
+ " The liquid solution is imperfect\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 Page No : 246"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "x1 = 0.1;#Mole fraction of dichloromethane (CCl2H2)\n",
+ "x2 = 0.9;#Mole fraction of methyl acetate (C3H6O2)\n",
+ "M1 = 85.0;#Molecular weight of CCl2H2\n",
+ "M2 = 74.0;#Molecular weight of C3H602\n",
+ "D1 = 1.3163;#Density of CCl2H2 in gm/cc\n",
+ "D2 = 0.9279;#Density of C3H6O2 in gm/cc\n",
+ "\n",
+ "#To Calculate the volume of 10% dichloromethane solution\n",
+ "V1 = M1/D1;#Specific volume of pure CCL2H2 in cc/gmole\n",
+ "V2 = M2/D2;#Specific volume of C3H6O2 in cc/gmole\n",
+ "#From equation 13.62(page no 256)& 13.78 (page no 257)\n",
+ "V_e = x1*x2*(1.2672-0.771*x1);#excess volume in cc/gmole\n",
+ "V = V1*x1+V2*x2+V_e;\n",
+ "print \"The volume of 10 percent dichloromethane is %f cc/gmole\"%(V);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The volume of 10 percent dichloromethane is 78.339579 cc/gmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7 Page No : 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "x_T = 0.957;#mole fraction of Toluene\n",
+ "x_D = 0.043;#mole fraction of 1,2-dichloroethane\n",
+ "t = [90, 100, 110];#temperature in deg cel\n",
+ "R = 1.98;#gas consmath.tant in Kcal/Kgmole K\n",
+ "\n",
+ "#To Calculate the vapour pressure of the solution, bubble point at 686 mm Hg and the vapour composition at equilibrium,\n",
+ "#compare the experimental value of 91.2% toluene in vapour with the calculated value & calculate the free energy of mixing\n",
+ "#(1)Calculation of vapour pressure\n",
+ "print \"1Tempdeg cel P_TmmHg P_DmmHg P_smmHg\";\n",
+ "P_T = []\n",
+ "P_D = []\n",
+ "P_s = []\n",
+ "for i in range(0,3):\n",
+ " P_T.append(10**(6.95464-(1344.8/(219.482+t[i]))));#Given as equation(a)(page no 260)\n",
+ " P_D.append(10**(7.03993-(1274.079/(223+t[i]))));#Given as equation(b)(page no 260)\n",
+ " P_s.append(x_T*P_T[i]+x_D*P_D[i]);#pressure of the solution in mm Hg\n",
+ " print ' %f'%(t[i]),\n",
+ " print ' %f'%(P_T[i]),\n",
+ " print ' %f'%(P_D[i]),\n",
+ " print ' %f'%(P_s[i])\n",
+ "\n",
+ "#(2)Calculation of bubble point and comparison of values\n",
+ "plt.plot(t,P_s)\n",
+ "plt.title(\"t vs P_s\")\n",
+ "plt.xlabel(\"t\")\n",
+ "plt.ylabel(\"P_s\")\n",
+ "plt.show()\n",
+ "T = numpy.interp(686,P_s,t)\n",
+ "P = 686.0;#pressure of solution in mm Hg\n",
+ "y_T_e = 0.912;#experimental value of mole fraction of toluene\n",
+ "#From the graph we found that the temperature at P = 686 mm Hg is\n",
+ "#t = 105.3;#in deg cel\n",
+ "print '2)The bubble point is %f deg cel'%(T);\n",
+ "#From equation (a)(page no 260)\n",
+ "P_T = 10**(6.95464-(1344.8/(219.482+T)));#vapour pressure of Toluene in mmHg\n",
+ "#From equation 13.27 (page no 245)\n",
+ "y_T_c = (x_T*P_T)/P;\n",
+ "y_D_c = 1-y_T_c;\n",
+ "print ' The vapour composition of toluene is %f'%(y_T_c);\n",
+ "print ' The vapour composition of 1,(2-dichloroethane is %f'%(y_D_c);\n",
+ "e = ((y_T_e-y_T_c)/y_T_e)*100;\n",
+ "print ' The percentage error is %f percent'%(e);\n",
+ "\n",
+ "#(3)Calculation of free energy\n",
+ "del_F = R*(T+273)*((x_T*math.log(x_T))+(x_D*math.log(x_D)));\n",
+ "print '3)The free energy of mixing is %f Kcal/Kgmole'%(del_F);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1Tempdeg cel P_TmmHg P_DmmHg P_smmHg\n",
+ " 90.000000 406.737847 931.944531 429.321734\n",
+ " 100.000000 556.321921 1245.698588 585.965118\n",
+ " 110.000000 746.589152 1636.315096 784.847367\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x1057dc4d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "2)The bubble point is 105.029855 deg cel\n",
+ " The vapour composition of toluene is 0.901898\n",
+ " The vapour composition of 1,(2-dichloroethane is 0.098102\n",
+ " The percentage error is 1.107696 percent\n",
+ "3)The free energy of mixing is -132.756668 Kcal/Kgmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.8 Page No : 252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "#Consider the diagram shown in page no 263\n",
+ "w1 = 100.0;#weight of LiBr entered as feed in the evaporator per hour in Kg\n",
+ "x1 = 0.45;#weight fraction of LiBr entered as feed\n",
+ "x2 = 0.0;#weight fraction of steam in the LiBr soln\n",
+ "x3 = 0.65;#weight fraction of LiBr formed as product\n",
+ "H1 = -39.0;#Enthalpy of 45% solution at 25 deg cel in Kcal/Kg\n",
+ "H3 = -4.15;#Enthalpy of 65% solution at 114.4 deg cel in Kcal/Kg\n",
+ "H2 = 649.0;#Enthalpy of superheated steam at 100 mmHg and 114.4 deg cel in Kcal/Kg\n",
+ "\n",
+ "#To Calculate the heating load required for the process\n",
+ "#According to material balance\n",
+ "w3 = (w1*x1)/x3;#weight of LiBr solution formed after evaporation per hour in Kg\n",
+ "w2 = w1-w3;# weight of steam formed in Kg/hr\n",
+ "#According to energy balance\n",
+ "Q = (w2*H2)+(w3*H3)-(w1*H1);\n",
+ "print 'The heat that has to be supplied for this concentration process is %f Kcal/hr'%(Q);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The heat that has to be supplied for this concentration process is 23581.923077 Kcal/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.12 Page No : 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "x_A = [0.0, 0.0435, 0.0942, 0.1711, 0.2403, 0.3380, 0.5981];#mole fraction of acetic acid\n",
+ "p_A = [0.0, 17.2, 30.5, 46.5, 57.8, 69.3, 95.7];#partial pressure of acetic acid in mmHg\n",
+ "P_T1 = 202.0;#vapour pressure of toulene in mmHg\n",
+ "P_T2_ex = 167.3;#experimental partial pressure in mmmHg\n",
+ "\n",
+ "#To Calculate the partial pressure of toulene in the solution and check with the experimental value\n",
+ "#From the equation 13.95,\n",
+ "#ln(P_T2/P_T1) = -intg(x_A/((1-x_A)*p_A))\n",
+ "x = []\n",
+ "for i in range(0,7):\n",
+ " if (p_A[i] != 0):\n",
+ " x.append((x_A[i]/((1-x_A[i])*p_A[i]))*10**4)\n",
+ " else:\n",
+ " x.append(0)\n",
+ "\n",
+ "\n",
+ "plt.plot(x,p_A)\n",
+ "plt.title(\" \")\n",
+ "plt.xlabel(\"(x_A/((1-x_A)*p_A))*10**4\")\n",
+ "plt.ylabel(\"p_A\")\n",
+ "plt.show()\n",
+ " \n",
+ "#Area of the graph drawn is\n",
+ "A = -0.138;\n",
+ "P_T2 = (math.e**A)*P_T1;\n",
+ "e = ((P_T2-P_T2_ex)*100)/P_T2_ex;\n",
+ "print 'The partial pressure of toulene is %f mmHg'%(P_T2);\n",
+ "print ' This deviates %i percent from the reported value'%(e);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nSUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10654c750>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The partial pressure of toulene is 175.961936 mmHg\n",
+ " This deviates 5 percent from the reported value\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13 Page No : 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "from numpy.linalg import solve\n",
+ "\n",
+ "#Given\n",
+ "P = 760.0;#pressure at maximum boiling azeotrope of A and B in mmHg\n",
+ "x_A = 0.6;#mole fraction of A in liquid phase\n",
+ "x_B = 0.4;#mole fraction of B in liquid phase\n",
+ "p_A = 600.0;#vapour pressure of A at 90 deg cel\n",
+ "p_B = 300.0;#vapour pressure of B at 90 deg cel\n",
+ "\n",
+ "#To Check whether the activity coefficient of the solution can be represented by the Margules equation\n",
+ "y_A = P/p_A;#Activity coefficient of A\n",
+ "y_B = P/p_B;#Activity coefficient of B\n",
+ "#From the Margules equation or equation (a) & (b)\n",
+ "U = [[((x_B**2)-(2*(x_B**2)*x_A)), (2*(x_B**2)*x_A)], [(2*(x_A**2)*x_B), ((x_A**2)-(2*(x_A**2)*x_B))]];\n",
+ "V = [math.log(y_A), math.log(y_B)];\n",
+ "W = solve(U,V);\n",
+ "#Now the value of consmath.tants A and B in equations(a)&(b) are given as\n",
+ "\n",
+ "A = W[0];\n",
+ "B = W[1];\n",
+ "#let us assume \n",
+ "x_A = [0.0,0.2,0.4,0.6,0.8,1.0];\n",
+ "x_B = [1.0,0.8,0.6,0.4,0.2,0.0];\n",
+ "#C = lny_A; D = lny_B; E = ln(y_A/y_B)\n",
+ "C = []\n",
+ "D = []\n",
+ "E = []\n",
+ "for i in range(6):\n",
+ " C.append((x_B[i]**2)*(2*(B-A)*x_A[i]+A));\n",
+ " D.append((x_A[i]**2)*(2*(A-B)*x_B[i]+B));\n",
+ " E.append(C[i]-D[i]);\n",
+ " \n",
+ "plt.plot(x_A,E)\n",
+ "plt.title(\" \")\n",
+ "plt.xlabel(\"x_A\")\n",
+ "plt.ylabel(\"ln(y_A/y_B)\")\n",
+ "plt.show()\n",
+ "#Since the graph drawn is approximately symmetrical.Thus it satisfies the Redlich-Kister Test\n",
+ "print 'The actvity coefficients of the system can be represented by Margules equation';\n",
+ "#end\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10654cdd0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The actvity coefficients of the system can be represented by Margules equation\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.14 Page No : 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "P = 760.0#Total pressure of the mixture in mmHg\n",
+ "T = [80, 90, 95, 100];#Temperature in deg celsius\n",
+ "P1 = [87.4, 129.0, 162.0, 187.0];#vapour pressure of 1,1,2,2-tetrachloroethane in mmHg\n",
+ "P2 = [356, 526, 648, 760];#Vapour pressure of water in mmHg\n",
+ "\n",
+ "#To Calculate the composition of the vapour evolved\n",
+ "plt.plot(T,P1,\"green\",T,P2,\"red\")\n",
+ "plt.title(\" \")\n",
+ "plt.xlabel(\"Temp in deg cel\")\n",
+ "plt.ylabel(\"Vapour pressure in mmHg\")\n",
+ "plt.show()\n",
+ "#From the graph we conclude that at 93.8 deg cel\n",
+ "P1 = 155.0;#in mm Hg\n",
+ "P2 = 605.0;#in mm Hg\n",
+ "y_1 = P1/P;\n",
+ "y_2 = P2/P;\n",
+ "print 'Mole fraction of 1,(1,(2,(2-tetrachloroethane in vapour is %f'%(y_1);\n",
+ "print ' Mole fraction of water in vapour is %f'%(y_2);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEPCAYAAABcA4N7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcU/X97/HXsA8wwEyFYVgUFIEi1q1wtdUSFRFcQGuv\nS12g2sV6rfror61if/0xffS2Cvdaa3t/ilUrQ6sj1KJoKwi2RK3WjV1xVEAqAzLsOwOz5P7xOSGZ\nkMmcZHJyksz7+XjkMclJcvLlPMJ557uc7xdERERERERERERERERERERERERERETEpanAB8Bq4Gmg\nM1ACLAY+BhYBvWJe/wlQBYzLaElFRCTjBgHrsXAAmANMBmYAP3G23Q3c79wfAawAOjrvXQu0y0xR\nRUSkOV6eiPcCdUBXoIPzdzMwEahwXlMBXOHcnwRUOu/ZgAXFaA/LJyIiLngZFDuBB4DPsIDYjTU5\nlQI1zmtqnMcA/YDqqPdXA/09LJ+IiLjgZVCcBNyFNSP1A7oDN8S8JuTcmpPoORERyYAOHu77y8Cb\nwA7n8TzgHGAL0Nf5WwZsdZ7fBAyMev8AZ1sTJ510UmjdunUeFVlEJG+tA4ak8kYvaxRVwNlAIVAA\njAXWAC9indo4f5937r8AXAt0AgYDJwPvxO503bp1hEIh3dJ0mzZtmu9lyKebjqeOZbbesFaelHhZ\no1gJzAbeAxqBZcDvgSJgLnAL1ml9tfP6Nc72NUA9cBtqehIR8Z2XQQE2FHZGzLadWO0inl85NxER\nyRK6TqGNCwQCfhchr+h4po+OZfYo8LsAKQg57W0iIuJSQUEBpHjOV41CREQSUlCIiEhCCgoREUlI\nQSEiIgl5PTxWRET8EgrB669DRUXLr01AQSEikm82bIDZsy0gCgth8uQW35KIhseKiOSD/fvh2Wct\nHFavhuuus4A46ywoKGjV8FgFhYhIrmpshFdftXCYPx/OOw+mTIFLL4XOnZu8VEEhItKWrFtn4TB7\nNvTsaeHwzW9CaWmzb2lNUKiPQkQkF+zdC3/+M8yaBR99ZMHw/PNw+umef7RqFCIi2aqhAZYssXD4\n61/hggus32HCBOjUKaldqelJRCSffPxxpGmpTx9rWrruOjjuuJR3qaYnEZFct3s3zJljAbF+Pdxw\nA7z0Epx6qt8lU41CRMQ3DQ2weLGFw4IFcNFFVnu4+GLokN7f8Wp6EhHJJWvWWDj86U/Qv7+Fw7XX\nQkmJZx+ppicRkWy3cyc884x1TG/aZE1LixfDiBF+l6xFqlGIiHilvh5eftnCYfFiG600eTKMHZv2\npqWWZPPCRcOA5VG3PcAdQAmwGPgYWAT0inrPVOAToAoY53H5RETSb/Vq+NGPYOBA+OUvLRg2bIDK\nShg/PuMh0VqZrFG0AzYBo4EfANuBGcDdQDFwDzACeBoYBfQHXgGGAo1R+1GNQkSyz/btFgSzZsHW\nrXDTTXYbNszvkgG500cxFlgLbAQmAmOc7RVAEAuKSUAlUAdscF4/Gngrg+UUEXGnrs6GsFZUwD/+\nAZddBtOnw/nnQ/v2fpcubTIZFNdiIQBQCtQ492ucxwD9aBoK1VjNQkQke6xYYeHw9NMwdKiNWpo1\nC3r08LtknshUUHQCLseamWKFnFtz1M4kIv7buhWeesoCYtcu65R+4w0YMsTvknkuU0ExAVgKbHMe\n1wB9gS1AGbDV2b4JGBj1vgHOtibKy8uP3g8EAgQCgXSXV0QEjhyxOZZmzYLXXoNJk+DBB2HMGGiX\n3StJB4NBgsFgWvaVqc7sZ4AFWH8EWCf2DmA61jfRi6ad2aOJdGYPoWmtQp3ZIuKdUAiWLbNweOYZ\nGDnSag9XXQVFRX6XLmXZfmV2N+DfwGBgn7OtBJgLHI91Wl8N7Haeuxe4GagH7gRejtmfgkJE0u/z\nz61padYsOHjQ+h1uvBEGD/a7ZGmR7UGRbgoKEUmP2lp48UULhzffhK9/3WoP556b9U1LyVJQiIi4\nFQrBO+9Yp/Tcubbwz5QpcOWV0K2b36XzTK5cRyEi4p9Nm+CPf7SAaGiwmsOyZXD88X6XLOspKEQk\nfx06ZMuFVlRYLeIb34AnnoBzzoGCXGxQ8YeCQkTySygE//qX9Ts8+yyMHm21h+eeg8JCv0uXkxQU\nIpIfPvss0rTUvr2Fw6pVMGCA3yXLeQoKEcldBw5YTWHWLFi+HK65xsJi9Gg1LaVRLh5JjXoSactC\nIXj9das5zJsHX/mK1R4mToQuXfwuXdbSqCcRyX8bNsDs2RYQhYU2pHXNGigr87tkeU9BISLZa/9+\n65CuqID337d1pefOhTPPVNNSBuXikVbTk0g+C4VsVtbHH4f58+G886z2cOml0Lmz36XLWboyW0Ry\n35491hE9c6atNf3d78L110NpacvvlRYpKEQkdy1dCo88An/5C1x8Mdx6q03jraaltFJntojklgMH\nbArvmTNtrenvfQ+qqlR7yFK5GNmqUYjkqvffh0cftSVEzz3Xag/jxuXV+tLZSjUKEcletbXWrDRz\nJqxfD9/+tq05PXBgy++VrKAahYh4Y+1aqz1UVMAZZ1jt4bLLoGNHv0vWJrWmRuFmZY59cW7VwHPA\nial8qIjkqbo6u1p63Di7YrqgwBYEevllW+9BIZGT3DQ9PQRsBCqdx9cCJwHLgT8AAU9KJiK5Y+NG\neOwxu/ZhyBCrPVx1la57yBNuqiGrgC/FbFsBnA6sBE5Ld6FaoKYnkWzQ0GA1hZkz7QK566+30Uun\nnOJ3ySQOr5ueDgLXOK9tB1wN1DrPuTlj9wKeBT4E1gD/AygBFgMfA4uc14RNBT4BqoBxLvYvIplU\nUwP33Wc1h/JyuOIKm+L7t79VSOQpN0FxPXAjsNW53QTcABQCt7t4/0PAS8AXsZpJFXAPFhRDgb87\njwFGYKE0AhgPPOyyjCLipVAIliyxabyHD7fRS88+a6vG3XxzXq81Ld6PeuqJ9WXEdnpXAWOAGqAv\nEASGY7WJRmC687qFQDnwVtR71fQkkik7d9qopUcftY7oW2+FG26Anj39LpkkyavrKH4XdT8U8wEh\n4A4X+x8MbAOexPoylgJ3AaVYSOD8DV+O2Y+moVAN9HfxOSKSLqEQvP22Tasxfz5cfrmtMx0exSRt\nTqKgWEokIH4O/BeRsHD7k74DcCbWRPUu8BsizUxhoRb2d8xz5eXlR+8HAgECgYDL4ohIs/btg6ee\nss7pAwes9vDAA3DccX6XTFIQDAYJBoNp2ZfbnwfLgTNS2H9f4F9YzQLgXKx56UTgfGALUAYswZqe\nwiFyv/N3ITANeDtqn2p6EkmnFSssHObMgQsvtIC44AJop+7BfOL1qKfW2IJdgzHUeTwW+AB4EZjs\nbJsMPO/cfwG7TqMTFi4nA+94XEaRtufgQVtn+uyzbQnRAQPggw+sg3rsWIWENJGJuZ5+ADyFnfzX\nAd8C2gNzgVuADdiQW7Dhs3Odv/XAbbhv5hKRllRVWcf0H/9oIfGf/wkTJmhSPkkoUTVkP5GTdCFw\nKOq5ENDDq0K1QE1PIsk4cgSee86al6qq4JZbbGK+QYP8LplkkBYuEpFjffop/P738OSTdiHcrbfC\npEnQqZPfJRMfZGKa8WJgYMzrl6XygSLiofp6+NvfrPbw3ntw003w6qswbJjfJZMc5iYofgFMAdZj\nF8OFne9FgUQkBZs22bUOjz0Gxx9vtYd586Cw0O+SSR5wExTXYLPFHvG4LCKSjMZGeOUVqz0Eg3Dd\ndVab+FLsHJ4ireMmKD7Amp5qWnqhiGTAtm3W7/Doo9CjB3z/+zbNRlGR3yWTPOWmY2MUMB94Hzjs\nbAsBE70qVAvUmS1tTygE//yn1R5eeskWAbr1Vhg1StNqiCtej3r6EHgEC4pwH0UIeDWVD0wDBYW0\nHbt32zUPM2daWNx6K9x4IxQX+10yyTFeB8W7WK0iWygoJL+FQjZiaeZM65AeP96al847T7UHSZnX\nw2NfB+7Dptc4HLVdw2NF0mn/fqistIDYtctWi/voI+jTx++SSRvnJl2CxJ9Gw6/hsapRSH5Zvdo6\npisr4Wtfs+aliy7SfEuSVl7XKAKp7FhEEqittQn4Zs6EDRvgO9+BlSttcj6RLOMmXYqx5U8HEQkW\ntwsXeUE1Csldn3xitYeKCjjrLKs9XHYZdMjE/JzSlnldo3gJW1NiFTbqqQDN6CriXl2drRQ3c6Y1\nM33rW7aC3ImxKwSLZCc36bIMW6UuW6hGIbnhs89sSo0nnoChQ632cOWV0Lmz3yWTNsjrhYueBr6L\nrURXEnUTkVgNDTaNxuWXw5ln2vKif/+7TbFx7bUKCclJbpqeaoH/A/yUphfcqd4sAnbdw+rV1rz0\n+OPQt6/VHubMga5d/S6dSKu5qYZ8il1wt93jsrilpifx3+7dsHgxLFxot8JCuOQSmDLFahIiWcbr\nzuxPaLq6nUjb09gIy5dbKCxYAKtW2ZXS48fD1KkwZIjfJRTxjJt0eR44BVhC00kBNTxW8tv27VZr\nWLAAXn4ZSkosGCZMsJDQWg+SQ7ye62mK8zd8dg4Pj61w+RkbgL1AA1AHjMY6w+cAJzjPXw3sdl4/\nFbjZef0dwKKY/SkoxBsNDTbH0oIFVnP48EMIBCwYLr4YBg/2u4QiKcv2NbM/Bc4CdkZtm4H1ecwA\n7sYu6rsHGIGNshoF9AdeAYbSdGU9BYWkT00NLFpk4bBoEZSVRWoNX/2qRilJ3siFoPgysCNqWxUw\nBlsMqS82n9RwrDbRCEx3XrcQKAfeinqvgkJSV19vF7uFaw1r18KFF0ZqDQMH+l1CEU943ZndWiGs\nZtAAPAo8BpQSWTGvxnkM0I+moVCN1SxEUrd5c2R00iuvwAknWDD8+tdwzjnQsaPfJRTJapkIiq8C\nnwO9gcVYbSJaiMRTghzzXHl5+dH7gUCAQCDQ2jJKPqmrgzfeiIxQqq622VgvuQQeesial0TyXDAY\nJBgMpmVfbqohw4AfceykgBek8HnTgP3Ad7BZabdgV3wvwZqe7nFed7/zd6Hznrej9qGmJznWZ59F\ngmHJEjj5ZKs1jB8Po0dr0j1p87zuo1iFLYW6DGs+AguKpS7e2xVoD+wDumEjmH4OjMX6LKZj4dCL\npp3Zo4l0Zg+haa1CQSFw+DC8/nokHLZutT6G8eNh3Dgt9iMSw+s+ijosKFJRCjwX9VlPYWHxHjAX\nuIXI8FiANc72NUA9cBuaqVbC1q+PBMOrr8LIkRYMs2bZ1dDt2/tdQpG85CZdyoFtwDyaLoW6M+6r\nvacaRVtx6JAFQniE0p49kaGrY8fCF77gdwlFcobXTU8biP+r3q+rjxQU+SoUsoV9wsHwxhtw+umR\ncDjtNC0PKpKibL+OIt0UFPnkwAHrfA6Hw+HDkWC48ELo1cvvEorkBa+C4kLg78BVxK9RzEvlA9NA\nQZHLQiGbGiMcDG+9BaNGRUYojRwJBbn4+0Uku3nVmf01LCguJ7uCQnLN3r22eE/4oreCAguG22+H\nefOgqMjvEopIArn40001imwXCtk03OERSkuX2hXQ4VrD8OGqNYhkmPooxH/hhXzCTUpdu0aCIRCA\nbt38LqFIm6agkMxLtJDPhAlayEckyygoJDNiF/IpLrZQ0EI+IlnP66DoBvwQOB6bo+lkbP6nv6by\ngWmgoMiU5hbyGT/eblrIRyRneB0Uc7F5nW7ClkTtBrwJnJbKB6aBgsJLWshHJC95HRRLsRXqlgNn\nONtWoqDID1rIR6RN8HpSwMNAdOPzSTSd80lyjRbyEZEkuEmXccBPsSnAF2MLEU3B1pDwg2oUyYpd\nyGfjRlvIJ1xr0EI+InnPy6andsD/xK7QPtvZ9jY2m6xfFBRuaCEfEYmSqT6KbKGgiEcL+YhIAl4H\nxf3AdmAOcCBqu9aj8FvsQj6nnBK5rkEL+YhIFK1H0VY0t5DP+PHW56CFfESkGboyO19pIR8RSROv\ng2Iy8WsUs1P5wDTI76CIXshnwQI4ckQL+YhIq3l9HcUoIkFRCFwALMN9ULQH3gOqsbUtSrD+jhOw\nZq2rgd3Oa6cCNwMNwB3AIpefkbsSLeQzf74W8hER36VyBuqFnegvdvn6H2KjpoqAicAMrHN8BnA3\nUAzcg12n8TQWTP2BV4ChQGPM/nK/RtHcQj7jx8MFF2ghHxFJO69rFLEO4r4jewBwCfBLLDDAwmKM\nc78CCGJBMQmoBOqwmsZaYDTwVgplzC6JFvK56y4t5CMiWc1NULwYdb8d9st/rsv9Pwj8GOgRta0U\nqHHu1ziPAfrRNBSqsZpFbmpuIZ8f/1gL+YhITnETFA9E3a8D/o2dxFtyGbAVm0ww0MxrQsTvKI9+\n/hjl5eVH7wcCAQKB5nafQYkW8rn3Xi3kIyIZFQwGCQaDadmXm/aO7sAhrIN5mHNbgIVGIr8CbgTq\ngS5YrWIe1gcRALYAZdicUcOx5iewC/wAFgLTsClDomVPH4UW8hGRHOH18NhlwLlYp/MbwLvAEeD6\nJD5nDPAjbNTTDGAHMB0Lh1407cweTaQzewjH1ir8Cwot5CMiOcrrzuwCrAP7FuBh7ES/MoXPCp/d\n78f6OG4hMjwWYI2zfQ1WC7mNxM1SmVFTY7WFhQubLuTzq19pIR8RaRPcpMty7KT9IHZy/wBYDZzq\nYbkS8bZGEb2Qz4IFsG6dFvIRkZzndY3iLuxCuOewkDgJ/9ai8EZzC/k8+KAW8hGRNi/ZdGmHdW7v\n9aAsbrW+RqGFfESkjfG6M7sS+B426uldoCfwENZX4YfUgkIL+YhIG+Z1UKwETsNGOZ2JjVBaRrb3\nUYQX8gmPUNJCPiLShnndR9EB6AhcAfw3dv2E/6OR4mluIZ9Zs7SQj4hIitwExaPYMNZVwGvAIGCP\nd0VKQnML+Vx/vYWDFvIREWm1VKohBdjU4fVpLotbodBvfqOFfEREkuB101NfbPbX/sB44IvAOcAT\nqXxgWqxeDd/+NlRWaiEfERGPuUmXhcCTwE+BL2H9FcuBkR6WK5HsmetJRCRHtKZG4aad5jhsoaIG\n53Ed/jU7iYhIhrkJiv1AdK/w2WRLZ7aIiHjOTR/Ff2CLF50IvAn0Br7hZaFERCR7tBQU7YGvObfh\nWPvWR9g04yIi0ga46dh4F1tsKFuoM1tEJEleT+HxIDbSaQ5wwHlPCJvGww8KChGRJHkdFEHiT9lx\nfiofmAYKChGRJHkdFNlGQSEikqRMXEfxO+wiu2XYFOOaRElEpI1wExTPAFuBr2PDYrdh/RUiItIG\nuAmKvsAvgE+B9cD/BkpdvK8L8DawAlgD3OdsLwEWAx8Di4DoyZqmAp8AVcA4F58hIiIecxMUi4Dr\nnNe2A65xtrWkFuvwPh2bI+p84Fxs4aPFwFDg785jgBHOvkdgkw8+7LJ8IiLiITcdG/uBrkCj87gd\nNkwWbDRUDxf76Aq8CkwB/gKMAWqw2koQu5hvqvMZ0533LATKgbdi9qXObBGRJHndmd3deV0H59YO\nKHJuLYVEO6zpqQZYAnyANVvVOM/XEGnG6gdUR723GpvaXEREfORmrqfWaMSannoCL3PstRchEi+r\nGve58vLyo/cDgQCBQKA1ZRQRyTvBYJBgMJiWfWXyOoqfAYeAbwMBYAtQhtU0hhPpq7jf+bsQmIZ1\niEdT05OISJK8bnpK1XFERjQVAhdh12K8AEx2tk8GnnfuvwBcC3QCBgMnA+94WD4REXGhpaanDli/\nwrAU9l0GVBAZLfVHbJTTcmAucAuwAbjaef0aZ/sabGGk20jcLCUiIhngphoyH7gD+LfHZXFLTU8i\nIklqTdOTm87sEqxW8Q5Nh8VOTOUDRUQkt7gJip95XgoREclamj1WRKQN8LrpaT+RTuVO2CJG+3F3\nRbaIiOQ4N0HRPep+O6xv4mxviiMiItkm1aanFdgV135Q05OISJK8bnq6Kup+O+As7AprERFpA9wE\nxeVE+ijqsYvkJnlVIBERyS4a9SQi0gZ4PdfTQOA5bAnUbdh6EgNS+TAREck9boLiSWzCvn7O7UVn\nm4iItAFuqiErgdNcbMsUNT2JiCTJ66anHcCNQHus8/sGYHsqHyYiIrnHTboMAn5H5CK7N4EfAJ95\nVKaWqEYhIpKk1tQoNOpJRKQN8Lrp6SSsA3s7NuppPnBiKh8mIiK5x01QPI2tPFeGjXr6M1DpZaFE\nRCR7uKmGrAK+FLNNo55ERHKI130U04HdRGoR1wDFwAzn8c5UPrgVFBQiIknyOig2EJnrKVaIxP0V\nA4HZQB/ntb8HfostrzoHOMHZ/9VYGAFMBW4GGrC1uhfFfqaCQkQkOdk86qmvc1uBrWuxFLgC+BbW\nOT4DuBurodwDjMD6REYB/YFXgKFAY9Q+FRQiIknyeppxgJHYSbxL1LbZLt63xbmBrYr3IRYAE4Ex\nzvYKIIgFxSSsiasOq2msBUYDb7ksp4iIpJmboCjHTuqnAH8DJgD/xF1QRBsEnAG8DZQCNc72Gucx\n2Kiq6FCoxoJFRER84iYovoGNcFqGNRmVAk8l+TndsVln7wT2xTwXovk+EOI9V15efvR+IBAgEAgk\nWRwRkfwWDAYJBoNp2Zeb9qp3sT6DpcAFwF6gChjm8jM6An8FFgC/cbZVAQGsWaoMWAIMx5qfAO53\n/i4EpmG1kDD1UYiIJMnrK7PfwzqbH3PuL8fme3JVNuAJYA2RkACbtnyyc38y8HzU9muBTsBg4GTg\nHZefJSIiHkiULg9jI5D+GbVtMNADu+DOjXOB17CL9sLVgKnYyX8ucDzHDo+9FxseW481Vb0cs0/V\nKEREgPrGenYc3MG2g9vYemAr2w5si3//4Daqbq8CD4bH3oVdXNcPu+ahEqtN+E1BISJ5KZkT/7YD\n29hdu5viwmL6dOtD76696d2tN3269qF3t9707trbtjv3R5aOBA+voxiENQddA3TFahmVwMepfGAa\nKChEJCd4eeLv060PJYUltG/X3lVZMnnB3RnYMqinYgsZ+UFBISK+yKYTf7K8DooOwCVYreJCbIRS\nJTbduB8UFCKSFrl84k+WV0ExDguHS7HO50psVNL+VD4ojRQUIhJXWzrxJ8uroPgHFg5/IfMzxCai\noBBpI3TiT59snhTQCwoKkTyw7/A+qvdWU723mo17Nx69H75t3rdZJ/40UlCISNYIhULsObznmBN/\nbCDUN9YzoMcABvYYyIAeA4659SvqxxcKv6ATf5ooKEQkI0KhELtqd9lJf09ULWBf00AAjgmA2Me9\nuvQKn7wkAxQUItJqoVCI7Qe3J6wFVO+tplP7Tgzs6Zz0i5rWAsLbe3Tu4fc/R2IoKEQkocZQI9sO\nbIvbFxB969apW+TEXxQ58Ydv/Yv6U9S5yO9/jqRAQSHShjU0NlBzoKZpLWDPxibNQZv3baZn555x\n+wLCTUL9e/Sna8eufv9zxCMKCpE8Vd9Yz5b9W5r2B0T1CWzcs5Et+7dQUljSbF9AOAS6dOjS8gdK\n3lJQiOSguoY6Nu/bnLA/YOuBrfTu1rtJc1Bsf0C/on50at/J73+OZDkFhUiWOVx/mM37NjfbJ7Bx\n70Z2HNxBaffShENEy7qX0bF9R7//OZIHFBQiHmoMNbKndg87D+1k56Gd7KrddfT+zkM72XVoFztr\nd7Lj4A427dtE9d5qdtfupqx7WbP9AQN6DKC0eykd2rlZjVik9RQUIi4crj/c/Ik+/Lg25vGhnew9\nvJfunbpTUlhCSWEJxYXFdr9LzOPCEvoX9T8aAu0K3CwgKZIZCgppM0KhEPuO7Gv+RB8vCJzHdQ11\nx57snRN+k8eFJRR3iTzu2aWnfvlLzlNQSM6pa6hrckJ3e7LfdWgXXTt2TXhij/u4sJhuHbvpSmBp\nsxQU4otQKMSBugNJnejDt0N1h5qc7N2c6MPb1bkrkrxsDoo/YOtZbMVWxQMowdbgPgHYAFwN7Hae\nmwrcDDQAdwCL4uxTQZFm9Y317K7dnfBk31y7fsf2HZM60YdvRZ2K9OteJIOyOSjOwxY6mk0kKGYA\n252/dwPFwD3ACGw97lFAf+AVYCjQGLNPBUUzDtUdSvyr3hmdE3uy339kPz069zj2xN6l+RN9cZdi\niguLdRGXSI5oTVB43UP3OjAoZttEYIxzvwIIYkExCVsoqQ6raawFRgNveVzGrBI9FLPZ0Tm18dv1\ngfi/4p3O2gE9BjTbWasROiLSHD+GcpQCNc79GucxQD+ahkI1VrPISW6GYsZrx99Tu+foUMx4I3PK\niso4pc8pcZt3CjsW+v3PFpE85PeYv5BzS/T8McrLy4/eDwQCBAKBtBbq6Ie3cihmopE5X+z9xbjt\n+L269NJQTBFptWAwSDAYTMu+MtGbOAh4kUgfRRUQALYAZcASYDjW/ARwv/N3ITANeDtmf0n3UUQP\nxUxmdM6uQ7so7FiY9MicksISDcUUkaySzZ3ZcGxQzAB2ANOxcOhF087s0UQ6s4dwbK0itOLzFa6H\nYe46tIuDdQcpLixOemROry69NNmaiOSFbA6KSqzj+jisP+K/gPnAXOB4jh0eey82PLYeuBN4Oc4+\nQ6c+fKrrk31xl2KKOheps1ZE2rRsDgovaHisiEiSWhMU+pktIiIJKShERCQhBYWIiCSkoBARkYQU\nFCIikpCCQkREElJQiIhIQgoKERFJSEEhIiIJKShERCQhBYWIiCSkoBARkYQUFCIikpCCQkREElJQ\niIhIQgoKERFJSEEhIiIJKShERCShbAyK8UAV8Alwt89lERFp87ItKNoD/w8LixHAdcAXfS1RngsG\ng34XIa/oeKaPjmX2yLagGA2sBTYAdcAzwCQ/C5Tv9J8xvXQ800fHMntkW1D0BzZGPa52tomIiE+y\nLShCfhdARESaKvC7ADHOBsqxPgqAqUAjMD3qNWuBkzJbLBGRnLcOGOJ3IdKhA/aPGQR0AlagzmwR\nEYkxAfgIqzlM9bksIiIiIiKSy6YCHwCrgaeBzkAJsBj4GFgE9PKtdLkn3vEsx0aXLXdu45t7sxzj\nTuxYvu/cB30/WyPe8SxH3083/gDUYMcvLNF3cSp2UXMVMC5DZfTEIGA9djIDmANMBmYAP3G23Q3c\nn/GS5aYw8JczAAAE1UlEQVRBxD+e04Af+lSmXDYS+0/ZBbtQdDE2yELfz9Q0dzz1/XTnPOAMmgZF\nc9/FEVj/b0fsvLCWFkbAZtvw2Gh7sYvuumKd3F2BzcBEoMJ5TQVwhS+lyz3xjucm57lsG/2WC4YD\nbwO1QAPwKnAV+n6mKt7x/LrznL6fLXsd2BWzrbnv4iSgEjsfbMCCYnSinWdzUOwEHgA+wwJiN/Yr\noxSrYuH8LfWldLkn3vF8xXnuB8BK4AnUVOLW+9ivuBIsdC8BBqDvZ6riHc+BznP6fqamue9iP6w5\nL6zFC5uzOShOAu7Cqkb9gO7ADTGvCaGL9NyKdzyvBx4BBgOnA59jYSItq8Ku71kELMCq8g0xr9H3\n073mjufD6PuZDi19FxN+T7M5KL4MvAnsAOqBecA5wBagr/OaMmCrL6XLPfGO51ew4xf+Ej1OC1VQ\naeIP2HEdg1X7P8Z+uen7mZro47kbGya/DX0/U9Xcd3ETkdoaWE14Ewlkc1BUYVdqF2JtlGOBNcCL\nWCcszt/nfSld7mnuePaNes2VNO0Mk8T6OH+Px9rTnwZeQN/PVEUfzyux41kW9by+n8lp7rv4AnAt\ndlHzYOBk4J2Mly6NfkJkOGcF1ktfgrWta/hh8mKPZydgNrAKawN+HrWpJ+M17HiuAM53tun7mbp4\nx1PfT3cqsb7HI9jEqt8i8XfxXqwTuwq4OKMlFREREREREREREREREREREREREREREZFkfYHItNOf\nE5mGehk24aFXfg5c2Ir3B4Gz0lOUpMzCJiwUSYmX/6lEvLIDm1IZbBrqfcCvM/C501r5fr/mftKc\nU9Iq2TyFh4hbBdgv9SDwHrCQyNQkQSxE3gU+BEYBz2FXq/7Cec0g7ArVP2HTmvwZm+ok1iwiv8w3\nYIvqLMWuHB4W5/WFwDPOPufF7HMcNvfWUmAu0M3ZfolTzveA32JT1sRqD/xf7Ar7lcDtzvbmjgFo\nqm4RacOmAT8C3gCOc7Zdg01JDbAEuM+5fwc2zUEpNn3JRqAYC4pGbNJJnPf+R5zPepLIGgmfAv/L\nuf994LE4r/8hNpEdwKnY/P9nOuV8lUhw3A38DFu05zPgBGd7eO6oWN/HwiX8Q68Ym97mTaxZDpoe\ngydR05O0gpqeJB90xlZIW+w8bo8FQlj4ZPu+cwvP0b8em0VzLxYa/3K2/wkLlZamtJ7n/F1GJECi\nnQc85NxfjdU8wCZnHIGd2MFC602sVrIe+LezvRL4bpz9XohND9/oPN6F/ftPIbLGSOwxEEmZgkLy\nQQE2mdxXmnn+sPO3Mep++HH4/0B0G34B7tr0w/tqoPn/S7FNPuHHi4Fvxjx3WgvvbWm/iY6BSMrU\nRyH54DDQG/ulDtYMMyLJfRwf9f5vYktLttZrRMJgJPAlLIDeAr6KLSYF1j9xMrb+wolEmp6uIX5g\nLQa+h9UawJqeqmj9MRCJS0Eh+aAB+Aa2QtoKbKjsOXFel2j0z0dYn8MaoCfWtONWc/t9BFtJcA02\ntPY9Z/t2YArWtLSSSLNTLXAb1hH9HtYktjfOfh/H+jJWYf/e67D+j0THQKOeRERaYRDZsyBOt6j7\n/w3c6VdBRMJUoxAx2fKL+ztYbeADoAfwqL/FEREREREREREREREREREREREREREREckr/x/T5jgr\n3MaCOwAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x106604950>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mole fraction of 1,(1,(2,(2-tetrachloroethane in vapour is 0.203947\n",
+ " Mole fraction of water in vapour is 0.796053\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.15 Page No : 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "T = [146.2, 142.3, 126.1, 115.9, 95.0, 98.0, 100.0];#Temperature in deg cel\n",
+ "P1 = [760.0, 685.0, 450.3, 313.0];#Vapour pressure of 1,1,2,2-tetrachloroethane at the coressponding temperature in mm Hg\n",
+ "P2_5 = 648.0;#Vapour pressure of water at 95 deg cel in mm Hg\n",
+ "P2_6 = 711.0;#Vapour pressure of water at 98 deg cel in mm Hg\n",
+ "P = 760.0;#Total pressure of mixture in mm Hg\n",
+ "\n",
+ "x1 = [0, 0, 0, 0, 0, 0, 0];\n",
+ "#To plot a graph between temperature and vapour phase composition\n",
+ "for i in range(0,4):\n",
+ " x1[i] = P1[i]/P;#mole fraction of 1,1,2,2-tetrachloroethane\n",
+ "x2_5 = P2_5/P;#mole fraction of water at 95 deg cel\n",
+ "x2_6 = P2_6/P;#mole fraction of water at 98 deg cel\n",
+ "x1[4] = 1-x2_5;\n",
+ "x1[5] = 1-x2_6;\n",
+ "\n",
+ "plt.plot(x1,T)\n",
+ "plt.title(\"\")\n",
+ "plt.xlabel(\"mole fraction of 1,1,2,2-tetrachloroethane\")\n",
+ "plt.ylabel(\"Temperature in deg cel\")\n",
+ "plt.show()\n",
+ "print 'The required graph has been ploted in the graphic window';\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nERERERGRBPh/OQohdiTCkTUAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x1064ce750>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required graph has been ploted in the graphic window\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.16 Page No : 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "#B = -(1.203*10**10)*(T**2.7); second virial coefficient, T is in K\n",
+ "#math.log P = 6.95464-(1344.8/(219.482+t))...(a);Vapour pressure of toulene\n",
+ "t = 107.2;#Temperature in deg cel\n",
+ "T = t+273.16;#in K\n",
+ "H_ex = 7964.0;#experimental value of heat of vapourisation in Kcal/Kgmole\n",
+ "d = 800.0;#density of liquid toulene in Kg/cubic meter\n",
+ "R = 1.98;#gas consmath.tant in Kcal/Kgmole K\n",
+ "M = 92.14;#molecular weight of toulene\n",
+ "\n",
+ "#To Calculate the heat of vapourization of toulene by umath.sing ideal gas law, second virial coefficient but neglecting vl and including vl\n",
+ "#From equation (a), let K = dmath.logP/dT\n",
+ "K = 1344.8/(219.482+t)**2;\n",
+ "#(i)Umath.sing ideal gas behaviour\n",
+ "#From equation 13.112(page no 286)\n",
+ "H_c = (2.303*R*(T**2))*K;\n",
+ "print 'i)The heat of vapourization umath.sing ideal gas behaviour is %f Kcal/Kgmole'%(H_c);\n",
+ "D = ((H_c-H_ex)/H_c)*100;\n",
+ "print ' The deviation is %f percent'%(D);\n",
+ "\n",
+ "#(ii)Umath.sing second virial coeff but neglecting vl\n",
+ "#From equation(a)\n",
+ "P = 10**(6.95464-1344.8/(219.482+t));#in mm Hg\n",
+ "P1 = P*1.033*10**4/760;#in Kgf/sq m\n",
+ "B = -((1.203*10**10)/(T**2.7))*10**-3;#in cubic meter/Kgmole\n",
+ "#From equation 13.111 (page no 286) neglecting vl,\n",
+ "l = (R*T)+((B*P1)/427);#in Kcal/Kgmole\n",
+ "H_c = K*2.303*T*l;\n",
+ "print 'ii)The heat of vapourisation umath.sing second virial coefficient but neglecting vl is %f Kcal/Kgmole'%(H_c);\n",
+ "D = ((H_c-H_ex)/H_c)*100;\n",
+ "print ' The deviation in this case is %f percent'%(D);\n",
+ "\n",
+ "#(iii)Umath.sing second virial coeff including vl\n",
+ "vl = M/d;#Liquid specific volume in cubic meter/Kgmole\n",
+ "n = P1*vl/427;#in Kcal/Kgmole\n",
+ "H_c = K*2.303*T*(l-n);\n",
+ "print 'iii)The heat of vapourisation umath.sing second virial coefficient including vl is %f Kcal/Kgmole'%(H_c);\n",
+ "D = ((H_c-H_ex)/H_c)*100;\n",
+ "print ' The deviation in this case is %f'%(D);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The heat of vapourization umath.sing ideal gas behaviour is 8312.967730 Kcal/Kgmole\n",
+ " The deviation is 4.197872 percent\n",
+ "ii)The heat of vapourisation umath.sing second virial coefficient but neglecting vl is 7998.487742 Kcal/Kgmole\n",
+ " The deviation in this case is 0.431178 percent\n",
+ "iii)The heat of vapourisation umath.sing second virial coefficient including vl is 7970.612948 Kcal/Kgmole\n",
+ " The deviation in this case is 0.082967\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.17 Page No : 269"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "H_ex = 539.0;#Heat of vapoization of water in Kcal/Kg\n",
+ "Tc = 647.0;#Critical temperature in K\n",
+ "Pc = 218.0;#Critical pressure in atm\n",
+ "Tb = 373.0;#Boiling point of water in K\n",
+ "t = 100.0;#temperature in deg cel\n",
+ "M = 18.0;#Molecular weight of water\n",
+ "P = 1.0;#pressure at boiling point in atm\n",
+ "P1 = 1.033*10**4;#pressure in Kgf/sq m\n",
+ "\n",
+ "#To Calculate the heat of vapourisation of water by Vishwanath and Kuloor method and by Riedel's method and compare with the experimental value\n",
+ "#(i) Umath.sing Vishwanath and Kuloor method\n",
+ "H_c = (4.7*Tc*((1-(P/Pc))**0.69)*math.log(P/Pc))/((1-(Tc/Tb))*18);\n",
+ "print 'i)The heat of vapourisation of water umath.sing Vishwanath and Kuloor method is %f Kcal/Kg'%(H_c);\n",
+ "D = (H_c-H_ex)*100/H_c;\n",
+ "print ' The deviation occurs umath.sing this method is %f percent'%(D);\n",
+ "\n",
+ "#(ii)Umath.sing Riedel's method\n",
+ "H_c = (Tb*2.17*(math.log(218)-1))/((0.93-(Tb/Tc))*18);\n",
+ "print 'ii)The heat of vapourisation of water umath.sing Riedel method is %f Kcal/Kg'%(H_c);\n",
+ "D = (H_c-H_ex)*100/H_c;\n",
+ "print ' The deviation occurs umath.sing this method is %f percent'%(D);\n",
+ "\n",
+ "#(iii)By umath.sing given vapour equation; math.logP = 8.2157-(2218.8537/(273.16+t)), t is in deg cel\n",
+ "#From steam table,\n",
+ "Vv = 1.673;#in cubic meter/Kg\n",
+ "Vl = 0.001;#in cubic meter/Kg\n",
+ "H_c = (2218.8/(273.16+t)**2)*(2.3*Tb*P1*(Vv-Vl)/427);\n",
+ "print 'iii)The heat of vapourisation umath.sing the given vapour equation is %f Kcal/Kg'%(H_c);\n",
+ "D = (H_c-H_ex)*100/H_c;\n",
+ "print ' The deviation occurs umath.sing this method is %f percent'%(D);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The heat of vapourisation of water umath.sing Vishwanath and Kuloor method is 1234.397750 Kcal/Kg\n",
+ " The deviation occurs umath.sing this method is 56.334982 percent\n",
+ "ii)The heat of vapourisation of water umath.sing Riedel method is 557.743828 Kcal/Kg\n",
+ " The deviation occurs umath.sing this method is 3.360652 percent\n",
+ "iii)The heat of vapourisation umath.sing the given vapour equation is 552.934102 Kcal/Kg\n",
+ " The deviation occurs umath.sing this method is 2.520029 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.18 Page No : 270"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "T1 = 273-87.0;#temp in K\n",
+ "T2 = 273.0;#temp in K\n",
+ "H1 = 115.0;#Latent heat of saturated ethane at 1 atm and -87 deg cel in Kcal/Kg\n",
+ "H2_ex = 72.44;#Experimental value of latent heat at 0 deg cel in Kcal/Kg\n",
+ "Tc = 306.0;#Critical temperature in K\n",
+ "M = 30.0;#Molecular weight of ethane\n",
+ "\n",
+ "#To Calculate the latent heat of saturated ethane at 0 deg cel\n",
+ "Tr1 = T1/Tc;#reduced temp in K\n",
+ "Tr2 = T2/Tc;#reduced temp in K\n",
+ "#(i)Umath.sing Waton's method:\n",
+ "H2_c = H1*((1-Tr2)/(1-Tr1))**0.38;\n",
+ "print 'i)The latent heat of saturated ethane at 0 deg cel umath.sing Waton method is %f Kcal/Kg'%(H2_c);\n",
+ "D = (H2_ex-H2_c)*100/H2_ex;\n",
+ "print ' The deviation occurs umath.sing this method is %f percent'%(D);\n",
+ "\n",
+ "#(ii)Umath.sing Vishwanath and Kuloor method\n",
+ "#From equation 13.117 (page no 289)\n",
+ "n = (0.00133*(H1*M/T1)+0.8794)**(1/0.1);\n",
+ "H2_c = H1*((1-Tr2)/(1-Tr1))**n;\n",
+ "print 'ii)The latent heat of saturated ethane at 0 deg cel umath.sing Vishwanath and Kuloor method is %f Kcal/Kg'%(H2_c);\n",
+ "D = (H2_ex-H2_c)*100/H2_ex;\n",
+ "print ' The deviation occurs umath.sing this method is %f percent'%(D);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The latent heat of saturated ethane at 0 deg cel umath.sing Waton method is 70.411608 Kcal/Kg\n",
+ " The deviation occurs umath.sing this method is 2.800099 percent\n",
+ "ii)The latent heat of saturated ethane at 0 deg cel umath.sing Vishwanath and Kuloor method is 71.809846 Kcal/Kg\n",
+ " The deviation occurs umath.sing this method is 0.869898 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.19 Page No : 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "H_s_ex = 32.7;#experimental value of latent heat of the solution in KJ/mole\n",
+ "x1 = 0.536;#mole percent of toulene in the solution\n",
+ "x2 = 1-0.536;#mole percent of 1,1,1-trichloroethane in the solution\n",
+ "H1 = 33.34;#Latent heat of toulene in KJ/gmole\n",
+ "H2 = 29.72;#Latent heat of 1,1,1-trichloroethane in KJ/gmole\n",
+ "He = 0.0;#excess enthalpy is neglected\n",
+ "Cp1 = 39.55;#Specific heat of toulene in cal/gmole deg cel\n",
+ "Cp2 = 24.62;#Specific heat of 1,1,1-trichloroethane in cal/gmole deg cel\n",
+ "T_D = 100.0;#dew point temperature in deg cel\n",
+ "T_B = 92.6;#bubble point temperature in deg cel\n",
+ "\n",
+ "#To calculate the latent heat of the solution and compare it with the one which calculated from the given vapour pressure equation\n",
+ "#(i)Calculation of latent heat of the solution\n",
+ "#From equation 13.118 (page no 291)\n",
+ "H_s = H1*x1+H2*x2+He+(Cp1*x1+Cp2*x2)*10**-3*4.17*(T_D-T_B);\n",
+ "print 'i)The latent heat of the solution is %f KJ/gmole'%(H_s);\n",
+ "D = ((H_s_ex-H_s)*100)/H_s_ex;\n",
+ "print ' The deviation occurs using this method is %f percent'%(D);\n",
+ "\n",
+ "#(ii)Calculation of latent heat from the vapour pressure equation\n",
+ "#From equation (a) (page no 291)\n",
+ "K = 1657.599/((273.16+5)**2);\n",
+ "H_s = (K*2.303*8.314*(273.16+5)**2)*10**-3;\n",
+ "print 'ii)The latent heat of the solution is %f KJ/gmole'%(H_s);\n",
+ "D = ((H_s_ex-H_s)*100)/H_s_ex;\n",
+ "print ' The deviation occurs using this method is %f percent'%(D);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The latent heat of the solution is 32.666984 KJ/gmole\n",
+ " The deviation occurs using this method is 0.100965 percent\n",
+ "ii)The latent heat of the solution is 31.738283 KJ/gmole\n",
+ " The deviation occurs using this method is 2.941029 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch14_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch14_1.ipynb
new file mode 100644
index 00000000..4474f761
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch14_1.ipynb
@@ -0,0 +1,1041 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1e67847320cea04698ca89c9f40ead4304c8c00593843ef51265231f33b2b44d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 14 : Thermodynamics of Chemical Reactions"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1 Page No : 282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "H_f_C2H4 = 12500.0;#Smath.radians(numpy.arcmath.tan(ard heat of formation of ethylene at 25 deg cel in Kcal/Kgmole\n",
+ "H_f_C2H4O = -11667.0;#Smath.radians(numpy.arcmath.tan(ard heat of formation of ethylene oxide at 25 deg cel in Kcal/Kgmole\n",
+ "\n",
+ "#To Calculate the smath.radians(numpy.arcmath.tan(ard heats of reaction at 25 deg celsius\n",
+ "#The reaction is: C2H4 + (1/2)O2 - C2H4O\n",
+ "del_H_rxn = H_f_C2H4O-H_f_C2H4;#Since, Smath.radians(numpy.arcmath.tan(ard heat of formation of O2 is zero\n",
+ "print 'The standard heats of reaction at 25 deg celsius is %d Kcal/Kgmole'%(del_H_rxn);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The standard heats of reaction at 25 deg celsius is -24167 Kcal/Kgmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2 Page No : 284"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "T1 = 25+273.0;#Initial temperature in K\n",
+ "T2 = 450+273.0;#Final temperature in K\n",
+ "#Specific heat of sulphur dioxide is given by the relation:\n",
+ "#Cp = 7.116+9.512*10**-3*T+(3.511*10**-6)*T**2\n",
+ "\n",
+ "#To Calculate the sensible heat required\n",
+ "#Basis: 1 Kgmole of sulphur dioxide\n",
+ "Q = 7.116*(T2-T1)+(9.512*10**-3*(T2**2-T1**2)/2)+((3.51*10**-6)*(T2**3-T1**3)/3);\n",
+ "print 'Sensible heat required is %d Kcal/Kgmole'%(Q);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sensible heat required is 5499 Kcal/Kgmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.3 Page No : 289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "H_C2H4 = 12500;#Smath.radians(numpy.arcmath.tan(ard heat of formation of ethylene at 25 de cel\n",
+ "H_C2H4O = -12190;#Smath.radians(numpy.arcmath.tan(ard heat of formation of ethylene oxide at 25 deg cel\n",
+ "H_CO2 = -94052;#Smath.radians(numpy.arcmath.tan(ard heat of formation of CO2 at 25 deg cel\n",
+ "H_H2O = -57798;#Smath.radians(numpy.arcmath.tan(ard heat of formation of H2O at 25 deg cel\n",
+ "T1 = 200;#temperature at which mixture entered in deg cel\n",
+ "Ti = 25;#intermediate temperature in deg cel\n",
+ "T2 = 260;#product temperature in deg cel\n",
+ "Cp_air_a = 7;#Mean specific heat for 25 to 200 deg cel in Kcal/Kgmole\n",
+ "Cp_C2H4_a = 18;#Mean specific heat for 25 to 200 deg cel in Kcal/Kgmole\n",
+ "#Mean specific heat for 25 to 260 deg cel in Kcal/Kgmole are given as:\n",
+ "Cp_C2H4_b = 19;\n",
+ "Cp_C2H4O_b = 21;\n",
+ "Cp_O2_b = 7.30;\n",
+ "Cp_N2_b = 7.00;\n",
+ "Cp_CO2_b = 10.00;\n",
+ "Cp_H2O_b = 8.25;\n",
+ "#Basis: 1 Kgmole of ethylene as feed\n",
+ "n_air = 9;#Kgmoles\n",
+ "n_C2H4 =1;#Kgmoles\n",
+ "n_C2H4_1 = 0.6#ethylene consumed while converting in C2H4O in Kgmoles (Rxn 1)\n",
+ "n_C2H4_2 = 0.3;#ethylene burnt completely to CO2 in Kgmoles (Rxn 2)\n",
+ "\n",
+ "#To Calculate the heat must be removed if the product temperature should not exceed 260 deg cel\n",
+ "n_O2 = n_air*0.21;#Kgmoles of O2 fed\n",
+ "n_N2 = n_air-n_O2;#Kgmoles of N2 fed\n",
+ "#Rxn 1: (0.6)C2H4 + (0.3)O2 - (0.6)C2H4O;...(i) 60% of C2H4 is converted to C2H4O\n",
+ "n_O2_1 = n_C2H4_1/2;#Kgmoles of oxygen consumed\n",
+ "n_C2H4O_1 = n_C2H4_1;#C2H4O formed in Kgmoles\n",
+ "#Rxn 2: (0.3)C2H4 + (0.9)O2 - (0.6)CO2+ (0.6)H20;...(ii) 30%conversion\n",
+ "n_O2_2 = 3*n_C2H4_2;#Kgmoles of O2 reacted\n",
+ "n_CO2_2 = 2*n_C2H4_2;#Kgmoles of CO2 formed\n",
+ "n_H2O_2 = 2*n_C2H4_2;#Kgmoles of H2O formed\n",
+ "n_C2H4_r = n_C2H4 - n_C2H4_1 - n_C2H4_2;#unreacted ethylene in Kgmoles\n",
+ "n_O2_r = n_O2 - n_O2_1-n_O2_2;#unreacted O2 in Kgmoles\n",
+ "#The overall rxn is given by (i)&(ii),\n",
+ "#(0.9)C2H4 + (1.2)O2 - (0.6)C2H4O + (0.6)CO2 + (0.6)H2O...(iii)\n",
+ "del_H = (0.6*H_C2H4O)+(0.6*H_CO2)+(0.6*H_H2O)-(0.9*H_C2H4);#math.since,smath.radians(numpy.arcmath.tan(ard enthalpy of O2 is zero; Smath.radians(numpy.arcmath.tan(ard heat of rxn in Kcal/Kgmole\n",
+ "Q1 = (n_C2H4*Cp_C2H4_a + n_air*Cp_air_a)*(Ti-T1);#Sensible heat in feed in Kcal\n",
+ "Q2 = (n_C2H4_r*Cp_C2H4_b + n_C2H4O_1*Cp_C2H4O_b + n_CO2_2*Cp_CO2_b + n_H2O_2*Cp_H2O_b + n_O2_r*Cp_O2_b + n_N2*Cp_N2_b)*(T2-Ti);#Sensible heat in product in Kcal\n",
+ "Q = Q1+Q2+del_H;\n",
+ "print 'The heat to be removed is %f Kcal so that the product temperature is 260 deg celsius'%(-Q);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The heat to be removed is 104988.605000 Kcal so that the product temperature is 260 deg celsius\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.4 Page No : 293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "#Basis: 1Kgmole of C0\n",
+ "#CO + (1/2)O2 - CO2\n",
+ "#Whem mixture entered,their compositions are given as:\n",
+ "n_CO = 1.0;#Kgmole\n",
+ "del_H = -67636.0;#Smath.radians(numpy.arcmath.tan(ard heat of reaction in Kcal/Kgmole at 25 deg cel\n",
+ "T1 = 95.0;#Temperature at which mixture entered in deg celsius\n",
+ "T2 = 25.0;#Intermediate temperature in deg celsius\n",
+ "#Mean specific heat values for the temperature between 25 and 95 deg celsius in Kcal/Kgmole are given as (from figure 14.4)(page no 303)\n",
+ "Cpm_CO = 6.95;\n",
+ "Cpm_O2 = 7.1;\n",
+ "Cpm_N2 = 6.95;\n",
+ "\n",
+ "#To Calculate the theoretical flame temperature when both air and CO2 enter at 95 deg celsius\n",
+ "n_O2 = 1.0;#Kgmole, as 100% excess air is given\n",
+ "n_N2 = n_O2*(0.79/0.21);#Kgmole\n",
+ "#After the rxn:\n",
+ "n_CO2 = n_CO;#Kgmole\n",
+ "n_O2_r = n_O2-(n_CO/2);#remaining Kgmole of O2\n",
+ "#In equation 14.18 (page no 307) say: H_2-H_R = Ha, H_P-H_3 = Hb, Hc = del_H+Ha & Ht = Hc+Hb\n",
+ "Ha = (n_CO*Cpm_CO + n_O2*Cpm_O2 + n_N2*Cpm_N2)*(T2-T1);#in Kcal/Kgmole\n",
+ "Hc = del_H+Ha;#in Kcal/Kgmole\n",
+ "#For calculating Hb let us assume the temperature as\n",
+ "T = [530, 1000, 1650];#in deg celsius\n",
+ "Cpm_CO2 = [10.85, 12, 12.75];#Mean specific heat of CO2 at the coresspondig temperature (from figure 14.4)\n",
+ "Cpm_O2 = [7.55, 7.8, 8.3];#Mean specific heat of O2 at the coresspondig temperature (from figure 14.4)\n",
+ "Cpm_N2 = [7.15, 7.5, 7.85];#Mean specific heat of N2 at the coresspondig temperature (from figure 14.4)\n",
+ "Hb = []\n",
+ "Ht = []\n",
+ "for i in range(0,3):\n",
+ " Hb.append((n_CO2*Cpm_CO2[i]+n_O2_r*Cpm_O2[i]+n_N2*Cpm_N2[i])*(T[i]-T2));#in Kcal/Kgmole\n",
+ " Ht.append(Hc+Hb[i]);#in Kcal/Kgmole\n",
+ "\n",
+ "plt.plot(T,Ht)\n",
+ "plt.title(\"\")\n",
+ "plt.xlabel(\"Temperature, deg celsius\")\n",
+ "plt.ylabel(\"Ht in Kcal/Kgmole\")\n",
+ "plt.show()\n",
+ "Tf = numpy.interp(0,Ht,T) \n",
+ "print 'The adiabatic temperature is read as %d degree celsius'%(Tf);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10ee76150>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The adiabatic temperature is read as 1549 degree celsius\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.5 Page No : 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "T = 298.0;#Temperature in Kelvin\n",
+ "#standard enthalpy in Kcal/Kgmole of the following components at 298 K are given as\n",
+ "H_SO2 = -70960;\n",
+ "H_SO3 = -94450;\n",
+ "H_O2 = 0;\n",
+ "#standard entropy in Kcal/Kgmole K of the following components at 298 K are given as\n",
+ "S_SO2 = 2.48;\n",
+ "S_SO3 = -19.7\n",
+ "S_O2 = 0;\n",
+ "#Basis: 1 Kgmole of SO2\n",
+ "#SO2 +(1/2)O2 - SO3\n",
+ "\n",
+ "#To Calculate the standard free energy for the reaction\n",
+ "n_SO2 = 1;#Kgmole of SO2 fed\n",
+ "n_O2 = (1/2)*2;#Kgmole of O2 fed as 100% excess O2 is given\n",
+ "n_SO3 = n_SO2;#Kgmole of SO3 formed\n",
+ "#From equation 14.38 (page no 312)\n",
+ "del_F = (H_SO3-(T*S_SO3))-(H_SO2-(T*S_SO2))-(H_O2-(T*S_O2));\n",
+ "print 'The standard free energy for the reaction at 25 degree celsius is %f Kcal/Kgmole'%(del_F);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The standard free energy for the reaction at 25 degree celsius is -16880.360000 Kcal/Kgmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.6 Page No : 299"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "#SO2 + (1/2)O2 - SO3\n",
+ "#Basis: 1 Kgmole of SO2\n",
+ "n_SO2 = 1.0;# SO2 fed in Kgmole\n",
+ "#From table 14.1 (page no 301)\n",
+ "#alpha values for the following components are given as\n",
+ "a_SO2 = 7.116;\n",
+ "a_O2 = 6.148;\n",
+ "a_SO3 = 6.077;\n",
+ "#beta values for the following components are given as\n",
+ "b_SO2 = 9.512*10**-3;\n",
+ "b_O2 = 3.102*10**-3;\n",
+ "b_SO3 = 25.537*10**-3;\n",
+ "#standard enthalpy of the following components at 25 deg cel in Kcal/Kgmole are given as\n",
+ "H_SO2 = -70960.0;\n",
+ "H_O2 = 0.0;\n",
+ "H_SO3 = -94450;\n",
+ "#standard free energy of the following components at 25 deg cel in Kcal/Kgmole K are given as\n",
+ "F_SO2 = -71680.0;\n",
+ "F_O2 = 0.0;\n",
+ "F_SO3 = -88590.08;\n",
+ "n_O2 = n_SO2;#O2 fed in Kgmole; math.since 50 mole percent mixture of SO2 & O2 is fed\n",
+ "n_SO3 = n_SO2;#SO3 formed in Kgmole\n",
+ "n_O2_e = n_O2-(n_O2/2);#Kgmoles of O2 in exit gas\n",
+ "n_O2_r = n_O2/2;#Kgmoles of O2 reacted\n",
+ "R = 1.98;#gas consmath.tant in Kcal/Kgmole K\n",
+ "\n",
+ "#To show the variation of the standard heats of reaction with temperature and the equilibrium consmath.tant with temperature graphically in the given temperature range\n",
+ "#(i)Variation of the standard heats of reaction with temperature\n",
+ "del_H = (n_SO3*H_SO3)-(n_O2_r*H_O2)-(n_SO2*H_SO2);# in Kcal/Kgmole\n",
+ "del_F = (n_SO3*F_SO3)-(n_O2_r*F_O2)-(n_SO2*F_SO2);# in Kcal/Kgmole\n",
+ "#From equation 14.10 (page no 301)\n",
+ "del_a = (n_SO3*a_SO3)-(n_O2_r*a_O2)-(n_SO2*a_SO2);\n",
+ "del_b = (n_SO3*b_SO3)-(n_O2_r*b_O2)-(n_SO2*b_SO2);\n",
+ "#In equation 14.11 (page no 302), substituting del_H at\n",
+ "T = 298;#in deg cel\n",
+ "I = del_H - del_a*T - (del_b*(T**2)/2);# integrating consmath.tant\n",
+ "print 'iThe standard heat of reaction at any tempperature can be calculated by the relation:';\n",
+ "print ' del_Ht = %fT'%del_a,\n",
+ "print ' + %fT**2 '%(del_b/2),\n",
+ "print '%f'%I\n",
+ "\n",
+ "#(ii)Variation of the equilibrium consmath.tant with temperature\n",
+ "#K1 = lnKa (say)\n",
+ "K1 = -del_F/(R*T);\n",
+ "#From equation 14.42 (page no 316); M1 = M/R (say)\n",
+ "M1 = K1-(del_a/R)*math.log(T)-(del_b/(2*R))*T+(I/(T*R));\n",
+ "#Let us assume the temperature in the range 800K to 1500K as\n",
+ "Ta = [700, 800, 825, 850, 900, 1000, 1100, 1300, 1500];\n",
+ "Ka = []\n",
+ "for i in range(0,9):\n",
+ " Ka.append(math.e**((del_a/R)*math.log(Ta[i])+(del_b*Ta[i]/(2*R))-(I/(Ta[i]*R))+M1));\n",
+ "\n",
+ "\n",
+ "plt.plot(Ta,Ka);\n",
+ "plt.title(\"\" )\n",
+ "plt.xlabel(\"Temperatur in K\")\n",
+ "plt.ylabel(\"equilibrum constant K\")\n",
+ "plt.show()\n",
+ " \n",
+ "print 'ii)From the graph it can be seen that as temperature increases Ka decreases exponentially,(so the reaction is exothermic.';\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "iThe standard heat of reaction at any tempperature can be calculated by the relation:\n",
+ " del_Ht = -4.113000T + 0.007237T**2 -22907.000548\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEPCAYAAAC+35gCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0VPW99/F3Em4iIEaRO4aiiLQIiIAmtY6eFi9VkHqs\ntk9bWo9dXY+tUtueFuxS8uhptbbaU+1TzjrVtmhPOdrWC7QPKlrHSwVRuXjBKEE5Em1iRVSwiITk\n+eP7285knEx2kn2bmc9rrVmzZ8+ePd9Ymm9+v+/vAiIiIiIiIiIiIiIiIiIiIiIiIiIiIhKzKmAD\nsNK9rgea3LkNwOlZ1y4GtgANwJzoQhQRkaT4FvBfwAr3eok7l2sysBHoC9QAjUBlBPGJiIhPYf9S\nHgOcAdwEVLhzFVnH2eYBy4F9wDYsacwKOT4REemGsJPGT4F/BdqyzrUDFwObgJuBoe78KKzbytME\njA45PhER6YYwk8aZwOtY3SK7ZbEUGA9MA/4GXFfgHu2hRSciIt3WJ8R71wJzse6pAcAQ4BbgS1nX\n3ESmQP4qMDbrvTHuXAcTJkxo37p1axjxioiUsq3AEXEH4ddJZJLDyKzzlwK/c8deIbwf1hLZSv7a\nR3sxWLJkSdwh+KI4g1UMcRZDjO3tijNoBNRzE2ZLI1sFmYCvBaa61y8DX3PnNwO3u+dW4CLUPSUi\nkihRJY20ewB8scB1P3QPERFJIM2DCEkqlYo7BF8UZ7CKIc5iiBEUZ1LlqxkkneueExERvyoqKiCA\n3/lqaYiIiG9KGiIi4puShoiI+KakISIivilpiIiIb0oaIiLiW1Emjaamrq8REZHgFWXSeOyxuCMQ\nESlPShoiIuJbUSaNv/417ghERMpTUS4jMnBgO6+/DgceGHcoIiLFoayXETnmGHjiibijEBEpP0WZ\nNOrq1EUlIhKHokwatbUqhouIxCGKpFEFbCCz3Ws1sBp4EbgPGJp17WJgC9AAzOnshnV1sGYNtLWF\nEq+IiHQiiqSxENvC1dsEYxGWNCYCD7jXYHuEn+eeTwN+0Vl8w4dDdTU0NIQYtYiIfEjYSWMMcAZw\nE5mq/VxgmTteBpztjucBy4F9wDagEZjV2Y1ra1XXEBGJWthJ46fAvwLZHUnDgRZ33OJeA4wCshcI\naQJGd3bjujrVNUREotYnxHufCbyO1TNSnVzTTqbbqrP3P6S+vp6WFlixAtLpVNnt0Ssi0pV0Ok06\nnQ78vmFO7vsh8EWgFRgADAHuAGZiSaQZGAk8CEwiU9u4xj3fAywBHs+5b3t7ezttbVbXePFFOOyw\nEH8KEZESUAyT+y4DxgLjgfOBv2BJZAWwwF2zALjLHa9w1/VznzkSWNfZzSsr4fjjbRSViIhEI8p5\nGl5X0zXAp7Aht6eQaVlsBm53z6uAiyjcdaVJfiIiESvKtafa2y2X/OUvcMUV8OijMUckIpJwQXVP\nFXXS2L0bRoyAHTugf/+YoxIRSbBiqGmEbtAgOOooWL8+7khERMpDUScN0CQ/EZEoFX3SUDFcRCQ6\nRV3TAHjlFZg5E5qboaIYfxoRkQiopuGMGwf9+sHWrXFHIiJS+oo+aYDWoRIRiUpJJA0Vw0VEolES\nSUMtDRGRaBRj6bhDIRxg3z5bvHD7dhg6tJNPiYiUMRXCs/TtayOotHihiEi4SiJpgNU11EUlIhKu\nkkkamuQnIhK+kqhpALz1FowdCzt3Qp8w9yMUESlCqmnkGDoUDj8cNm2KOxIRkdJVMkkDNPRWRCRs\nYSaNAdj+3hux3fiudufrgSZgg3ucnvWZxcAWoAGY090v1CQ/EZFwhV3TGAj8A+gDPAp8B/gnYBdw\nfc61k4HfATOB0cD9wESgLee6vDUNgMZGOPlkm68hIiIZxVLT+Id77gdUATvd63yBzwOWA/uAbUAj\nMKs7XzZhAuzdq6QhIhKWsJNGJdY91QI8CDznzl8MbAJuBrw53KOwbitPE9bi8K2iQkNvRUTCFPbg\n1DZgGnAQcC+QApYCV7r3rwKuA/6lk8/n7Yeqr6//4DiVSpFKpT547U3yO//8XsUtIlLU0uk06XQ6\n8PtGOU/jcmAP8JOsczXASmAKsMidu8Y93wMswYrp2TqtaYAljIsvhqeeCiBiEZESUQw1jUPJdD0d\nAHwKGy01Iuua+cAz7ngFcD5W/xgPHAms6+6XzpgBDQ2we3cPoxYRkU6F2T01EliGJaZK4FbgAeAW\nrMuqHXgZ+Jq7fjNwu3tuBS6ik+6pQvr3h2nTYN06OOWU3v4IIiKSrWSWEcn23e/C4MFw+eURRSQi\nknDF0D0VG614KyISjpJsabz+OkycCG++CZUlmRZFRLpHLY0CDjsMhg2DzZvjjkREpLT0NGn0DzSK\nEGiSn4hI8AoljSs6OX8QcF8IsQRKK96KiASvUNI4EfhhzrkRwEPAX0KLKCBa8VZEJHiFksZZwFQy\nq9Eeia1U+x/A/wk5rl47+mjYsQNaWuKORESkdBRKGu9hM7ZrsNVn7we+iyWNxKushBNOUBeViEiQ\nCiWNbwPfwNZ+moOtVjvenf9W+KH1norhIiLBKpQ0BrvHAOBGYD0wyD0Ghx9a72mSn4hIsEpycp/n\n3Xdh+HB44w0YMCDkqEREEkyT+3w48EAriGuZdBGRYJR00gANvRURCZKfpPERn+cSScVwEZHg+Eka\nf8xz7vdBBxIWrxjuswwiIiIFFNqE6WhgMrZsyGewAko7MAQbUVUUxoyBgQNhyxZb+VZERHquUEtj\nIjYr/CD3fKZ7Phb4qo97D8DmeGzEduO72p2vBlYDL2JrWA3N+sxiYAvQgM0NCYSG3oqIBMPP8Kta\noKe/cgcC/8BaNI8C3wHmAm8A1wLfAw4GFmGtmt8BM4HR2Az0iUBbzj19D7n1/PznsGkT/PKXPfwp\nRESKXFBDbv3sEd4IfB9bTsS7vh24wMdn/+Ge+wFVwE4saZzkzi8D0ljSmIctV7IP2Oa+dxaw1sf3\nFFRXB0uX9vYuIiLiJ2ncDTyMdSl5f/X7/VO/EptJPgFYCjwHDAe8ZQRb3GuAUXRMEE1Yi6PXpkyB\n7dttJ7/q6iDuKCJSnvwkjQOwbqSeaAOmYXWRe4GTc95vp3ACyvtefX39B8epVIpUKlUwiD59YNYs\nWLMGPv3pLmMWESl66XSadDod+H399G/9G7AG+HMvv+tyYA9wIZACmoGRwIPAJKyLCuAa93wPsAQr\npmfrdk0D4IorYP9++MEPuv1REZGiF+UyIt8EVmJLpe9yj3d8fO5QMiOjDgA+BWwAVgAL3PkFwF3u\neAVwPlb/GI/t37HOx/f4okl+IiK9F+aChVOwQnele9wK/Bgbcns7MA4reH8WeMt95jKswN4KLMS6\ntHL1qKXx9tswejTs3Al9+3b74yIiRS2olobfGxyM/eWfPanv4d5+eQ/1KGkAHHMM3HwzzJwZcEQi\nIgkXZffUV7EEcR+2zeu9QH1vvzgOmuQnItI7fpLGQmy+xDZs9NN04O0QYwqN6hoiIr3jJ2m8h416\nAuueagCOCi2iEHlJQ4sXioj0jJ+k0YTVNO7CJvitwFodRWf8eBt2+8orcUciIlKc/EzuO9s912NL\nfgzB5lAUnYqKTGvj8MPjjkZEpPj4aWncmnWcxloaN4cSTQRUDBcR6Tk/SeNjOa/7ADNCiCUSKoaL\niPRcoaRxGTb7ewqZmeC7gNex1kZRmj7dNmTatSvuSEREik+hpPFDYDDwE/fsParJrBNVdPr3t8Tx\neO6KViIi0iU/3VN/Aga54y8C1wNFXUZWF5WISM/4SRpLsc2UpgLfAl4CbgkzqLCpGC4i0jN+kkYr\nti/G2cD/BX6OdVMVrdpaWLvW5myIiIh/fpLGLqwo/gWsq6oKKOp1Yg89FEaMgOeeizsSEZHi4idp\nnAfsxZYsb8a2YP1JmEFFQXUNEZHuC3M/jbD0eGn0bDfdBA89BLfe2vW1IiLFLsql0c8BtmC79XVn\n5z6Asdh2rs8BzwKXuPP12JpWG9zj9KzPLHbf1wDM8fk93aaWhohI9/nJOluBM4Hne3D/Ee6xERu2\n+xRWUP8slnyuz7l+MvA7YCbWDXY/MBErxHsCaWm0tcGwYfDsszByZK9vJyKSaFG2NJrpWcLwPrvR\nHe929xntXucLfh6wHNiHraTbiO3lEbjKSjjhBA29FRHpDj9J40ngNuBzWFfVOcBnevBdNdgGTmvd\n64uBTdjih0PduVFYt5WniUySCZy6qEREusdP0jgI24RpDtZNdSZwVje/ZxDwB2wXwN3YhMHxwDTg\nb8B1BT4b2pZJmuQnItI9fvbT+HIvv6Mv8Efgt9hGTmCLHnpuAla641ex4rlnjDvXQX19/QfHqVSK\nVCrVo8BmzoRnnoE9e+CAA3p0CxGRREqn06TT6cDv66coMha4Afi4e/0w1mJo6vQTHe+/DNgBXJp1\nfiTWwsCdnwl8nkwhfBaZQvgRdGxtBFII98yaBdddByeeGNgtRUQSJ8pC+K+xpdBHucdKd86POmwm\n+cl0HF77I+BprKZxEpmEshm43T2vAi4ixO4pUF1DRKQ7/GSdTdhihV2di0qgLY0//AGWLYOVK7u+\nVkSkWEXZ0tiBLYlehdVAvgC80dsvTgqvGB5gHhIRKVl+ksYF2GS8ZqwOcS7wlTCDitKoUTBkCLzw\nQtyRiIgkn5/RU9vo/hDbouK1NiZNijsSEZFk89PSuIXM5DuAg4FfhRNOPFQMFxHxx0/SOAZ4K+v1\nTuDYcMKJhyb5iYj44ydpVADVWa+rsaJ4yZgyBV57DXbsiDsSEZFk85M0rgPWAFcB/+aOfxxmUFGr\nqoLZs9XaEBHpit+axmewpT+agfnuXElRF5WISNf8jJ4C20SppHfUrquDq66KOwoRkWQr2+1ec73z\njs3ZePNN6Ncv8NuLiMQqyhnhZWHIEDjiCNiwIe5IRESSqztJYwg2csp7lBzVNURECvOTNL6GFcCf\nwfb4fgrbza/kaJKfiEhhfvq3GoHjSc4ihaHUNABeftlaG6+9BhXFWO0REelElDWNl7DtXkteTY0l\ni23b4o5ERCSZ/Ay5XYRN6FsDvO/OtQOXhBVUXCoqMl1U48fHHY2ISPL4aWn8J7bt6lqsluHVNfwY\nCzyIzfF4lkyiqQZWAy8C99FxQcTFwBagAZjj83sCo2K4iEjn/PRvbQCm9/D+I9xjIzAISzZnY/tx\nvAFcC3wPWzl3EZk9wmeS2SN8ItCWdc/QahoA69bBV78KmzaF9hUiIpGLsqaxChtBNZLuD7ltxhIG\nwG7geSwZzAWWufPLsEQCMA9YDuzD9vFoBGb5/K5ATJsGW7faZD8REenIT03j81gNY1HO+e72+tdg\nLZbHgeFAizvf4l4DjMK6wTxNWJKJTL9+MGMGrF0LcyLvHBMRSTY/SaMmgO8ZBPwRWAjsynmv3T06\nE/nu3bW1VgxX0hAR6chP0lhA/l/cfle67YsljFuBu9y5FqzW0Yx1e73uzr+KFc89Y9y5Durr6z84\nTqVSpFIpn6H4U1cHP/tZoLcUEYlUOp0mnU4Hfl8/RZGfk0kaBwCnAOuBf/Z5/2XADuDSrPPXunM/\nwrq9htKxED6LTCH8CDomrVAL4WCbMY0fb4sX9vG7DrCISIIFVQjvyQ2GArcBp/q49uPAw8DTZH7x\nLwbWAbcD47CC92fJbCl7GXAB0Ip1Z92bc8/QkwbA0UfD8uVWGBcRKXZxJo1+2JyLib398h6KJGlc\neCFMnw5f/3roXyUiErooh9yuzHr8GXgBuLO3X5x0muQnIvJhfrLOSVnXtQL/A2wPLaKuRdLSeOEF\nOPVUrUMlIqUhqu6pPlgxOtXbLwpQJEmjvR2GDbOZ4aMjnSkiIhK8qLqnWoH9dFwbqixUVKiLSkQk\nl58Bpe9iGzCtdsdQoqvc5vJWvD333LgjERFJBj9J4w738PqEKohhlnYcamvh29+OOwoRkeTw27/V\nH5iEJYsGMvtqxCGSmgbAnj1w6KHw97/DwIGRfKWISCiiHHL7aWy12RuAG4GtwBm9/eJicMABMGUK\nPPFE3JGIiCSDn6RxPXAyNvT2JGwk1U9DjClRvLqGiIj4SxrvYC0Nz0vuXFnwVrwVEZHC/VvnuOdP\nAodja0UBnAu8AvzvEOMqJLKaBkBzM0yeDG+8AZV+UqyISAIFVdMoNHrqLDKjpF7HuqYA/g4M6O0X\nF4sRI+Dgg6GhwZKHiEg5K5Q0vhxVEEnnTfJT0hCRclcoaXwP2+/ixjzvlcXkPo9XDL/wwrgjERGJ\nV6Gksdk9P5XnvbKY3OeprYWfls14MRGRzvW6KBKDSAvhAPv3wyGHwJYttoihiEixiWJy38oCjxU+\n7/8rbD/wZ7LO1QNNwAb3OD3rvcXAFmzW+Ryf3xG6qiqYPRvWrIk7EhGReBXqnrougPv/GquJ3JJ1\nrh2bMHh9zrWTgfPcs7c/+ESgLYA4es2ra8ydG3ckIiLxKZQ00gHc/xGgJs/5fE2kecByYB+2b3gj\nMAtYG0AcvVZbC/X1cUchIhKvQt1Tv3fPz+R5PN3L770Y2ATcTGavjlFYt5WnCWtxJMLs2bBxI+zd\nG3ckIiLxKdTSWOiezwr4O5cCV7rjq7BusH/p5Nq8Fe/6rD/5U6kUqVQquOg6MXgwTJwI69fDCSeE\n/nUiIr2STqdJp9OB3zeK0VM1WPF8ShfvLXLnrnHP9wBLgMdzPhP56CnPN74B48drjw0RKT5RLo2+\nG9jlHnuxwnRvFiwcmXU8n8zIqhXA+UA/YDxwJLCuF98TOK14KyLlzs/OfYOyjiuBucDxPu+/HFuz\n6lBgO9ZySAHTsK6nl4GvuWs3Y4sibsb2Jr+IhE0irK2FSy+F9nbbQ1xEpNz09FffRuwXfxxi655q\nb4exY+Ghh2DChFhCEBHpkShWufWck3VcCcwA9vT2i4tRRUVmfw0lDREpR36SRvYS6a3YHIp5YQWU\ndHV1tuLtl74UdyQiItErxp752LqnAJ58Er7yFXjmma6vFRFJiqC6p/zc4EaspeFdm3sc9RLpsSaN\nffuguhq2b4ehQ7u+XkQkCaIccjsAOBZ4EVtMcDo2LPZJ8i+bXtL69oXjjoO1iVjcREQkWn6yzuPA\nx7E1oQD6Ao8Cs8MKqguxtjQAvv99W/n2yiu7vlZEJAmibGkMBYZkvR5MZr2osqRJfiJSrvyMnroG\nWE9m1duTsD0xytbxx8O6ddDaCn38/BcUESkRfpsqI7FlysG6q5rDCceX2LunAD76Ubj1Vjj22Lgj\nERHpWpTdU5XAJ4GpwN1YEXxWwU+UAXVRiUg58pM0fgGcAHzOvd7tzpW12lqb5CciUk78JI3Z2OKB\n77nXb2IjqMqaWhoiUo78JI33gaqs18NIyL7dcTriCHjvPZvkJyJSLvwkjRuBO4HDgB8CfwWuDjOo\nYuAtXqguKhEpJ34r6UcD/+SOHwCeDyccXxIxegrg2muhqQluuCHuSERECotyaXSwJBFnokikujpY\nuLDr60RESoWf7qne+BXQQmZLV4BqYDW2ltV9dJxdvhhb36oBmBNybL02YwY8/zzs3h13JCIi0Qg7\nafwaOC3n3CIsaUzEuroWufOTgfPc82nYsN6w4+uVAQNg6lR44om4IxERiUbYv5QfAXbmnJsLLHPH\ny4Cz3fE8bE/xfdhGT40UwSRCDb0VkXISx1/yw7EuK9zzcHc8CmjKuq4JGB1hXD2iEVQiUk7iXm6v\nncxWsp29/yH19fUfHKdSKVKpVKBBdUdtLVxwAbS1QWWiO9NEpJyk02nS6XTg941iu9caYCUwxb1u\nAFLYoocjgQeBSWRqG9e453uAJdgCidkSM+TWc8QRcNdd8LGPxR2JiEh+US5YGLQVwAJ3vAC4K+v8\n+diCiOOBI4F1kUfXA3V16qISkfIQdtJYDjwGHAVsB76CtSQ+hQ25PYVMy2IzcLt7XoWtd5WsJkUn\nVAwXkXIRRfdU0BLXPfXsszB/PmzZEnckIiL5FXP3VMmZPBneeANaWrq+VkSkmClpBKCy0raAXbMm\n7khERMKlpBEQ1TVEpBwoaQSktlZJQ0RKnwrhAdm9G4YPhx07bE0qEZEkUSE8YQYNgkmT4Kmn4o5E\nRCQ8ShoB0iQ/ESl1ShoBUjFcREqdahoB2r7dNmZqabE9xEVEkkI1jQQaO9aK4I2NcUciIhIOJY2A\naeitiJQyJY2AqRguIqVMSSNgammISCkrxnJtYgvhAK2tcPDB8Mor9iwikgQqhCdUnz4wa5YWLxSR\n0qSkEYJTT4Wrr4Zdu+KOREQkWHF2T20D3gH2A/uAWUA1cBtwuHv/s8BbOZ9LdPcUQFsbXHQRbNgA\nq1ZBdXXcEYlIuSuF7ql2IAVMxxIGwCJgNTAReMC9LjqVlbB0KXziE5BKQXNz3BGJiAQj7u6p3Kw3\nF1jmjpcBZ0cbTnAqKuDaa+Hccy15vPJK3BGJiPRe3C2N+4Enga+6c8MBb9PUFve6aFVUwOWXW1fV\niSdqD3ERKX59YvzuOuBvwDCsS6oh5/129/iQ+vr6D45TqRSpVCqUAIPyzW/C4MHWVbVqFRxzTNwR\niUipS6fTpNPpwO+blHkaS4DdWIsjBTQDI4EHgUk51ya+EN6Z226DSy6BFStg9uy4oxGRclLshfCB\nwGB3fCAwB3gGWAEscOcXAHdFH1p4zjsPbr4ZzjwTQvgDQEQkdHG1NMYDd7rjPsB/AVdjQ25vB8ZR\nxENuu/Lgg5ZAfvMbOOOMuKMRkXIQVEsjKd1T3VH0SQNg7VqYNw9uuMESiIhImJQ0SsDTT1tX1Sc+\nYcNzR42KOyIRKVXFXtMQbBTV5s0wbpwd//jH8P77cUclItI5tTQS4sUXbWjuSy9Zl9WcOXFHJCKl\nRN1TJai9Hf70J1i4EKZNg+uvh5qauKMSkVKg7qkSVFEBZ51lXVbTp8OMGXDllbBnT9yRiYgYJY0E\nGjDAlh9Zv96K5R/9KNx9t7VERETipO6pInD//TaTvKoK5s+Hz3wGpk61lomIiB+qaZSZ/fttbsed\nd9qjrc0SyPz5ti95VVXcEYpIkilplLH2duu28hJIczPMnWstkFNOgf79445QRJJGSUM+8NJLmQTy\n3HNw2mnWAjn9dFtdV0RESUPyam62VXTvuAMee8xmm8+fby2RYcPijk5E4qKkIV16+23485+tBXLf\nfTaM16uDjBsXd3QiEiUlDemWPXtsFNadd8LKlZY05s+H446D0aNhzBgYOlQjskRKlZKG9FhrKzzy\niM39eP55aGqyR2trJoGMGZP/+LDDoFKze0SKjpKGBG7XLnj1VUsg3nPu8dtvw4gRnSeVMWNg5Ejo\n1y/un0ZEspVy0jgN+HegCrgJ+FHO+0oaMdq7F157rXBiaWmB6urCiWX0aDjwwLh/GpHyUapJowp4\nAfgk8CrwBPA54Pmsa4oiaaTTaVKpVNxhdCmMOPfvt8RRKLG8+qotl9JVd9jBB1udpZz/ewatGGIE\nxRm0oJJGn96HEqhZQCO21SvAfwPz6Jg0ikKx/EMKI86qKttQqtCmUu3t8OabH04ma9d2TCzvv28J\nZNeuNOPHpxgwwCYvDhhAh+N853p63L9/zwcEFMP/7sUQIyjOpEpa0hgNbM963QTMjikWCVFFBRxy\niD2mTu38ut27LXlcfz0sWGDdY++9Z4/Ojt99F3bs6Hjez+e84/ffzySP7iabJ5+EnTttsEC+R0VF\n5+9Fdd3WrfDAA8mJr6JCo/aKSdKSRvL7nSRSgwbBUUdZcb22NprvbGuzxNHdZLN3L7z8MnzkI3aP\nQo/2dhut5ue6rq7pznVtbdDYaHWpqL+7s+u83ubcZNLaartZQsek4h3nPnf3vaCuf+cduOmm5MRT\n6PogJC2/Hw/UY8VwgMVAGx2L4Y3AhGjDEhEpeluBI+IOImh9sB+sBugHbASOjjMgERFJttOxEVSN\nWEtDRERERESkd44CNmQ93gYuAaqB1cCLwH3A0KzPLAa2AA3AnAhjXQw8BzwD/A7on9A4F7oYn3XH\nkIw4fwW0uNg8PYlrhrvHFuBnEcV5Lva//X7g2JzrkxTnj7Hh6puAO4CDYo4zX4xXufg2Ag8AY2OO\nsbM4Pd/G6qzVCY2zHht16v0OPT0BcUamEvgb9o/oWuC77vz3gGvc8WTsH1tfrA7SSDT7ntcAL2GJ\nAuA2YEEC4/wY9o9hADZxcjU2iCAJcZ4ITKfjP/juxOUN4liHze8B+H9kBlGEGeckYCLwIB2TRtLi\n/BSZ//2uIf7/nvlizN7x5WJsFYg4Y+wsTrDfRfcAL5NJGkmLcwnwrTzXBhZnkpee+yT2g20H5gLL\n3PllwNnueB6wHNiHTQhsJPPDh+kd950DseL9QOC1BMY5CXgceA/7q/gh4JyExPkIsDPnXHfimg2M\nxH7prHPX3ZL1mTDjbMBaQ7mSFudq7K9isH8HY2KOM1+Mu7KOBwFvxBxjZ3ECXE/mjxpPEuPMNyo2\nsDiTnDTOx35IgOFYMwz3PNwdj8KaYp4mbIJg2N4ErgNewZLFW9j/QZMW57PYXyPVWGI7A/vFkbQ4\nPd2NK/f8q0Qbb64kx3kB9lckeeKJO84fYP9f+jJwtTuXtBjnue99Oud80uIEa7FtAm4m08UbWJxJ\nTRr9gLOA3+d5r53CkwCjmCA4Afgm1swbhf2F9IU8ccQdZwM2x+U+YBXWPN2fJ4644+zsezXZMxjf\nB97Ham9J9H1gHPBrbLHSpBkIXIZ1/XiSNsfNsxQYD0zDuvevC/oLkpo0TgeeAv7uXrcAI9zxSOB1\nd/wqHQtnY9y5sB0HPAbsAFqxIuMJQHPC4gQrlh0HnIQ1ZV8kef89Pd2Jq8mdH5NzPsp4cyUxzi9j\nLcz/lXUuiXGCJbWZ7jhJMU7A/kDchNUzxmC/n4YnLE6w/894f3DdRKZ7OWlxBu6/scKy51qsMAqw\niA8X9Pph2XUr0fwFMBXr+jnAfd8y4OsJjBPgMPc8DhtJc1CC4qzhw4Xw7sb1ONY3W0E4xcZ8cXoe\nxEaeeJIW52nYKK9Dc66LM87cGI/MOr4YuDUBMeaLM1u+QnhS4hyZdXwpmdZl3HGG6kCsGJY9qqIa\nuJ/8QzGYQl2zAAADQ0lEQVQvw4o6DcCpEcUIVhDzhtwuw0YlJDHOh12cG4GT3bkkxLkcqwe9jw12\n+EoP4/KGCzYCN0QQ5wVYoXA7sAdrXa5KaJxbgP8hM/zyFzHHmS/GP7jv2wj8kcwfOXHFmB3nXjL/\nNrO9RMcht3HHmf3f8xas7rIJuItMXTDOOEVEREREREREREREREREREREREREREQkuQ4hM+/gb2SW\ngV5P8va8PwlbKaC3/gwM6cb19dgS3mArHK8GrgggDpHE/Z9MpCs7sOWgwdYC2oWtPhqXKj68npfn\nZCy+Nd24Xx9saZpsn+5mTN4yEv2wCXNPAFd28x4ieSV17SkRvyqwGa1p4ElsvwNv/ao0llCewJZQ\nmQncic04v8pdU4PNkP0tsBlbJPMA916h+/7U3XchcCawFmvtrMZmNdcAX8OWclgPfBz4DbY0vWe3\ne05hy1zfjc3ez7UNm4Fc436O/8SWsbkXa0nk0xdbjucFbCawiEjZWwJ8B/grmfWVzsOWhAZbG8pb\navsSbMmF4dhf4NuBg7FfxG1kupFuxrp2+mCLUh7SyX1/nhVH9nInFwI/yYove0OcX9MxaXh7SaSw\nBHJ4Jz+nt9ZRDbYfwjHu/G10XIjQU4+1yJbneU+kV9Q9JcWuP7ZD4Wr3ugpLDp4V7vlZ9/D263gJ\nW/XzHSyBeF1Iv8USzD3AR7G1sPLd97as47HA7VhLpJ+7t8fvgo/rsHWiuvIymT0dnsISSa524FGg\nFlsQcIvPGES6pKQhxa4C69Kp7eT9ve65LevYe+39+8/et6PCve7qvu9mHd+ItS7+hBW/6zv5TCuZ\nLuFKLMHku18h2T/DfjJdabkexhbSXIV1jTX7vL9IQappSLHbCwwDjnev+2LLQHfHuKzPfx6rL7zQ\nxX2zWxBDyLRCvpx1fhcdV2veRmYp9bnunmG6A0tm92BL4ov0mpKGFLv9wD9jOxRuxIbf5hvmWmgn\nwBew/VA2Y79cl2K1g0L3zb5XPVZAfxLbOMx7byUw3322Dvgl1hLZiCWj3Vn38Lt7Yu51nX3OO/8f\nWPF/BdaVJyIivVBD55vtiEgOtTREtBe5iIiIiIiIiIiIiIiIiIiIiIiIiIiIiATj/wO8DLnTo5SU\npQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10b2ade10>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ii)From the graph it can be seen that as temperature increases Ka decreases exponentially,(so the reaction is exothermic.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.7 Page No : 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "#SO2 + (1/2)O2 - SO3\n",
+ "#Basis: 1 Kgmole of SO2\n",
+ "n_SO2 = 1.0;# SO2 fed in Kgmole\n",
+ "n_O2 = n_SO2;#O2 fed in kgmole\n",
+ "\n",
+ "#To Calculate the conversion of SO2 to SO3 at 1atm and at various temperature\n",
+ "#(1)Calculate the conversion of SO2 to SO3 \n",
+ "P = 1.0;#Pressure in atm\n",
+ "T = 850.0;#Temperature in K\n",
+ "m = 1-1-(1/2.0);\n",
+ "#From example 14.6\n",
+ "Ta = [700.0, 800.0, 825.0, 850.0, 900.0, 1000.0, 1100.0, 1300.0, 1500.0];\n",
+ "Ka = [395.40, 52.51, 34.60, 23.44, 11.59, 3.527, 1.48, 0.398, 0.0016];\n",
+ "\n",
+ "\n",
+ "\n",
+ "plt.plot(Ta,Ka)\n",
+ "plt.title(\"Equilibrium consmath.tant vs Temperature\")\n",
+ "plt.xlabel(\"Temperature in K\")\n",
+ "plt.ylabel(\"Ka\")\n",
+ "plt.show()\n",
+ "Ka1 = numpy.interp(850,Ta,Ka)\n",
+ "\n",
+ "\n",
+ "#Let Nc be the moles of SO3 at equilibrium\n",
+ "Nc = [0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 0.8, 0.9, 0.930, 0.95, 0.98, 0.988, 0.989, 0.9895, 0.9897, 0.9899, 0.9900];\n",
+ "#From equation 14.49 (page no 320) and umath.sing the given data ,we got equation (b) (page no 323)\n",
+ "Ka = []\n",
+ "for i in range (0,17):\n",
+ " Ka.append((((n_SO2+n_O2-0.5*Nc[i])/(n_O2-0.5*Nc[i]))**(1/2.0))*(Nc[i]/(n_SO2-Nc[i])));\n",
+ "\n",
+ " \n",
+ "\n",
+ "\n",
+ "plt.plot(Nc,Ka)\n",
+ "plt.title(\"Equilibrium consmath.tant vs Kgmoles of SO3\")\n",
+ "plt.xlabel(\"Kg moles of SO3\")\n",
+ "plt.ylabel(\"Ka\")\n",
+ "Nc1 = numpy.interp(Ka1,Ka,Nc)\n",
+ "\n",
+ "\n",
+ "C = Nc1*100.0/n_SO2;\n",
+ "print '1)The conversion of SO2 to SO3 at 1atm and 850K is %f percent'%C;\n",
+ "\n",
+ "#(2)Calculation of conversion at 1 atm and 850 K under the following conditions\n",
+ "#(i) Given:\n",
+ "n_N2 = 3.75;#Kgmoles of N2 fed\n",
+ "#Let Nc be the moles of SO3 at equilibrium\n",
+ "Nc = [0.85, 0.87, 0.90];\n",
+ "#From equation 14.49 (page no 320) and umath.sing the given data ,we got equation (c) (page no 324)\n",
+ "Ka2 = []\n",
+ "for i in range(0,3):\n",
+ " Ka2.append((((+n_N2+n_SO2+n_O2-0.5*Nc[i])/(n_O2-0.5*Nc[i]))**(1/2.0))*(Nc[i]/(n_SO2-Nc[i])));\n",
+ "\n",
+ "\n",
+ "\n",
+ "plt.plot(Nc,Ka2)\n",
+ "Nc2 = numpy.interp(Ka1,numpy.transpose(Ka2),Nc)\n",
+ "\n",
+ " \n",
+ "C2 = Nc2*100.0/n_SO2;\n",
+ "print ' 2)i)The conversion of SO2 to SO3 at 1 atm and 850 K when inert gas is also added is %f percent'%C2;\n",
+ "\n",
+ "\n",
+ "\n",
+ " \n",
+ "\n",
+ "#(ii)SO3 is also sent along the original feed\n",
+ "n_SO3 = 1.0;#Kgmoles of SO3 fed\n",
+ "#Let Nc be the moles of SO3 at equilibrium\n",
+ "Nc = [0.80, 0.86, 0.92];\n",
+ "#From equation 14.49 (page no 320) and umath.sing the given data ,we got equation (d) (page no 326)\n",
+ "Ka3 = []\n",
+ "for i in range(0,3):\n",
+ " Ka3.append((((+n_SO3+n_SO2+n_O2-0.5*Nc[i])/(n_O2-0.5*Nc[i]))**(1/2.0))*((n_SO3+Nc[i])/(n_SO2-Nc[i])));\n",
+ "\n",
+ "\n",
+ "plt.plot(Nc,Ka3)\n",
+ "Nc3 = numpy.interp(Ka1,Ka3,Nc)\n",
+ "\n",
+ "\n",
+ "C3 = Nc3*100.0/n_SO2;\n",
+ "print ' ii)The conversion of SO2 to SO3 at 1 atm and 850 K when SO3 is also added along the original feed is %f percent'%C3;\n",
+ "\n",
+ "#(iii)Variation of SO2 to O2 ratio:\n",
+ "#(a)SO2:O2 = 1:1 ; This has been worked out in part 1\n",
+ "print ' iii)a)The conversion of SO2 to SO3 at 1atm and 850K when SO2:O2 = 1:1 is %f percent'%(C);\n",
+ "Xc = Nc1/(n_SO2+n_O2-0.5*Nc1);\n",
+ "\n",
+ "#(b)SO2:O2 = 1.1:0.5,Now\n",
+ "n_SO2 = 1.1;#Kgmoles of SO2 fed\n",
+ "n_O2 = 0.5;#Kgmoles of O2 fed\n",
+ "#Let Nc be the moles of SO3 at equilibrium\n",
+ "Nc = [0.9, 0.91, 0.92];\n",
+ "#From equation 14.49 (page no 320) and umath.sing the given data ,we got equation (e) (page no 327)\n",
+ "Ka4 = []\n",
+ "for i in range(0,3):\n",
+ " Ka4.append((((n_SO2+n_O2-0.5*Nc[i])/(n_O2-0.5*Nc[i]))**(1/2.0))*(Nc[i]/(n_SO2-Nc[i])));\n",
+ "\n",
+ "\n",
+ "plt.plot(Nc,Ka4)\n",
+ "Nc4 = numpy.interp(Ka1,Ka4,Nc)\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "C4 = Nc4*100.0/n_SO2;\n",
+ "print ' iii)b)The conversion of SO2 to SO3 at 1atm and 850K when SO2:O2 = 1.1:0.5 is %f percent'%C4;\n",
+ "Xc1 = Nc4/(n_SO2+n_O2-0.5*Nc4);\n",
+ "\n",
+ "#(c)SO2:O2 = 1:0.5\n",
+ "n_SO2 = 1.0;#Kgmoles of SO2 fed\n",
+ "n_O2 = 0.5;#Kgmoles of O2 fed\n",
+ "#Let Nc be the moles of SO3 at equilibrium\n",
+ "Nc = [0.8, 0.85, 0.86, 0.87];\n",
+ "#From equation (a)\n",
+ "Ka5 = []\n",
+ "for i in range(0,4):\n",
+ " Ka5.append((((n_SO2+n_O2-0.5*Nc[i])/(n_O2-0.5*Nc[i]))**(1/2.0))*(Nc[i]/(n_SO2-Nc[i])));\n",
+ "\n",
+ "\n",
+ "\n",
+ "plt.plot(Nc,Ka5)\n",
+ "Nc5 = numpy.interp(Ka1,Ka5,Nc)\n",
+ "\n",
+ " \n",
+ "C5 = Nc5*100.0/n_SO2;\n",
+ "print ' iii)c)The conversion of SO2 to SO3 at 1atm and 850K when SO2:O2 = 1:0.5 is %f percent'%(C5);\n",
+ "Xc2 = Nc5/(n_SO2+n_O2-0.5*Nc5);\n",
+ "\n",
+ "if(Xc2>Xc) and (Xc2>Xc1):\n",
+ " print ' SO2:O2 = 1:0.5 gives the maximum concentration of SO3 at equilibrium.';\n",
+ "else:\n",
+ " if(Xc1>Xc) and (Xc1>Xc2):\n",
+ " print ' SO2:O2 = 1.1:0.5 gives the maximum concentration of SO3 at equilibrium';\n",
+ " else:\n",
+ " if(Xc>Xc1) and (Xc>Xc2):\n",
+ " print ' SO2:O2 = 1:1 gives the maximum concentration of SO3 at equilibrium';\n",
+ "\n",
+ "\n",
+ "\n",
+ "#(3)Conversion of SO2 to SO3 at 50 atm and 850 K when SO2:O2 = 1:1\n",
+ "n_SO2 = 1.0;#Kgmole of SO2 fed\n",
+ "n_O2 = 1.0;#Kgmoles of O2 fed\n",
+ "P = 50.0;#Pressure in atm\n",
+ "#From figure A.2.9\n",
+ "phi_SO2 = 0.99;\n",
+ "phi_SO3 = 0.972;\n",
+ "phi_O2 = 1.0;\n",
+ "#From equation 14.48 (page no320), Ka = Ky*(P**m)*K_phi\n",
+ "K_phi = phi_SO3/(phi_SO2*(phi_O2**2));\n",
+ "#Let Nc be the moles of SO3 at equilibrium\n",
+ "Nc = [0.99, 0.985, 0.97, 0.96];\n",
+ "Ka6 = []\n",
+ "for i in range(0,4):\n",
+ " Ka6.append(K_phi*(P**m)*((((n_SO2+n_O2-0.5*Nc[i])/(n_O2-0.5*Nc[i]))**(1/2.0))*(Nc[i]/(n_SO2-Nc[i]))));\n",
+ "\n",
+ "\n",
+ "plt.plot(Nc,Ka6)\n",
+ "plt.legend(['1 part', '2.(i) part', '2.(ii) part', '2.(iii).(b) part', '2.(iii).(c) part', '3 part'])\n",
+ "plt.show()\n",
+ "Nc6 = numpy.interp(Ka1,Ka6,Nc)\n",
+ "\n",
+ "\n",
+ "C = Nc6*100.0/n_SO2;\n",
+ "print ' 3)The conversion of SO2 to SO3 at 50atm and 850K when SO2:O2 = 1:1 is %f percent'%(C);\n",
+ "#legend(\"1 part\",\"2.(i) part\",\"2.(ii)part\",\"2.(iii).(b)part\",\"2.(iii).(c)part\",\"3 part\");\n",
+ "\n",
+ "\n",
+ "\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\niIiI+O3/ASQ1uCGDf9VHAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10fc16a50>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1)The conversion of SO2 to SO3 at 1atm and 850K is 93.189481 percent\n",
+ " 2)i)The conversion of SO2 to SO3 at 1 atm and 850 K when inert gas is also added is 88.179412 percent\n",
+ " ii)The conversion of SO2 to SO3 at 1 atm and 850 K when SO3 is also added along the original feed is 82.979198 percent\n",
+ " iii)a)The conversion of SO2 to SO3 at 1atm and 850K when SO2:O2 = 1:1 is 93.189481 percent\n",
+ " iii)b)The conversion of SO2 to SO3 at 1atm and 850K when SO2:O2 = 1.1:0.5 is 82.473630 percent\n",
+ " iii)c)The conversion of SO2 to SO3 at 1atm and 850K when SO2:O2 = 1:0.5 is 85.774995 percent\n",
+ " SO2:O2 = 1:0.5 gives the maximum concentration of SO3 at equilibrium.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10fccd5d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " 3)The conversion of SO2 to SO3 at 50atm and 850K when SO2:O2 = 1:1 is 96.000000 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.9 Page No : 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "#2A(g) - B(g)+C(g)\n",
+ "T = 400.0;#Temperature in Kelvin\n",
+ "P = 1.0;#Pressure in atm\n",
+ "R = 1.98;#gas consmath.tant in Kcal/Kgmole K\n",
+ "del_Fo = 3000.0;#standard free energy of the reaction in Kcal/Kgmole\n",
+ "n_A = 1.0;#Kgmoles of A\n",
+ "n_B = 0.1;#Kgmoles of B\n",
+ "n_C = 0.1;#Kgmoles of C\n",
+ "\n",
+ "#To find out the equilibrium has been attained or not. If not then calculate the equilibrium composition and also find out whether the equilibrium composition will change or not if pressure were increased to 3 atm.\n",
+ "#(1)To find out the equilibrium has been attained or not. If not then calculate the equilibrium composition\n",
+ "#P_B/P_C = 1 (Given)\n",
+ "n_T = n_A+n_B+n_C;#Total Kgmoles of the component\n",
+ "p_A = (n_A/n_T)*P;#Partial pressure of A\n",
+ "p_B = (n_B/n_T)*P;#Partial pressure of B\n",
+ "p_C = (n_C/n_T)*P;#Partial pressure of C\n",
+ "#Umath.sing the relation 14.36 (page no 312)\n",
+ "del_F = del_Fo + (R*T)*math.log((p_B*p_C)/(p_A**2));\n",
+ "if del_F == 0:\n",
+ " print '1.Equilibrium has been attained.';\n",
+ "else:\n",
+ " print '1.Equilibrium has not been attained.';\n",
+ "#Equilibrium composition\n",
+ "#At equilibrium del_F = 0\n",
+ "#From equations 14.35(page no 312) and 14.49(page no 320), we got the relations (a),(b)(page no 331) &(c)(page no 332) and\n",
+ "#ln(p_C**2/(P-(2*p_C**2)))= -del_Fo/(R*T); \n",
+ "Kp = math.e**(-del_Fo/(R*T))#equilibrium consmath.tant in terms of pressure\n",
+ "p_C = (Kp**(1/2))/(1+2*(Kp**(1/2)));#Partial pressure of C at equilibrium in atm\n",
+ "p_B = p_C;#as p_B/p_C = 1\n",
+ "p_A = P-(2*p_C);#Partial pressure of A at equilibrium in atm\n",
+ "N_A = p_A*P*100.0;\n",
+ "N_B = p_B*P*100.0;\n",
+ "N_C = p_C*P*100.0;\n",
+ "print ' Equilibrium composition of A,(B and C are %f'%N_A,\n",
+ "print '(%f and '%N_B,\n",
+ "print '%f mole percent respectively.'%N_C\n",
+ "#2.Calculation of composition at 400 K and 3 atm and vapour pressure of C at 400 K is 0.3 atm\n",
+ "P = 3.0;#Pressure in atm\n",
+ "P_C = 0.3;#Vapour pressure of C in atm\n",
+ "#Since m=0,pressure will not have an effect on equilibrium compositions.\n",
+ "print ' 2.The compositions will be the same as above on increamath.sing the pressure.';\n",
+ "p_B1 = p_B*P;#Partial pressure of B in atm\n",
+ "p_C1 = p_B1;#Partial pressure of C in atm\n",
+ "p_A1 = p_A*P;#Partial pressure of A in atm\n",
+ "if P_C < p_C1:\n",
+ " p_A2 = ((p_B1*P_C)/Kp)**(1/2.0);#decreased partial pressure of A in atm\n",
+ "print ' The partial pressure of A drops from %f'%p_A1,\n",
+ "print ' to %f to compensate for the amount of C condensed.'%p_A2;\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1.Equilibrium has not been attained.\n",
+ " Equilibrium composition of A,(B and C are 33.333333 (33.333333 and 33.333333 mole percent respectively.\n",
+ " 2.The compositions will be the same as above on increamath.sing the pressure.\n",
+ " The partial pressure of A drops from 1.000000 to 3.639888 to compensate for the amount of C condensed.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.10 Page No : 307"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "#SO2(A) + (1/2)O2 (B) - SO3(C)\n",
+ "#Basis: 1 Kgmole SO2\n",
+ "n_A = 1.0;#Kgmole of SO2 fed\n",
+ "n_B = n_A;#Kgmole of O2 fed\n",
+ "T1 = 273+400.0;#Temperature in K at which reacmath.tants enter\n",
+ "To = 298.0;#room temperature in K\n",
+ "del_H = -23490.0;#Smath.radians(numpy.arcmath.tan(ar heat of reaction at 25 deg cel from example 14.6 in Kcal/Kgmole\n",
+ "\n",
+ "#At T1,\n",
+ "C_A_T1 = 11.0;\n",
+ "C_B_T1 = 7.4;#in Kcal/Kgmole\n",
+ "#Assume the various temperature be\n",
+ "T = [913.0, 1073.0, 1373.0, 1573.0];#in K\n",
+ "#Mean specific heats of the components A,B & C at various temperature are given below in Kcal/Kgmole K\n",
+ "C_A = [11.6, 11.8, 12.3, 12.5];\n",
+ "C_B = [7.7, 7.8, 8.0, 8.2];\n",
+ "C_C = [16.6, 17.2, 18.2, 18.6];\n",
+ "\n",
+ "#To Calculate the final temperature for various conversions and the maximum conversion that can be attained in a math.single reactor operating adiabatically\n",
+ "#In equation 14.18 (page no 307), H2-Hr = K & (Hp-H3)= L(say)\n",
+ "K = ((n_A*C_A_T1)+(n_B*C_B_T1))*(To-T1);#in Kcal/Kgmole\n",
+ "print 'Adiabatic reaction temp in K pecentage conversion of SO2';\n",
+ "n_C = []\n",
+ "for i in range(0,4):\n",
+ " n_C.append((-K-(C_A[i]*(T[i]-To))-(C_B[i]*(T[i]-To)))/((T[i]-To)*(C_C[i]-C_A[i]-0.5*C_B[i])+del_H));\n",
+ " n_C[i] *= 100\n",
+ " print ' %d'%T[i];\n",
+ " print ' %f'%(n_C[i]*100);\n",
+ "\n",
+ "\n",
+ "plt.plot(T,n_C)\n",
+ "\n",
+ "#Now equilibrium conversion at various temperature taken from figure 14.7 (page no 325) are given as\n",
+ "Ta = [850.0, 900.0, 1000.0, 1100.0, 1200.0, 1300.0, 1400.0,];\n",
+ "n_C1 = [93.5, 88.2, 69.0, 49.0, 37.0, 21.5, 6.25];\n",
+ "\n",
+ "plt.plot(Ta,n_C1)\n",
+ "plt.title(\"Temperature vs Percentage Conversion\")\n",
+ "plt.xlabel(\"Temperature in K\")\n",
+ "plt.ylabel(\"% Conversion\")\n",
+ "plt.show()\n",
+ "\n",
+ "#From the graph,it can be seen that the curve cut each other approximately at the temp\n",
+ "T1 = 1140.0;#in Kelvin\n",
+ "C = numpy.interp(T1,Ta,n_C1)\n",
+ "\n",
+ "print ' The maximum conversion that can be attained is %d percent'%C;\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Adiabatic reaction temp in K pecentage conversion of SO2\n",
+ " 913\n",
+ " 2181.255555\n",
+ " 1073\n",
+ " 3712.910088\n",
+ " 1373\n",
+ " 6957.687376\n",
+ " 1573\n",
+ " 9308.739255\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x10fc6d310>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The maximum conversion that can be attained is 44 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.11 Page No : 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Basis: 1 Kgmole of benzene\n",
+ "#C6H6 (A) + HNO3 (B) - C6H5NO2 (C) + H2O (D)\n",
+ "T = 298.0;#Temperature in K\n",
+ "R = 1.98;#gas consmath.tant in Kcal/Kgmole K\n",
+ "#standard enthalpy in Kcal/Kgmole at 25 deg celsius of the above components are given as\n",
+ "H_A = 11718.0;\n",
+ "H_B = -41404.0;\n",
+ "H_C = -68371.0;\n",
+ "H_D = 3800.0;\n",
+ "#standard entropy in Kcal/Kgmole K at 25 deg celsius of the above components are given as\n",
+ "S_A = 41.30;\n",
+ "S_B = 37.19;\n",
+ "S_C = 16.72;\n",
+ "S_D = 53.60;\n",
+ "\n",
+ "#To Calculate the conversion of benzene at 25 degree celsius and 1 atm\n",
+ "del_F = (H_C+H_D-(T*(S_C+S_D)))-(H_A+H_B-(T*(S_A+S_B)));\n",
+ "Ka = math.e**(-del_F/(R*T));#Equilibrium consmath.tant\n",
+ "x = (Ka**(1/2.0)/(1+(Ka**(1/2.0))));\n",
+ "print 'The conversion is almost %f percent for this reaction.'%(x*100);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conversion is almost 100.000000 percent for this reaction.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.12 Page No : 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "from sympy import Symbol\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "#C + 2H2 - CH4\n",
+ "#Basis: 1 Kgmole of C fed\n",
+ "T = 1000.0;#Temperature in K\n",
+ "P1 = 2.0;#Pressure in atm\n",
+ "del_F = 4580.0;#standard free energy in Kcal/Kgmole\n",
+ "\n",
+ "\n",
+ "#To Calculate the maximum CH4 concentration under the condition of 2 atm and the quantity of methane obtained if pressure is 1 atm\n",
+ "Ka = math.e**(-del_F/(R*T));#Equilibrium consmath.tant\n",
+ "#In relation (d) (page no 339) p_H2 = p (say)\n",
+ "p = Symbol('p');\n",
+ "q = [Ka,1,-P1]#*(p**2)+p-P1;\n",
+ "r = numpy.roots(q);\n",
+ "p_H2 = r[1];#partial pressure of H2\n",
+ "p_CH4 = P1-p_H2;#partial pressure of CH4\n",
+ "X_H2 = p_H2*100/P1;#mole percent of H2\n",
+ "X_CH4 = p_CH4*100/P1;#mole percent of CH4\n",
+ "print 'Under the conditions of 2 atm and 1000 K, the maximum CH4 concentration is %f percent and further increase is not pssible'%(X_CH4);\n",
+ "#Now.pressure has become\n",
+ "P2 = 1;#in atm\n",
+ "q = Ka*(p**2)+p-P2;\n",
+ "r = [Ka,1,-P2]#numpy.roots(q);\n",
+ "p_H2 = r[1];#partial pressure of H2\n",
+ "p_CH4 = P2-p_H2;#partial pressure of CH4\n",
+ "X_H2 = p_H2*100/P2;#mole percent of H2\n",
+ "X_CH4 = p_CH4*100/P2;#mole percent of CH4\n",
+ "print ' Under the conditions of 1 atm and 1000 K,Methane = %f percent and Hydrogen = %f percent'%(X_CH4,X_H2);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Under the conditions of 2 atm and 1000 K, the maximum CH4 concentration is 14.475434 percent and further increase is not pssible\n",
+ " Under the conditions of 1 atm and 1000 K,Methane = 0.000000 percent and Hydrogen = 100.000000 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.13 Page No : 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "T1 = 273+110;#Temperature in K\n",
+ "T = 298.0;#Room temperature in K\n",
+ "P = 1.0;#Pressure in atm\n",
+ "R = 1.98;#gas consmath.tant in Kcal/Kgmole\n",
+ "#Ag2CO3(s) (A) = Ag2O(s) (B) + CO2(g) (C)\n",
+ "a = 1.0;#Stoichiometry coefficient of A\n",
+ "b = 1.0;#Stoichiometry coefficient of B\n",
+ "c = 1.0;#Stoichiometry coefficient of C\n",
+ "#standard entropy of the above components in Kcal/Kgmole K at 25 deg cel are given as\n",
+ "S_A = 40.17;\n",
+ "S_B = 29.09;\n",
+ "S_C = 51.08;\n",
+ "#standard enthalpy of the above components in Kcal/Kgmole at 25 deg cel are given as\n",
+ "H_A = -119900.0;\n",
+ "H_B = -6950.0;\n",
+ "H_C = -94036.0;\n",
+ "#Specific heat (assumed consmath.tant) of the above components in Kcal/Kgmole K are given as\n",
+ "C_A = 26.1;\n",
+ "C_B = 16.5;\n",
+ "C_C = 9.6;\n",
+ "\n",
+ "#To Calculate the partial pressure of CO2 required for decomposition and thus determine whether Ag2CO3 will decomposes or not at the given pressure and temperature\n",
+ "del_H = H_C+H_B-H_A;#standard heat of reaction at 25 deg cel in Kcal/Kgmole\n",
+ "del_C = b*C_B+c*C_C-a*C_A;\n",
+ "#From equation 14.15 (page no 340)\n",
+ "del_Ht = del_H +del_C*(T1-T);\n",
+ "del_F = del_H-(T*(S_B+S_C-S_A));#standard free energy in Kcal/Kgmole\n",
+ "Ka1 = math.e**(-del_F/(R*T));#Equilibrium consmath.tant at temperature T\n",
+ "#Since del_Ht is consmath.tant(as del_C = 0),Ka2 can be calculated by equation 14.43 (page no 316)\n",
+ "Ka2 = Ka1* math.e**((del_Ht/R)*(1/T1-1/T));\n",
+ "p_CO2 = Ka2;\n",
+ "print 'The partial pressure of CO2 required for decomposition is %4.3e atm'%(p_CO2);\n",
+ "if p_CO2 < P :\n",
+ " print ' Silver carbonate will not decompose at 110 deg celsius as the pressure given is 1 atm';\n",
+ "else:\n",
+ " print ' Silver carbonate will decompose at 110 deg celsius';\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The partial pressure of CO2 required for decomposition is 8.523e-20 atm\n",
+ " Silver carbonate will not decompose at 110 deg celsius as the pressure given is 1 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.15 Page No : 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import poly1d,roots\n",
+ "#Given\n",
+ "#C3H8 = C3H6 + H2... (i)\n",
+ "#C3H8 = C2H4 +CH4...(ii)\n",
+ "Kp1 = 7.88;#Equilibrium consmath.tant of equation (i)\n",
+ "Kp2 = 775.0;#Equilibrium consmath.tant of equation (ii)\n",
+ "T = 760+273;#Temperature in K\n",
+ "\n",
+ "#To Calculate the equilibrium composition of the mixture\n",
+ "#Basis: 1 mole of C3H8 in feed\n",
+ "#From the equations (a) &(b) (page no 343); y/x = z (say)\n",
+ "z = (Kp2/Kp1)**(1/2);\n",
+ "#Substituting y = z*x in equation(a), we got the equation p:\n",
+ "\n",
+ "#x = poly(0,'x')\n",
+ "p = poly1d([1+Kp1+Kp1*(z**2)+2*Kp1,0,-Kp1])\n",
+ "q = roots(p);\n",
+ "\n",
+ "x = q[0];\n",
+ "y = z*x;\n",
+ "print 'Moles of H2, C3H6, C2H4 and CH4 formed at equilibrium are %f %f %f %f respectively.'%(x,x,y,y);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moles of H2, C3H6, C2H4 and CH4 formed at equilibrium are 0.492252 0.492252 0.492252 0.492252 respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch15_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch15_1.ipynb
new file mode 100644
index 00000000..0fd672b5
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch15_1.ipynb
@@ -0,0 +1,67 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e134d729844fc5fc379f513b7f1e5b167020e513591a6ab49b7a3de0e1f6059e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 15 : Fuel Cells"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.1 Page No : 321"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "del_F = -56.29;#Smath.radians(numpy.arcmath.tan(ard free energy change in Kcal/Kgmole\n",
+ "del_H = -68.317;#Smath.radians(numpy.arcmath.tan(ard heat of reaction in Kcal/kgmole\n",
+ "F = 23.06;#Electro-chemical equivalent in Kcal/volt\n",
+ "J = 2.0;#Valance for H2\n",
+ "\n",
+ "#To Calculate the emf of the cell, cell efficiency and heat to be removed to maintain isothermal conditions\n",
+ "#Basis: 1 Kgmole of H2\n",
+ "#From equation 15.4 (page no 355)\n",
+ "E = -del_F/(F*J);\n",
+ "print '1.The emf of the cell is %f volt.'%(E);\n",
+ "n = del_F/del_H*100;\n",
+ "print ' 2.The cell efficiency is %f percent.'%(n);\n",
+ "Q = del_H-del_F;\n",
+ "print ' 3.The heat to be removed is %f Kcal to maintain the temperature at 25 degree celsius.'%(Q);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1.The emf of the cell is 1.220512 volt.\n",
+ " 2.The cell efficiency is 82.395304 percent.\n",
+ " 3.The heat to be removed is -12.027000 Kcal to maintain the temperature at 25 degree celsius.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch1_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch1_1.ipynb
new file mode 100644
index 00000000..04e7e8da
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch1_1.ipynb
@@ -0,0 +1,212 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:13cb37b7bedc939f2932970f808cc63def43a3ee0a76b1e4d1958377aebef52c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1 : Introduction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1 Page No : 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given \n",
+ "m = 100 #m is the mass of the object in kg\n",
+ "a = 10 #a is the acceeleration due to gravity in m/s**2\n",
+ "\n",
+ "#To determine the force exerted\n",
+ "F = m*a #F is the force exerted by the object in kg\n",
+ "print \"Force exerted by the object= \",\n",
+ "print \"%.6f\" %F,\n",
+ "print \"N\"\n",
+ "F = (1/9.8065)*m*a;#F is the force exerted by the object in kgf\n",
+ "print \"Force exerted by the object= \",\n",
+ "print \"%.6f\" %F,\n",
+ "print \"N\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force exerted by the object= 1000.000000 N\n",
+ "Force exerted by the object= 101.973181 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.4 Page No : 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "h = 100 #h is the height of the water fall in m\n",
+ "n = .855 #n is the efficiency of the turbine\n",
+ "g = 9.8 #g is the acceleration due to gravity in m/(s**2)\n",
+ "E = 100*10*3600;#E is the potential enery of water available to the bulb for 10 hours in watt or J/s\n",
+ "\n",
+ "#To determine the mass of water required\n",
+ "m = (E/(g*h*n)) #m is the mass of water required for lighting the bulb for 10 hours in Kg\n",
+ "print \"Mass of water required for lighting the bulb for 10 hours in Kg= \",\n",
+ "print \"%.6f\"%m,\n",
+ "print \"Kg\"\n",
+ "print \"Mass of water required for lighting the bulb for 10 hours in tonnes= \",\n",
+ "print \"%.6f\"%(m/907.2),\n",
+ "print \"Kg\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mass of water required for lighting the bulb for 10 hours in Kg= 4296.455424 Kg\n",
+ "Mass of water required for lighting the bulb for 10 hours in tonnes= 4.735952 Kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.5 Page No : 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "n = 1. #n is the Kg mole of an ideal gas\n",
+ "P = 700.*(10**4) #P is the pressure of the system in N/(m**2)\n",
+ "W = 45. #W is the weight of the mass in Kg\n",
+ "M = 20. #M is the weight of the piston and piston rod together in Kg\n",
+ "T = 300. #T is the consmath.tant temperature of the bath in K\n",
+ "h = .4 #h is the height difference of the piston after expansion in m\n",
+ "\n",
+ "#To calculate the work obtained\n",
+ "a = (10**-4) #a is the cross sectional area of the cylinder in m**2\n",
+ "V = h*a #V is the volume changed as gas expands in m**3\n",
+ "\n",
+ "#(i). If gas alone is the system\n",
+ "#1Kgf = 9.8065Nm\n",
+ "P1 = ((W+M)*9.8065)/(10**-4) #P1 is the resisting pressure when the gas confined in the cylinder taken as a system\n",
+ "W1 = P1*V #W1 is the work done if the gas confined in the cylinder us taken as system\n",
+ "print \"Work done by the system if the gas confined in the cylinder is taken as a system is \",\n",
+ "print \"%.6f \"%W1,\n",
+ "print \"Nm\"\n",
+ "\n",
+ "#(ii). If gas + piston + piston rod is a system\n",
+ "P2 = ((W*9.8065)/(10**-4)) #P2 is the resisting pressure when the gas plus piston plus piston rod is taken as a system\n",
+ "W2 = P2*V #W2 is the Work done by the system if the gas plus piston plus piston rod is taken as a system\n",
+ "print \"Work done by the system if the gas plus piston plus piston rod is taken as system is \",\n",
+ "print \"%.6f\"%W2,\n",
+ "print \"Nm\"\n",
+ "\n",
+ "#(iii). If gas + piston + piston rod +weight is system\n",
+ "P3 = 0 #P3 is the resisting pressure when the gas plus piston plus piston rod plus weight is taken as a system\n",
+ "W3 = P3*V #W3 is the work done by the system if the gas plus piston plus piston rod plus weight is taken as a system\n",
+ "print \"Work done by the system if the gas plus piston plus piston rod plus weight is taken as a system is \",\n",
+ "print \"%.4f\"%W3,\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work done by the system if the gas confined in the cylinder is taken as a system is 254.969000 Nm\n",
+ "Work done by the system if the gas plus piston plus piston rod is taken as system is 176.517000 Nm\n",
+ "Work done by the system if the gas plus piston plus piston rod plus weight is taken as a system is 0.0000\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.6 Page No : 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "n = 1 #n is the Kg mole of ideal gas.\n",
+ "P1 = 700*(10**4) #P1 is the initial pressure of the system in N/(m**2)\n",
+ "P2 = 638*(10**4) #P2 is the final pressure of the system in N/(m**2)\n",
+ "T = 300 #T is temperature of the system in K\n",
+ "R = 8314.4 #R is gas consmath.tant in Nm/Kgmole deg K\n",
+ "\n",
+ "#To calculate the work done\n",
+ "W = n*R*T*math.log(P1/float(P2)) #W is the work done by the system in Nm\n",
+ "print \"Work done by the system is \",\n",
+ "print \"%.2e\"%W,\n",
+ "print \"Nm\"\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work done by the system is 2.31e+05 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch2_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch2_1.ipynb
new file mode 100644
index 00000000..f0ca2482
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch2_1.ipynb
@@ -0,0 +1,631 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3938cdb77cb1cf91b5da41037c46803e1323bc2d84e6ed7eb8e8d2a220b8bc11"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2 : P V T Relations"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1 Page No : 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "m = 140 #m is the mass of N2 in Kg\n",
+ "P = 4.052*(10**5) #P is the pressure of the system in Pa\n",
+ "V = 30 #V is the volume of the system in m**3\n",
+ "R = 8314.4 # R is the gas consmath.tant\n",
+ "\n",
+ "#To determine temperature required\n",
+ "T = P*V/float(((m/28)*R)) #T is the temperature of the system in K\n",
+ "print \"Temperature of the system is \",\n",
+ "print \"%.6f\"%T,\n",
+ "print \"K\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature of the system is 292.408352 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.5 Page No : 33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy\n",
+ "from numpy.polynomial import Polynomial as poly\n",
+ "\n",
+ "\n",
+ "#Given\n",
+ "n = 1 #n is Kg moles of methane\n",
+ "T = 423 #T is the temperatue of the system in kelvin\n",
+ "P = float(100) #P is the pressure of the system in atm\n",
+ "Tc = 191 #Tc is the critical temperature of the system in K\n",
+ "Pc = 45.8 #Pc is the critical pressure of the system in atm\n",
+ "R = 0.08206 #R is the gas consmath.tant in (m**3 atm/Kg mole K)\n",
+ "\n",
+ "#To calculate the volume of methane\n",
+ "#(i)Umath.sing ideal gas equation\n",
+ "V1 = (n*R*T)/P #V1 is the volume of the gas in m**3\n",
+ "print \"i)Volume of the gas umath.sing ideal gas equation is \",\n",
+ "print \"%.6f\"%V1,\n",
+ "print \"cubic meter\"\n",
+ "\n",
+ "#(ii)Umath.sing Vander Waals' equation\n",
+ "a = (27*(R**2)*(Tc**2))/(64*Pc) #Vander Waais consmath.tant\n",
+ "b = (R*Tc)/(8*Pc) #Vander Waais consmath.tant\n",
+ "q = numpy.poly1d([1,-(((R*T)+(b*P))/P),-((a*b)/P)+(a/P),0])\n",
+ "r = numpy.roots(q)\n",
+ "print \" ii)Volume of the gas umath.sing Vander Waals equation is\",\n",
+ "print \"%.6f\"%r[0],\n",
+ "print \"cubic meter\"\n",
+ "\n",
+ "#(iii)Umath.sing generalized Z chart\n",
+ "Tr = T/Tc #Tr is the reduced temperatue\n",
+ "Pr = P/Pc #Pr is the reduced pressure\n",
+ "#From the figure A.2.2,\n",
+ "Z = 0.97 #Z is the compressibility factor\n",
+ "V = (Z*R*T)/P \n",
+ "print \" iii)Volume of the gas umath.sing Z chart is \",\n",
+ "print \"%.6f\"%V,\n",
+ "print \"cubic meter\"\n",
+ "\n",
+ "#(iv)Umath.sing molar polarisation method\n",
+ "#From Table 2.2\n",
+ "Pmc = 6.82 #Pmc is the molar polarisation for methane\n",
+ "#From figure A.2.4\n",
+ "Z0 = .965 \n",
+ "Z1 = 14.8*(10**-4)\n",
+ "Z = Z0+(Z1*Pmc)\n",
+ "V = (Z*R*T)/P\n",
+ "print \" iv)Volume of the gas umath.sing molar polarisation method is \",\n",
+ "print \"%.6f\"%V,\n",
+ "print \"cubic meter\"\n",
+ "\n",
+ "\n",
+ "#(v)From experiment\n",
+ "#Given\n",
+ "Z = 0.9848\n",
+ "V = (0.9848*n*R*T)/P\n",
+ "print \" v)Volume of the gas calculated by experimental Z value is \",\n",
+ "print \"%.6f\"%V,\n",
+ "print \"cubic meter\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Volume of the gas umath.sing ideal gas equation is 0.347114 cubic meter\n",
+ " ii)Volume of the gas umath.sing Vander Waals equation is"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " 0.322787 cubic meter\n",
+ " iii)Volume of the gas umath.sing Z chart is 0.336700 cubic meter\n",
+ " iv)Volume of the gas umath.sing molar polarisation method is 0.338468 cubic meter\n",
+ " v)Volume of the gas calculated by experimental Z value is 0.341838 cubic meter\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6 Page No : 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "P1 = 266\n",
+ "T1 = 473.16#Initial temperature in Kelvin\n",
+ "T2 = 273.16#Final temperature in Kelvin\n",
+ "V1 = 80\n",
+ "V2 = 80 #Initial & final volume in litres\n",
+ "N1 = (14.28/28)\n",
+ "N2 = (14.28/28) #Initial and final Kg moles are equal\n",
+ "Tc = 126 #Critical temperature of N2 in K\n",
+ "Pc = 33.5#Critical pressure of N2 in atm\n",
+ "\n",
+ "#To calculate the final pressure achieved\n",
+ "#(i)Umath.sing ideal gas law\n",
+ "p2 = (P1*V1*N2*T2)/(V2*N1*T1);\n",
+ "print \"i)Final pressure of N2 using ideal gas law is \",\n",
+ "print \"%.6f\"%p2,\n",
+ "print \"atm\"\n",
+ "\n",
+ "#(ii)Umath.sing generalized Z chart\n",
+ "Tr1 = T1/Tc#reduced initial temp in k\n",
+ "Pr1 = P1/Pc #reduced initial press in K\n",
+ "#From the Z-chart compressibility factor coressponding to the above Tr1 &Pr1 is\n",
+ "Z1 = 1.07\n",
+ "P2 = [125,135,150]\n",
+ "Z2 = [0.95, 0.96, 0.98]\n",
+ "F = [];\n",
+ "for i in range(0,3):\n",
+ " F.append((P2[i]/(Z2[i]*T2))-(P1/(Z1*T1)));\n",
+ "plt.plot(P2,F)\n",
+ "plt.ylabel(\"F\")\n",
+ "plt.xlabel(\"P2\")\n",
+ "plt.title(\"P2 vs F\")\n",
+ "plt.show()\n",
+ "P3 = numpy.interp(0,F,P2);\n",
+ "print \" ii)Final pressure of N2 from Z chart is \",\n",
+ "print \"%.6f\"%P3,\n",
+ "print \" atm\"\n",
+ "#(iii)Umath.sing Pseudo reduced density chart\n",
+ "R = 0.082 #gas consmath.tant\n",
+ "v = V1/N1 #Volume per moles of nitrogen in m**3/Kg mole\n",
+ "Dr = (R*Tc)/(Pc*v)\n",
+ "Tr2 = T2/Tc #final reduced temp in K\n",
+ "#From figure A.2.1, reduced pressure coressponding to this Dr and Tr2 is\n",
+ "Pr2 = 4.1#final reduced pressure in atm\n",
+ "p2_ = Pr2*Pc\n",
+ "print \" iii)Final pressure achieved umath.sing Dr chart is \",\n",
+ "print \"%.6f\"%p2_,\n",
+ "print \"atm\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Final pressure of N2 using ideal gas law is 153.564460 atm\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n9dgw3UoAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x1108b2610>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " ii)Final pressure of N2 from Z chart is 138.489629 atm\n",
+ " iii)Final pressure achieved umath.sing Dr chart is 137.350000 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7 Page No : 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "n = 1 #n is the Kg mole of methane gas\n",
+ "T = 298 #T is the consmath.tant temperature in K\n",
+ "P1 = 1 #P1 is the initial pressure of the system\n",
+ "P2 = 100 #P2 is the final pressure of the system\n",
+ "R = 8314.4 #R is the gas consmath.tant in Nm/Kgmole deg K\n",
+ "\n",
+ "#To compute the work required\n",
+ "#(i)Umath.sing ideal gas law\n",
+ "W = R*T*math.log(P1/float(P2))\n",
+ "print \"i)Work done by the system if the gas obeys ideal gas law is \",\n",
+ "print \"%.2e\"%W,\n",
+ "print \n",
+ "\n",
+ "#(ii)Umath.sing Vander Waals' equation\n",
+ "#Given\n",
+ "#For methane\n",
+ "a = 2.32*(10**5) #Vander Wals' consmath.tant a in N/m**2\n",
+ "b = 0.0428 #Vanderwaals' consmath.tant b in m**3\n",
+ "#V1 and V2 are evaluated by trial and error umath.sing Vanderwaals' equation as P1 and P2 are known\n",
+ "V1 = 11.1 #initial volume of the gas in m**3\n",
+ "V2 = 0.089 #final volume of the gas in m**3\n",
+ "W = (R*T*math.log((V2-b)/(V1-b)))+(a*((1/V2)-(1/V1)))\n",
+ "print \" ii)Work done by the system if the gas obeys Vander Waals equation is \",\n",
+ "print \"%.2e\"%W,\n",
+ "print \"Nm\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Work done by the system if the gas obeys ideal gas law is -1.14e+07\n",
+ " ii)Work done by the system if the gas obeys Vander Waals equation is -1.10e+07 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.8 Page No : 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "V = 27*(10**-3) #Volume of the container in m**3\n",
+ "n = (15/70.91) #n is the Kg moles of chlorine\n",
+ "T = float(293)#T is the temperature in K\n",
+ "R = 0.08206\n",
+ "P = pow(10,(4.39-(1045/293))) #P is the vapour pressure of chlorine\n",
+ "Pc = 76.1 #Critical pressure of Chlorine\n",
+ "Tc = float(417) #Critical temperature of Chlorine \n",
+ "Pr = P/Pc #Reduced pressure of Chlorine\n",
+ "Tr = T/Tc #Critical temperature of Chlorine\n",
+ "M = 70.91 #Molecular weight of the Chlorine\n",
+ "\n",
+ "#To determine the vapour pressure of chlorine, amount of liquid Cl2 and temperature required\n",
+ "#(i)Specific volume of liquid Chlorine\n",
+ "#From figure A.2.2\n",
+ "Zg = 0.93\n",
+ "#From figure A.2.6\n",
+ "Zl = 0.013\n",
+ "vl = ((Zl*R*T)/P)\n",
+ "print \"i)Specific volume of liquid Chlorine from compressibility chart is \",\n",
+ "print \"%.6f\"%vl,\n",
+ "print \"cubic meter /Kgmole\"\n",
+ "\n",
+ "#From Francis relation, taking the consmath.tants from Table 2.3\n",
+ "D = (1.606-(216*(10**-5)*20)-(28/(200-20)))*10**3 #Density of liq Cl2 in Kg/m**3\n",
+ "Vl = M/D;\n",
+ "print \" Specific volume of liquid Chlorine from Francis relation is \",\n",
+ "print \"%.6f\"%Vl,\n",
+ "print \"cubic meter /Kgmole\"\n",
+ "\n",
+ "#(ii)Amount of liquid Cl2 present in the cylinder\n",
+ "vg = ((Zg*R*T)/P)\n",
+ "V1 = V-vg #V1 is the volume of liquid Chlorine\n",
+ "Vct = 0.027 #volume of the container\n",
+ "Vg = (0.212-(Vct/vl))/((1/vg)-(1/vl)) #By material balance\n",
+ "W = ((V-Vg)*70.9)/vl \n",
+ "print \" ii)Weight of Chlorine at 20deg cel is \",\n",
+ "print \"%.6f\"%W\n",
+ "print \"Kg\"\n",
+ "\n",
+ "#(iii)Calculation of temperature required to evaporate all the liquid chlorine\n",
+ "#math.log P' = 4.39 - 1045/T (given)\n",
+ "#Assume the various temperature\n",
+ "Ng = 0.212#total Kg moles of gas\n",
+ "Ta = [413,415,417]\n",
+ "N = [0,0,0]\n",
+ "for i in range(0,3):\n",
+ " Tr = Ta[i]/Tc #reduced temperature in K\n",
+ " P = pow(10,(4.39-(1045/Ta[i])))\n",
+ " Pr = P/Pc #reduced pressure in K\n",
+ "#From the compressibility factor chart,Z values coressponding to the above Tr &Pr are given as\n",
+ " Z = [0.4,0.328,0.208]\n",
+ " N[i] = (P*Vct)/(Z[i]*R*Ta[i])\n",
+ "#end\n",
+ "\n",
+ "\n",
+ "plt.plot(N,Ta)\n",
+ "plt.ylabel(\"Ta\")\n",
+ "plt.xlabel(\"N\")\n",
+ "plt.title(\"Ta vs N\")\n",
+ "plt.show()\n",
+ "T1 = numpy.interp(0.212,N,Ta) #in K\n",
+ "print \" iii)The temperature required to evaporate all the liquid chlorine is \",\n",
+ "print \"%.6f\"%(T1-273),\n",
+ "print \"deg celsius\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Specific volume of liquid Chlorine from compressibility chart is 0.012733 cubic meter /Kgmole\n",
+ " Specific volume of liquid Chlorine from Francis relation is 0.045374 cubic meter /Kgmole\n",
+ " ii)Weight of Chlorine at 20deg cel is 13.112602\n",
+ "Kg\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nGvJ1b2hx8QAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x1108b5a50>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " iii)The temperature required to evaporate all the liquid chlorine is 140.000000 deg celsius\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.9 Page No : 40"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy\n",
+ "\n",
+ "\n",
+ "#Given\n",
+ "N1 = 0.7 #Kg mole of CH4\n",
+ "N2 = 0.3 #Kg mole of N2\n",
+ "R = 0.08206 #Gas consmath.tant\n",
+ "T = float(323) #Temperature in Kelvin\n",
+ "V = 0.04 #Volume in m**3\n",
+ "a1 = 2.280\n",
+ "b1 = 0.0428 #Vanderwaals consmath.tants for CH4\n",
+ "a2 = 1.345\n",
+ "b2 = 0.0386 #Vanderwaals consmath.tants for N2\n",
+ "Tc1 = 191\n",
+ "Pc1 = 45.8 #Critical temperature in K and pressure of CH4 in atm\n",
+ "Tc2 = 126\n",
+ "Pc2 = 33.5 #Critical temperature in K and pressure of N2 in atm\n",
+ "\n",
+ "#To find Approx Value\n",
+ "def approx(V,n):\n",
+ " A = numpy.around([V*pow(10,n)])/pow(10,n)\n",
+ " return A[0]\n",
+ "\n",
+ "#To calculate the pressure exerted by the gas mixture\n",
+ "#(i)Umath.sing ideal gas law\n",
+ "P = (N1+N2)*((R*T)/V)\n",
+ "print \"i) Pressure exerted by the gas mixture umath.sing ideal gas law is \",\n",
+ "print \"%d\"%P,\n",
+ "print \"atm\"\n",
+ "\n",
+ "#(ii)Umath.sing Vander waal equation\n",
+ "P1 = ((N1*R*T)/(V-(N1*b1)))-((a1*(N1**2))/(V**2)) #Partial pressure of CH4\n",
+ "P2 = ((N2*R*T)/(V-(N2*b2)))-((a2*(N2**2))/(V**2)) #Partial pressure of N2\n",
+ "Pt = P1+P2 \n",
+ "print \"ii) Pressure exerted by the gas mixture umath.sing Vander waal equation is \",\n",
+ "print \"%.6f\"%Pt,\n",
+ "print \"atm\"\n",
+ "\n",
+ "#(iii)Umath.sing Zchart and Dalton's law\n",
+ "Tra = T/Tc1 #reduced temperature of CH4\n",
+ "Trb = T/Tc2 #reduced temperature of N2\n",
+ "#Asssume the pressure\n",
+ "P = [660,732,793,815,831]\n",
+ "Pa =[]\n",
+ "Pb = []\n",
+ "Pra = []\n",
+ "Prb = []\n",
+ "for i in range(0,5):\n",
+ " Pa.append(N1*P[i]) # partial pressure of CH4 for the ith total pressure\n",
+ " Pb.append(N2*P[i]) # partial pressure of N2 for the ith total pressure\n",
+ " Pra.append(Pa[i]/Pc1) #reduced pressure of CH4 for the ith total pressure\n",
+ " Prb.append(Pb[i]/Pc2) #reduced pressure of N2 for the ith total pressure\n",
+ "#end\n",
+ "\n",
+ "#For the above Pr and Tr values compressibility factors from the figure A.2.3 are given as\n",
+ "Za = [1.154,1.280,1.331,1.370,1.390] #Z values of CH4 \n",
+ "Zb = [1,1,1,1,1]#Z values of N2\n",
+ "V3 = 0.0421\n",
+ "for i in range(0,5):\n",
+ " Pa[i] = Za[i]*N1*((R*T)/V);#partial pressure of CH4 coressponding to the ith total presure\n",
+ " Pb[i] = Zb[i]*N2*((R*T)/V);#partial pressure of N2 coressponding to the ith total pressure\n",
+ " Pt = Pa[i]+Pb[i] #total pressure of the gas mixture\n",
+ " if Pt-P[i] < 15:\n",
+ " print \"iii) pressure exerted by the gas mixture umath.sing Z chart and Dalton Law is \",\n",
+ " print \"%d\"%Pt,\n",
+ " print \"atm\"\n",
+ " #end\n",
+ "#end\n",
+ "\n",
+ "#(iv)Umath.sing Amagat's law and Z chart\n",
+ "P = [1000,1200,1500,1700]\n",
+ "for i in range(0,4):\n",
+ " Pra[i] = P[i]/Pc1\n",
+ " Prb[i] = P[i]/Pc2\n",
+ "#end\n",
+ "#For the above Pr and Tr values compressibility factors from the figure A.2.3 are given as\n",
+ "Za = [1.87,2.14,2.52,2.77]\n",
+ "Zb = [1.80,2.10,2.37,2.54]\n",
+ "Va = []\n",
+ "Vb = []\n",
+ "V1 = []\n",
+ "for i in range(0,4):\n",
+ " Va.append(approx((N1*Za[i]*((R*T)/P[i])),4))\n",
+ " Vb.append(approx((N2*Zb[i]*((R*T)/P[i])),4))\n",
+ " V1.append(approx((Va[i]+Vb[i]),4))\n",
+ " if V1[i]-V <= 0.003:\n",
+ " print \"iv) Pressure exerted by the gas mixture umath.sing Amagat law and Zchart is \",\n",
+ " print \"%d\"%P[i],\n",
+ " print \"atm\"\n",
+ "#end\n",
+ "#end\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i) Pressure exerted by the gas mixture umath.sing ideal gas law is 662 atm\n",
+ "ii) Pressure exerted by the gas mixture umath.sing Vander waal equation is 1353.867785 atm\n",
+ "iii) pressure exerted by the gas mixture umath.sing Z chart and Dalton Law is 843 atm\n",
+ "iv) Pressure exerted by the gas mixture umath.sing Amagat law and Zchart is 1700 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.10 Page No : 41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "yN2 = 1.0/4 #mole faction of N2 in the mixture\n",
+ "yH2 = 3.0/4 #mole fraction of H2 in the mixture\n",
+ "V = 5.7 #V is the rate at which mixture enters in m**3 in 1 hour\n",
+ "P = float(600) #P is in atm\n",
+ "T = float(298) #T is in K\n",
+ "TcN2 = float(126) #critical temp of N2 in K\n",
+ "TcH2 = 33.3 #critical temp of H2 in K\n",
+ "TcNh3 = 406.0 #critical temp of NH3 in K\n",
+ "PcN2 = 33.5 #critical pressure of N2 in atm\n",
+ "PcH2 = 12.8 #critical pressure of H2 in atm\n",
+ "PcNH3 = 111.0 #critical pressure of NH3 in atm\n",
+ "R = 0.082 #gas consmath.tant\n",
+ "\n",
+ "#To calculate the amount of ammonia leaving the reactor and the velocity of gaseous product leaving the reactor\n",
+ "#(i)Calculation of amount of NH3 leaving the reactor\n",
+ "Tcm = (TcN2*yN2)+(TcH2*yH2) #critical temperature of the mixture\n",
+ "Pcm = (PcN2*yN2)+(PcH2*yH2) #critical pressure of the mixture\n",
+ "Trm = T/Tcm \n",
+ "Prm = P/Pcm \n",
+ "#From figure A.2.3\n",
+ "Zm = 1.57 #compressibility factor of the mixture\n",
+ "N = (P*V)/(Zm*R*T) #Kg mole of the mixture \n",
+ "N1 = 0.25*N #Kg mole of N2 in feed\n",
+ "#N2+3H2 - 2NH3\n",
+ "W = 2*0.15*N1*17 \n",
+ "print \"i)Ammonia formed per hour is \",\n",
+ "print \"%.6f\"%W,\n",
+ "print \"Kg\"\n",
+ "\n",
+ "#(ii)Calculation of velocity\n",
+ "N1 = 0.25*N-(0.25*N*0.15) #Kg mole of N2 after reactor\n",
+ "N2 = 0.75*N-(0.75*N*0.15) #Kg mole of H2 after reactor\n",
+ "N3 = 0.25*N*2*0.15 #Kg mole of NH3 after reactor\n",
+ "Nt = N1+N2+N3 #total Kg moles after reactor\n",
+ "y1NH3 = N3/Nt #mole fraction of NH3 after reactor\n",
+ "y1N2 = N1/Nt #mole fraction of N2 after reactor\n",
+ "y1H2 = N2/Nt #mole fraction of H2 after reactor\n",
+ "T1cm = (TcN2*y1N2)+(TcH2*y1H2) \n",
+ "P1cm = (PcN2*y1N2)+(PcH2*y1H2) \n",
+ "T1 = 448 #in K\n",
+ "P1 = 550 #in atm\n",
+ "T1rm = T1/T1cm \n",
+ "P1rm = P1/P1cm\n",
+ "#From Figure A.2.2\n",
+ "Zm1 = 1.38\n",
+ "V1 = (Zm1*Nt*R*T1)/P1\n",
+ "d = 5*(10**-2)#diameter of pipe\n",
+ "v = V1/((math.pi/4)*(d**2)*3600)\n",
+ "print \"ii)Velocity in pipe is \",\n",
+ "print \"%.6f\"%v,\n",
+ "print \"m/s\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Ammonia formed per hour is 113.659704 Kg\n",
+ "ii)Velocity in pipe is 1.075261 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch3_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch3_1.ipynb
new file mode 100644
index 00000000..8385d110
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch3_1.ipynb
@@ -0,0 +1,562 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:753b89f4a49b587e649e81b025cbd0732ffa221e89b7d46871678d863ea83955"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3 : First Law of Thermodynamics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 Page No : 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "W = -((2*745.6*(10**-3)/4.18)*3600) #work added to the system in Kcal/hr\n",
+ "m = 10.0 #Amount of fluid in math.tank in Kg\n",
+ "Q = -378.0 #Heat losses from the system in Kcal/hr\n",
+ "\n",
+ "#To calculate the change in internal energy\n",
+ "delE=(Q-W)/m # Change in internal energy in Kcal/hr kg\n",
+ "print \"Change in Internal energy is \",\n",
+ "print \"%.6f\"%delE,\n",
+ "print \"Kcal/hr Kg\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in Internal energy is 90.628708 Kcal/hr Kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 Page No : 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "n = 1.0 #kg moles of a gas\n",
+ "Cv = 5.0 #specific heat in Kcal/Kgmole\n",
+ "delT = 15.0 #increase in temperature in deg celsius\n",
+ "\n",
+ "#To calculate the change in internal energy\n",
+ "Q = n*Cv*delT #heat given to the system in Kcal\n",
+ "W = 0 #work done\n",
+ "delE = Q-W #Change in internal energy\n",
+ "print \"Change in internal energy is \",\n",
+ "print \"%.6f\"%delE,\n",
+ "print \"Kcal\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in internal energy is 75.000000 Kcal\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3 Page No : 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "P = 1.0 #consmath.tant pressure throughout the process in atm\n",
+ "T1 = 273.0 #Initial temperature in K\n",
+ "T2 = 373.0 #Final temperature in K\n",
+ "V1 = 0.0#Volume of liquid water or initial volume\n",
+ "V0 = 22.4 #volume of vapour at smath.radians(numpy.arcmath.tan(ard condition in cubic meter\n",
+ "Q = 9.7 #Heat of vapourisation in Kcal\n",
+ "\n",
+ "#To calculate the work done by the expanding gas and increase in internal energy\n",
+ "#(i)Calculation of work done\n",
+ "V2 = 22.4*(T2/T1)*(P)*(10**-3) #Volume of final vapour in cubic meter\n",
+ "w = P*(V2-V1) #Work done in atm cubic meter\n",
+ "W = w*(1.03*10**4)/427 #Work done in Kcal\n",
+ "print \"i)Work done by the expanding gas is \",\n",
+ "print \"%.6f\"%W,\n",
+ "print \"Kcal\"\n",
+ "\n",
+ "#(ii)Calculation of change in internal energy\n",
+ "delE = Q-W\n",
+ "print \" ii)Increase in internal energy is \",\n",
+ "print \"%.6f\"%delE,\n",
+ "print \"Kcal\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Work done by the expanding gas is 0.738250 Kcal\n",
+ " ii)Increase in internal energy is 8.961750 Kcal\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 Page No : 58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "W = 0.0 #work done during the process\n",
+ "P1 = 1.0 #Initial pressure in atm\n",
+ "P2 = 10.0 #Final pressure in atm\n",
+ "#V2 = V1;#Initial & final volume are equal\n",
+ "Cv = 0.23#specific heat at consmath.tant volume in Kcal/Kg deg K\n",
+ "#(delQ/delT)=Q\n",
+ "Q = 1.3 #Rate of heat addition in Kcal/min\n",
+ "m = 2.5 #Weight of an ideal gas in Kg\n",
+ "T1 = 298.0 #Initial temperature in Kelvin\n",
+ "\n",
+ "#To calculate the time taken for the gas to attain 10 atm\n",
+ "#Q = m*Cv*(delT/delt)=1.3\n",
+ "T2 = (P2*T1)/(P1) #Final temperature in Kelvin\n",
+ "t = ((m*Cv)/1.3)*(T2-T1) #time taken in minutes\n",
+ "print \"The time taken to attain a pressure of 10 atm is \",\n",
+ "print \"%.6f\"%(t/60),\n",
+ "print \"hours\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time taken to attain a pressure of 10 atm is 19.771154 hours\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 Page No : 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "R = 1.98 #gas consmath.tant in kcal/Kgmole deg K\n",
+ "T = 293.0 #Temperature in K\n",
+ "M = 29.0 #Molecular weight of air\n",
+ "\n",
+ "#To calculate the flow work per kg of air\n",
+ "#W=(P*V)=(R*T)\n",
+ "W = R*T #Flow work in Kcal/Kg mole\n",
+ "W1 = W/M \n",
+ "print \"Flow work is %f Kcal/Kg\"%W1\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Flow work is 20.004828 Kcal/Kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7 Page No : 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "m = 5000.0 #Amount of steam recived per hour in Kg\n",
+ "H1 = 666.0 #Specific enthalpy when steam entered in the turbine in Kcal/Kg\n",
+ "H2 = 540.0 #Specific enthalpy when steam left the turbine in Kcal/Kg\n",
+ "u1 = 3000/60.0 #velocity at which steam entered in m/sec\n",
+ "u2 = 600/60.0 #velocity at which steam left in m/sec\n",
+ "Z1 = 5.0 #height at which steam entered in m\n",
+ "Z2 = 1.0#height at which steam left in m\n",
+ "Q = -4000.0 #heat lost in Kcal\n",
+ "g = 9.81\n",
+ "\n",
+ "#To calculate the horsepuwer output of the turbine\n",
+ "delH = H2-H1#change in enthalpy in Kcal\n",
+ "delKE = ((u2**2)-(u1**2)/(2*g))/(9.8065*427) #change in kinetic energy in Kcal; 1kgf = 9.8065 N\n",
+ "delPE = ((Z2-Z1)*g)/(9.8065*427) #change in potential energy in Kcal\n",
+ "W = -(m*(delH+delKE+delPE))+Q #work delivered in Kcal/hr\n",
+ "W1 = W*(427/(3600*75.0))#work delivered by turbine in hp\n",
+ "print \"Work delivered by turbine is %f hp\"%W1\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work delivered by turbine is 990.133290 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.8 Page No : 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "m = 183.0 #rate of water flow in Kg/min\n",
+ "H1 = 95.0 #enthalpy of storage math.tank 1 in Kcal/Kg\n",
+ "h = 15.0#height difference between two storage math.tanks in m\n",
+ "Q = -10100.0 #extraced heat from storage math.tank 1 in a heat exchanger in Kcal/min\n",
+ "W = -2.0 #work delivered by motor in hp\n",
+ "\n",
+ "# To find out the enthalpy of water math.tank2 and the temperature of water in the second math.tank\n",
+ "delPE = h/427.0 #change in potential energy in Kcal/Kg\n",
+ "delKE = 0.0 #change in kinetic energy\n",
+ "W1 = W*(75/427.0) #work delivered by motor in Kcal/sec\n",
+ "W2 = W1*60.0#work delivered by motor in Kcal/min\n",
+ "H2 = ((Q+W2)/m)-delKE-delPE+H1#enthalpy of storage math.tank 2 in Kcal/Kg\n",
+ "print \"The enthalpy of storage tank 2 is %f Kcal/Kg\"%(H2)\n",
+ "\n",
+ "#The enthalpy H2=39.66 corresponds to the temperature T according to steam table\n",
+ "T=40 #Temperature is in deg celsius\n",
+ "print \" The temperature of water in the second tank is %d deg celsius\"%(T)\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The enthalpy of storage tank 2 is 39.658438 Kcal/Kg\n",
+ " The temperature of water in the second tank is 40 deg celsius\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9 Page No : 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#To calculate the mass of steam required\n",
+ "#Given\n",
+ "m2 = 100.0 #mass of water to be heated\n",
+ "#From diagram, \n",
+ "#m3 = m1+m2;..(a)\n",
+ "#Hs = H1;..(b) math.since throttling is a consmath.tant enthalpy process\n",
+ "#m3*H3-(m1*H1+m2*H2)=0;..(c) math.since delH=0\n",
+ "\n",
+ "#From steam tables, \n",
+ "Hs = 681.7 #enthalpy of steam at 200 deg cel bleeded at the rate of 5Kgf/(cm**2) in Kcal/Kg\n",
+ "H2 = 5.03 #enthalpy of liquid water at 5 deg cel\n",
+ "H3 = 64.98 #enthalpy of liquid water at 65 deg cel\n",
+ "#from equn (a),(b)&(c);(page no 80)\n",
+ "m1 = ((H3-H2)/(Hs-H3))*m2 #mass of steam required in Kg (page no 80)\n",
+ "print \"The mass of steam required to heat 100 Kg of water is %f Kg\"%(m1)\n",
+ "#end \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mass of steam required to heat 100 Kg of water is 9.720781 Kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10 Page No : 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "V = 0.3 #Volume of the math.tank in m**3\n",
+ "P1 = 1.0 #Initial pressure of the math.tank in atm\n",
+ "P2 = 0.0 #Final pressure of the math.tank in atm\n",
+ "T = 298.0 #Temperature of the math.tank in K\n",
+ "t = 10.0 #evacuation time in min\n",
+ "\n",
+ "#delN=(V/(R*T)*delP)..(a) change in moles as V and T are consmath.tant\n",
+ "#delW=delN*R*T*lnP..(b)pump work required\n",
+ "#From (a)&(b),delW=V*delP*lnP\n",
+ "\n",
+ "#To calculate the pump work required\n",
+ "#On doing integration of dW we will get\n",
+ "\n",
+ "W = V*(P1-P2);#pump work done in J/sec\n",
+ "W1=(W*(1.033*10**4))/(75*600.0);\n",
+ "print \"The pump work required is %f hp\"%(W1);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pump work required is 0.068867 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.11 Page No : 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "H1 = 680.6;#Enthalpy of entering steam at 6Kgf/cm**2 &200 deg cel in Kcal/Kg\n",
+ "u1 = 60.0;#velocity at which steam entered the nozzle in m/sec\n",
+ "u2 = 600.0;#velocity at which steam left the nozzle in m/sec\n",
+ "g = 9.8;\n",
+ "Hg = 642.8; Hlq = 110.2;#Enthalpy of saturated vapour & saturated liquid at 1.46 Kgf/cm**2 respectively\n",
+ "\n",
+ "#To calculate the quality of exit steam\n",
+ "H2 = H1+((u1**2)-(u2**2))/(2*g*427);#enthalpy of leaving steam in Kcal/Kg\n",
+ "x = (H2-Hlq)/(Hg-Hlq);\n",
+ "print \"The quality of exit steam is %f percent\"%(x*100);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The quality of exit steam is 99.101631 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.12 Page No : 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "W = 0.0;#pump work\n",
+ "Mi = 0.0;#chamber is initially evacuated\n",
+ "M2 = 0.0;#no exist stream\n",
+ "H1 = 684.2;#enthalpy of steam at 200 deg cel & 3 Kgf/cm**2\n",
+ "\n",
+ "#To calculate the internal energy of the steam in the chamber\n",
+ "#Q=150*m1;.. (a) heat lost from the chamber in Kcal/Kg\n",
+ "#m1=mf;..(b) mass of steam added from large pipe is equal to steam in chamber\n",
+ " #H1*M1-Q=Mf*Ef; umath.sing (a)&(b)\n",
+ "Ef = H1-150;\n",
+ "print \"The internal energy of steam in chamber is %f Kcal\"%(Ef);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The internal energy of steam in chamber is 534.200000 Kcal\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.13 Page No : 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "#Q=W=delPE=delKE=0;\n",
+ "#M2=0; no exit stream\n",
+ "Ti = 288.0;#initial temperature in K\n",
+ "H = 7*Ti;#enthalpy of air in Kcal/Kgmole\n",
+ "Ei = 5*Ti;# initial internal energy of air in Kcal/Kgmole\n",
+ "#Ef=5*Tf;Final internal energy of air in Kcal/Kgmole\n",
+ "Pi = 0.3;#initial pressure in atm\n",
+ "V = 0.57;#volume of the math.tank in m**3\n",
+ "R = 848.0;#gas consmath.tant in mKgf/Kg mole K\n",
+ "Pf = 1.0;#final prssure in atm\n",
+ "\n",
+ "#To calculate the final weight and the final temperature of the air in the math.tank\n",
+ "Mi = (Pi*V*1.03*10**4)/(R*Ti);#initial quantity of air in math.tank in Kg mole\n",
+ "#Tf=(Pf*V*1.033*10**4)/(Mf*R)..(a) final temperature,Mf=final quantity of air in math.tank in Kg mole\n",
+ "#M1=Mf-Mi..(b) M1 is mass of steam added in Kg mole\n",
+ "#H*M1=(Ef*Mf)-(Ei*Mi)\n",
+ "#H*M1=((5*Pf*V*1.033*10**4)/(Tf*R))*Tf-(Ei*Mi)...(c)\n",
+ "A = [[1,-1],[0,-H]];\n",
+ "B = [Mi,((Ei*Mi)-((5*Pf*V*1.03*10**4)/R))];\n",
+ "x = numpy.divide(A,B)\n",
+ "\n",
+ "Mf = x[0][0];\n",
+ "print \"The final weight of air in the tank is %f Kg\"%Mf;\n",
+ "\n",
+ "Tf = (Pf*V*1.03*10**4)/(Mf*R);\n",
+ "print \" The final temperature of air in the tank is %f K\"%(Tf);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The final weight of air in the tank is 138.661216 Kg\n",
+ " The final temperature of air in the tank is 0.049930 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch4_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch4_1.ipynb
new file mode 100644
index 00000000..0e734b53
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch4_1.ipynb
@@ -0,0 +1,415 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:cba11d6ad27a555b5f3aecc639d6f99831950fba74d42eb631521eded4620d06"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4 : Second Law of Thermodynamics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1 Page No : 84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "Q1 = 250.0;#Heat absorbed in Kcal\n",
+ "T1 = (260+273.0);#Temperature at which engine absorbs heat\n",
+ "T0 = (40+273.0);#Temperature at which engine discards heat\n",
+ "#To Calculate work output, heat rejected, entropy change of system,surronding & total change in entropy and the efficiency of the heat engine\n",
+ "\n",
+ "#(i)Calculation of work output\n",
+ "W = (Q1*((T1-T0)/T1));#Work done umath.sing equations 4.7 & 4.9 given on page no 98\n",
+ "print \"i)The work output of the heat engine is %f Kcal\"%(W);\n",
+ "\n",
+ "#(ii)Calculation of heat rejected\n",
+ "Q2 = (Q1*T0)/T1;\n",
+ "print \" ii)The heat rejected is %f Kcal\"%(Q2);\n",
+ "\n",
+ "#(iii)Calculation of entropy\n",
+ "del_S1 = -(Q1/T1);#Change in the entropy of source in Kcal/Kg K\n",
+ "del_S2 = Q2/T0;#Change in the entropy of math.sink in Kcal/Kg K\n",
+ "del_St = del_S1+del_S2;#Total change in entropy in Kcal/Kg K\n",
+ "print \" iii)Total change in entropy is %d confirming that the process is reversible\"%(del_St);\n",
+ "\n",
+ "#(iv)Calculation of efficiency\n",
+ "n = (W/Q1)*100;\n",
+ "print \" iv)The efficiency of the heat engine is %f percent\"%(n);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The work output of the heat engine is 103.189493 Kcal\n",
+ " ii)The heat rejected is 146.810507 Kcal\n",
+ " iii)Total change in entropy is 0 confirming that the process is reversible\n",
+ " iv)The efficiency of the heat engine is 41.275797 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2 Page No : 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "T1 = 373.0;#Temperature of the saturated steam in K\n",
+ "T2 = 298.0;#Temperature of the saturated water in K\n",
+ "#To calculate the total change in entropy and hence determine the reversibility of the process\n",
+ "\n",
+ "#del_H = del_Q+(V*del_P)\n",
+ "#del_H =del_Q; math.since it is a consmath.tant pressure process\n",
+ "\n",
+ "#From steam table,\n",
+ "#enthalpy of saturated steam at 373K is\n",
+ "H1 = 6348.5;# in Kcal/Kg\n",
+ "#enthalpy of saturated liquid water at 373K is\n",
+ "H2 = 99.15;#in Kcal/Kg\n",
+ "Q = H2-H1;#heat rejected in Kcal/Kg\n",
+ "del_S1 = Q/T1;#change in entropy of the system in Kcal/Kg K\n",
+ "del_S2 = Q/T2;#change in entropy of the surronding in Kcal/Kg K\n",
+ "del_St = del_S1+del_S2;#total change in the entropy in Kcal/Kg K\n",
+ "if(del_St == 0):\n",
+ " print \"Process is reversible\";\n",
+ "else:\n",
+ " print \"Process is irreversible\";\n",
+ "#end\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Process is irreversible\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3 Page No : 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "Cp = 0.09;#specific heat of metal block in Kcal/Kg K\n",
+ "m = 10.0;#mass of metal block in Kg\n",
+ "T1 = 323.0;#initial temperature of the block in K\n",
+ "T2 = 298.0;#final temperature of the block in K\n",
+ "#consmath.tant pressure process\n",
+ "#To find out entropy change of block,air and total entropy change\n",
+ "\n",
+ "#(i)To calculate the entropy change of block\n",
+ "del_S1 = m*Cp*math.log(T2/T1);\n",
+ "print \"i)Entropy change of block is %f Kcal/Kg K\"%(del_S1);\n",
+ "\n",
+ "#(ii)To calculate the entropy change of air\n",
+ "Q = m*Cp*(T1-T2);#heat absorbed by air = heat rejected by block in Kcal\n",
+ "del_S2 = (Q/T2);\n",
+ "print \" ii)Entropy change of air is %f Kcal/Kg K\"%(del_S2);\n",
+ "\n",
+ "#(iii)To calculate the total entropy change\n",
+ "del_St = del_S1+del_S2;\n",
+ "print \" iii)Total entropy change is %f Kcal/Kg K\"%(del_St);\n",
+ "if(del_St == 0):\n",
+ " print \" Process is reversible\";\n",
+ "else:\n",
+ " print \" Process is irreversible\";\n",
+ "#end\n",
+ "#end \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)Entropy change of block is -0.072503 Kcal/Kg K\n",
+ " ii)Entropy change of air is 0.075503 Kcal/Kg K\n",
+ " iii)Total entropy change is 0.003000 Kcal/Kg K\n",
+ " Process is irreversible\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4 Page No : 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "m1 = 10 #mass of metal block in Kg\n",
+ "m2 = 50 #mass of water in Kg\n",
+ "Cp1 = 0.09 #Specific heat of metal block in Kcal/Kg K\n",
+ "Cp2 = 1 #Specific heat of water in Kcal/Kg K\n",
+ "T1 = 50 #Initial temperature of block in deg celsius\n",
+ "T2 = 25 #Final temperature of block in deg celsius\n",
+ "\n",
+ "#To calculate the total change in entropy\n",
+ "#Heat lost by block = Heat gained by water\n",
+ "Tf = ((m1*Cp1*T1)+(m2*Cp2*T2))/((m1*Cp1)+(m2*Cp2)) #final temperature of water in deg celsius\n",
+ "Tf1 = Tf+273.16 #final temperature in K\n",
+ "del_S1 = m1*Cp1*math.log(Tf1/(T1+273)) #change in entropy of the block in Kcal/K\n",
+ "del_S2 = m2*Cp2*math.log(Tf1/(T2+273)) #change in entropy of the block in Kcal/K\n",
+ "del_St = del_S1+del_S2\n",
+ "print \"The total change entropy is \",\n",
+ "print \"%.6f\" %del_St,\n",
+ "print \"Kcal/K\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total change entropy is 0.030226 Kcal/K\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5 Page No : 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "#Air at 20 deg celsius\n",
+ "#P1 = 250;initial pressure in atm\n",
+ "#P2 = 10;final pressure after throttling in atm\n",
+ "\n",
+ "#To calculate the entropy change\n",
+ "#According to the given conditions from figure4.5(page no 103)\n",
+ "S1 = -0.38;#initial entropy in Kcal/Kg K\n",
+ "S2 = -0.15;#final entroy in Kcal/Kg K\n",
+ "del_S = S2-S1;\n",
+ "print \"Change in entropy for the throttling process is %f Kcal/Kg K\"%(del_S);\n",
+ "#From figure 4.6(page no 104), the final temperature is -10 deg celsius\n",
+ "#end \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in entropy for the throttling process is 0.230000 Kcal/Kg K\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7 Page No : 101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "#Basis: 1 hour\n",
+ "m = 10.0;#mass of air in Kg\n",
+ "T = 293.0;#Consmath.tant temperature throughout the process in K\n",
+ "#P1 = 1;#Initial pressure in atm\n",
+ "#P2 = 30;#Final pressure in atm\n",
+ "#According to the given data and umath.sing the graph or figure A.2.7 given in page no 105\n",
+ "S1 = 0.02;#Initial entropy in Kcal/Kg\n",
+ "S2 = -0.23;#Final entropy in Kcal/Kg\n",
+ "H1 = 5.0;#Initial enthalpy in Kcal/Kg\n",
+ "H2 = 3.0;#Final enthalpy in Kcal/Kg\n",
+ "\n",
+ "W = -((H2-H1)+T*(S2-S1))*m*(427/(3600*75.0));\n",
+ "print \"The horse power of the compressor is %f hp\"%(W);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The horse power of the compressor is 1.190065 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8 Page No : 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "#Basis: 1 Kg of steam\n",
+ "#P1 = 30;Intial pressure in Kgf/cm**2\n",
+ "#P2 = 3;Final pressure in Kgf/cm**2\n",
+ "#T = 300;#Operating temperature\n",
+ "#From figure A.2.8, \n",
+ "H1 = 715.0;#Initial enthalpy of steam in Kcal/Kg\n",
+ "H2 = 625.0;#Final enthalpy of steam in Kcal/Kg\n",
+ "S1 = 1.56;#Initial entropy of steam in Kcal/Kg K\n",
+ "S2 = 1.61;#Final entropy of steam in Kcal/Kg K\n",
+ "Q = -1.0;#heat loss in Kcal/Kg\n",
+ "To = 298;#The lowest surronding temperature in K\n",
+ "\n",
+ "#To calculate the effectiveness of the process\n",
+ "W = (-(H2-H1)+Q);#Actual work output by the turbine in Kcal\n",
+ "#The maximum or available work can be calculated from equation 4.14\n",
+ "del_B = -((H2-H1)-(To*(S2-S1)));# Maximum work that can be obtained in Kcal\n",
+ "E = (W/del_B)*100.0;\n",
+ "print \"The effectiveness of the process is %f percent\"%(E);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The effectiveness of the process is 84.842707 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 Page No : 108"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "m = 1.0;#mass of liquid water in Kg\n",
+ "T1 = 1350.0;#initial temperature in deg celsius\n",
+ "T2 = 400.0;#final temperature in deg celsius\n",
+ "Cp = 1.0;#Specific heat of water in Kcal/Kg K\n",
+ "Cpg = 0.2;#Specific heat of combustion gases in Kcal/Kg K\n",
+ "Hv = 468.35;#Heat of vapourisation at 14 Kgf/cm**2 and 194.16 deg celsius in Kcak/Kg\n",
+ "To = 298.0;#Surronding temperature\n",
+ "Tb = 194.16+273;#Boiling point of liquid water\n",
+ "\n",
+ "#To Calculate the maximum work obtained and the entropy change\n",
+ "#(i)Calculation of maximum work\n",
+ "#Q = del_H = m*Cp*(T2-T1); gas can be assumed to cool at consmath.tant pressure\n",
+ "#From equation 4.14 (page no 110)\n",
+ "del_B = -((m*Cpg*(T2-T1))-(To*m*Cp*math.log((T2+273)/(T1+273))));\n",
+ "print \"i)The maximum work that can be obtained is %f Kcal/Kg of gas\"%(del_B);\n",
+ "\n",
+ "#(ii)To Calculate the change in entropy\n",
+ "del_S =(m*Cp*math.log(Tb/To))+((m*Hv)/Tb);\n",
+ "print \"ii)The entropy change per Kg of water is %f\"%(del_S);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)The maximum work that can be obtained is -72.325299 Kcal/Kg of gas\n",
+ "ii)The entropy change per Kg of water is 1.452126\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch5_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch5_1.ipynb
new file mode 100644
index 00000000..d3517ed7
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch5_1.ipynb
@@ -0,0 +1,82 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3e5d8c28d726b79a2c86b3cf54d87d3c39d0c9ab36d48d833fe93313ec8fd001"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5 : Thermodynamic Potentials and Maxwell Relation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1 Page No : 119"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "T = 293.0;#Consmath.tant temperature in K\n",
+ "w_NH3 = 20/100.0;#weight of NH3 in an aqueous solution in Kg\n",
+ "w_H2O = 80/100.0;#weight of H2O in an aqueous solution in Kg\n",
+ "V = 40.0;#feed rate in Kg/min\n",
+ "M_NH3 = 17.0;#Molecular weight of NH3\n",
+ "M_H2O = 18.0;#Molecular weight of H20\n",
+ "R = 1.98;#gas consmath.tant in Kcl/Kg mole K\n",
+ "V_s = 62.0;#Rate of heating steam in Kg/min\n",
+ "P1_H2O = 11.6;#Vapour pressure of water in feed in mm Hg\n",
+ "P2_H2O = 17.5;#Vapour pressure of pure water in mm Hg\n",
+ "P1_NH3 = 227.0;#Vapour pressure of NH3 in feed in mm Hg\n",
+ "P2_NH3 = 6350.0;#Vapor pressure of pure NH3 in mm Hg\n",
+ "#From steam tables:\n",
+ "Hs = 666.4;#Enthalpy of steam at 160 deg celsius & 2Kgf/cm**2 in Kcal /Kg \n",
+ "Ss = 1.75;#Entropy of steam at 160 deg celsius & 2Kgf/cm**2V in Kcal/Kg K\n",
+ "Hl = 20.03;#Enthalpy of liquid water at 20 deg celsius in Kcal/Kg\n",
+ "Sl = 0.0612;#Entropy of liquid water at 20 deg celsius in Kcal/Kg K\n",
+ "\n",
+ "#To Calculate the efficiency of the separation process \n",
+ "#Material Balance:\n",
+ "n_NH3 = (V*w_NH3)/M_NH3;#Kg moles of NH3 in feed(tops)\n",
+ "n_H2O = (V*w_H2O)/M_H2O;#Kg moles of H20 in feed(bottoms)\n",
+ "#del_F = del_F_NH3 +del_F_H2O;\n",
+ "del_F = (R*T*n_NH3*math.log(P2_NH3/P1_NH3))+(R*T*n_H2O*math.log(P2_H2O/P1_H2O));#Theoretical minimum work done in Kcal\n",
+ "#The available energy of the steam can be calculated from equation 4.14(page no 110)\n",
+ "del_B = -V_s*((Hl-Hs)-T*(Sl-Ss));#Available energy of the steam in Kcal\n",
+ "E = (del_F/del_B)*100;\n",
+ "print \"The efficiency of the separation process is %f percent\"%(E);\n",
+ "#end\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The efficiency of the separation process is 14.192424 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch7_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch7_1.ipynb
new file mode 100644
index 00000000..d75a5a28
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch7_1.ipynb
@@ -0,0 +1,291 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:53f38691736e17bfc88c47ccfeb3fb1c72de31c9b0bf6a81cf8dd2ed8dca8405"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7 : Ideal Gases"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3 Page No : 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "from scipy.integrate import quad\n",
+ "\n",
+ "#Given\n",
+ "P1 = 15.0;#initial pressure in Kgf/cm**2\n",
+ "P2 = 1.0;#final pressure in Kgf/cm**2\n",
+ "V1 = 0.012;#initial volume in m**3\n",
+ "V2 = 0.06;#final volume in m**3\n",
+ "T1 = 420.0;#initial temperature in K\n",
+ "M = 28.0;#molecular weight of the gas\n",
+ "Cp = 0.25;#specific heat at consmath.tant pressure in Kcal/Kg K\n",
+ "R = 1.98;#gas consmath.tant in Kcal/Kg mole K\n",
+ "R2 = 848.0;#gas consmath.tant in mKgf/Kgmole K\n",
+ "#Cv = a+0.0005*T1; Specific heat at consmath.tant volume\n",
+ "\n",
+ "#To Calculate the final temperature of the ideal gas, work done in an open and closed system,internal energy change for the process\n",
+ "#(a)Calculation of final temperature\n",
+ "#Umath.sing ideal gas law:(P*V)/(R*T)\n",
+ "T2 = (P2*V2*T1)/(P1*V1);\n",
+ "print \"a)The final temperature is %d K\"%(T2);\n",
+ "\n",
+ "#(b)Calculation of work in an open and closed system\n",
+ "#From equation 7.22(page no 147): P1*(V1**n)=P2*(V2**n)\n",
+ "n = (math.log(P2/P1))/(math.log(V1/V2));\n",
+ "#From equation 7.25(page no 149)\n",
+ "W = ((P1*V1)-(P2*V2))/(n-1)*10**4;#work in mKgf\n",
+ "W1 = W/427;#Work in Kcal\n",
+ "print \" b)The work in a closed system is %f Kcal\"%(W1);\n",
+ "Ws = n*W1;#from equation 7.28(page no 149)\n",
+ "print \" The work in an open system is %f Kcal\"%(Ws);\n",
+ "\n",
+ "#(c)Calculation of internal energy change\n",
+ "R1 = R/M;#gas consmath.tant in Kcal/Kg\n",
+ "Cv = Cp-R1;#specific heat at consmath.tant volume in Kcal/Kg K\n",
+ "a = Cv-(0.0005*T1);\n",
+ "m = (P1*10**4*V1*M)/(R2*T1);#mass of gas in Kg\n",
+ "def y(T):\n",
+ " val = m*(a+(0.0005*T));\n",
+ " return val\n",
+ "del_E = quad(y,T1,T2)[0];#internal energy change in Kcal/Kg\n",
+ "del_E1 = M*del_E;#internal energy change in Kcal/Kgmole\n",
+ "print \" c)The internal energy change for the process is %f Kcal/Kgmole\"%(del_E1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)The final temperature is 140 K\n",
+ " b)The work in a closed system is 4.117022 Kcal\n",
+ " The work in an open system is 6.927326 Kcal\n",
+ " c)The internal energy change for the process is -121.245283 Kcal/Kgmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5 Page No : 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "P1 = 1.0;#Initial pressure of air in atm\n",
+ "T1 = 15+273.0;#Initial temperature in K\n",
+ "P2 = 5.0;#Final pressure of air in atm\n",
+ "T2 = 15+273.0;#Final temperature in K\n",
+ "Cv = 5.0;#specific heat of air at consmath.tant volume in Kcal/Kgmole K\n",
+ "Cp = 7.0;#specific heat of air at consmath.tant pressure in Kcal/Kgmole K\n",
+ "R = 0.082;#gas consmath.tant in atm-m**3/Kgmole K\n",
+ "R1 = 2.0;#gas consmath.tant in Kcal/Kgmole K\n",
+ "#From the P-V diagram given in page no 155:\n",
+ "#Line 12 represents Isothermal process\n",
+ "#Line b2,c2 & 1a represent Isometric process\n",
+ "#Line a2 & 1c represent Isobaric process\n",
+ "#Line 1b reprsent Adiabatic process\n",
+ "\n",
+ "#To find Approx Value\n",
+ "def approx(V,n):\n",
+ " A=numpy.around([V*10**n])[0]/10**n;\n",
+ " return A\n",
+ "\n",
+ "#To Compute del_H, del_E, Q, W, del_S for the processes given above.\n",
+ "#To indicate the quantities that are state functions \n",
+ "#To verify that the work required in an isothermal process is less than that in an adiabatic process\n",
+ "\n",
+ "#Basis:1 Kgmole of air\n",
+ "V1 = (R*T1)/P1;#Initial volume in cubic meter\n",
+ "V2 = (R*T2)/P2;#Final volume in cubic meter\n",
+ "\n",
+ "#(i)Isothermal path 12\n",
+ "#Equations 7.7 to 7.9 will be used (page no 145)\n",
+ "del_E_12 = Cv*(T2-T1);\n",
+ "del_H_12 = Cp*(T2-T1);\n",
+ "W_12 = R1*T1*math.log(P1/P2);\n",
+ "Q_12 = W_12;\n",
+ "del_S_12 = approx((R1*math.log(P1/P2)),4);\n",
+ "print \"i)For isothermal process or path 12 change in internal energy is %f\"%(del_E_12);\n",
+ "print \" For isothermal process or path 12 change in enthalpy is %f\"%(del_H_12);\n",
+ "print \" For isothermal process or path 12 heat released is %f Kcal\"%(Q_12);\n",
+ "print \" For isothermal process or path 12 work is %f Kcal\"%(W_12);\n",
+ "print \" For isothermal process or path 12 change in entropy is %f Kcal/Kgmole K\"%(del_S_12);\n",
+ "\n",
+ "#(ii)Path 1a2 = 1a(isometric)+a2(isobaric)\n",
+ "#Equation 7.1 to 7.6 will be used (page no 144 & 145)\n",
+ "Pa = P2;\n",
+ "Ta = (Pa/P1)*T1;#in K\n",
+ "Q_1a = Cv*(Ta-T1);\n",
+ "del_E_1a = Q_1a;\n",
+ "del_H_1a = Cp*(Ta-T1);\n",
+ "W_1a = 0;# Consmath.tant volume process\n",
+ "del_E_a2 = Cv*(T2-Ta);\n",
+ "del_H_a2 = Cp*(T2-Ta);\n",
+ "Q_a2 = del_H_a2;\n",
+ "W_a2 = P2*(V2-V1)*((10**4*1.03)/427);\n",
+ "del_H_1a2 = del_H_1a+del_H_a2;\n",
+ "del_E_1a2 = del_E_1a+del_E_a2;\n",
+ "Q_1a2 = Q_1a+Q_a2;\n",
+ "W_1a2 = W_1a+W_a2;\n",
+ "del_S_1a = Cv*math.log(Ta/T1);\n",
+ "del_S_a2 = Cp*math.log(T2/Ta);\n",
+ "del_S_1a2 = approx((del_S_1a+del_S_a2),4);\n",
+ "print \"ii)For path 1a2 change in internal energy is %f\"%(del_E_1a2);\n",
+ "print \" For path 1a2 change in enthalpy is %f\"%(del_H_1a2);\n",
+ "print \" For path 1a2 heat released is %f Kcal\"%(Q_1a2);\n",
+ "print \" For path 1a2 work is %f Kcal\"%(W_1a2);\n",
+ "print \" For path 1a2 change in entropy is %f Kcal/Kgmole K\"%(del_S_1a2);\n",
+ "\n",
+ "#(iii)Path 1b2 = 1b(adiabatic)+b2(isometric)\n",
+ "#From equation 7.11 (page no 146)\n",
+ "y = Cp/Cv;\n",
+ "Tb = T1*((V1/V2))**(y-1);\n",
+ "#From equation 7.1 to 7.3,7.10 & 7.21,(page no 144,146,147)\n",
+ "Q_1b = 0;#adiabatic process\n",
+ "del_E_1b = Cv*(Tb-T1);\n",
+ "del_H_1b = Cp*(Tb-T1);\n",
+ "W_1b = -1*del_E_1b;\n",
+ "Q_b2 = Cv*(T1-Tb);\n",
+ "del_H_b2 = Cp*(T1-Tb);\n",
+ "W_b2 = 0;#consmath.tant volume prcess\n",
+ "del_E_b2 = Cv*(T2-Tb);\n",
+ "del_H_1b2 = del_H_1b+del_H_b2;\n",
+ "del_E_1b2 = del_E_1b+del_E_b2;\n",
+ "W_1b2 = W_1b+W_b2;\n",
+ "Q_1b2 = Q_1b+Q_b2;\n",
+ "del_S_1b2 = approx((Cv*math.log(T1/Tb)),4);\n",
+ "print \"iii)For path 1b2 change in internal energy is %f\"%(del_E_1b2);\n",
+ "print \" For path 1b2 change in enthalpy is %f\"%(del_H_1b2);\n",
+ "print \" For path 1b2 heat released is %f Kcal\"%(Q_1b2);\n",
+ "print \" For path 1b2 work is %f Kcal\"%(W_1b2);\n",
+ "print \" For path 1b2 change in entropy is %f Kcal/Kgmole K\"%(del_S_1b2);\n",
+ "\n",
+ "#(iv)Path 1c2 = 1c(isobaric)+c2(isometric);\n",
+ "Pc = P1;\n",
+ "Vc = V2;\n",
+ "Tc = (Pc/P2)*T2;\n",
+ "del_E_1c = Cv*(Tc-T1);\n",
+ "Q_1c = Cp*(Tc-T1);\n",
+ "del_H_1c = Q_1c;\n",
+ "W_1c = P1*(Vc-V1)*((10**4*1.03)/427);\n",
+ "del_E_c2 = Cv*(T2-Tc);\n",
+ "Q_c2 = del_E_c2;\n",
+ "del_H_c2 = Cp*(T2-Tc);\n",
+ "W_c2 = 0.0;#consmath.tant volume process\n",
+ "del_E_1c2 = del_E_1c+del_E_c2;\n",
+ "del_H_1c2 = del_H_1c+del_H_c2;\n",
+ "Q_1c2 = Q_1c+Q_c2;\n",
+ "W_1c2 = W_1c+W_c2;\n",
+ "del_S_1c = Cp*math.log(Tc/T1);\n",
+ "del_S_c2 = Cv*math.log(T2/Tc);\n",
+ "del_S_1c2 = approx((del_S_1c+del_S_c2),4);\n",
+ "print \"iv)For path 1c2 change in internal energy is %f\"%(del_E_1c2);\n",
+ "print \" For path 1c2 change in enthalpy is %f\"%(del_H_1c2);\n",
+ "print \" For path 1c2 heat released is %f Kcal\"%(Q_1c2);\n",
+ "print \" For path 1c2 work is %f Kcal\"%(W_1c2);\n",
+ "print \" For path 1c2 change in entropy is %f Kcal/Kgmole K\"%(del_S_1c2);\n",
+ "\n",
+ "#Determination of state & path functions\n",
+ "if((del_E_12 == del_E_1a2)&(del_E_12 == del_E_1b2)&(del_E_12 == del_E_1c2)):\n",
+ " print \" del_E is a state function\";\n",
+ "else:\n",
+ " print \" del_E is a path function\";\n",
+ "if((del_H_12 == del_H_1a2)&(del_H_12 == del_H_1b2)&(del_H_12 == del_H_1c2)):\n",
+ " print \" del_H is a state function\";\n",
+ "else:\n",
+ " print \" del_H is a path function\";\n",
+ "if(del_S_12 == del_S_1a2)&(del_S_12 == del_S_1b2)&(del_S_12 == del_S_1c2):\n",
+ " print \" del_S is a state function\";\n",
+ "else:\n",
+ " print \" del_S is a path function\";\n",
+ "if((Q_12 == Q_1a2)&(Q_12 == Q_1b2)&(Q_12 == Q_1c2)):\n",
+ " print \" Q is a state function\";\n",
+ "else:\n",
+ " print \" Q is a path function\";\n",
+ "if((W_12 == W_1a2)&(W_12 == W_1b2)&(W_12 == W_1c2)):\n",
+ " print \" W is a state function\";\n",
+ "else:\n",
+ " print \" W is a path function\";\n",
+ "\n",
+ "#Comparison of work required by isothermal & adiabatic process\n",
+ "if(-(W_12)<-(W_1b2)):\n",
+ " print \" Work required by isothermal process is less than the work required by an adiabatic process\";\n",
+ "else:\n",
+ " print \" Statement is incorrect\";\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i)For isothermal process or path 12 change in internal energy is 0.000000\n",
+ " For isothermal process or path 12 change in enthalpy is 0.000000\n",
+ " For isothermal process or path 12 heat released is -927.036238 Kcal\n",
+ " For isothermal process or path 12 work is -927.036238 Kcal\n",
+ " For isothermal process or path 12 change in entropy is -3.218900 Kcal/Kgmole K\n",
+ "ii)For path 1a2 change in internal energy is 0.000000\n",
+ " For path 1a2 change in enthalpy is 0.000000\n",
+ " For path 1a2 heat released is -2304.000000 Kcal\n",
+ " For path 1a2 work is -2278.639813 Kcal\n",
+ " For path 1a2 change in entropy is -3.218900 Kcal/Kgmole K\n",
+ "iii)For path 1b2 change in internal energy is 0.000000\n",
+ " For path 1b2 change in enthalpy is 0.000000\n",
+ " For path 1b2 heat released is -1301.261672 Kcal\n",
+ " For path 1b2 work is -1301.261672 Kcal\n",
+ " For path 1b2 change in entropy is -3.218900 Kcal/Kgmole K\n",
+ "iv)For path 1c2 change in internal energy is 0.000000\n",
+ " For path 1c2 change in enthalpy is 0.000000\n",
+ " For path 1c2 heat released is -460.800000 Kcal\n",
+ " For path 1c2 work is -455.727963 Kcal\n",
+ " For path 1c2 change in entropy is -3.218900 Kcal/Kgmole K\n",
+ " del_E is a state function\n",
+ " del_H is a state function\n",
+ " del_S is a state function\n",
+ " Q is a path function\n",
+ " W is a path function\n",
+ " Work required by isothermal process is less than the work required by an adiabatic process\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch8_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch8_1.ipynb
new file mode 100644
index 00000000..1c35275d
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch8_1.ipynb
@@ -0,0 +1,86 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:234a7cd4eb239b4fead8bceff4c3350a039b4673e5cc1a175a4862ee9b56966f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8 : Third Law of Thermodynamics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.1 Page No : 138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "C_ps = 0.1;#Molal heat capacity of copper at 20 K\n",
+ "Ti = 0.0;#Initial temperature in K\n",
+ "Tf = 20.0;#melting point in K\n",
+ "Tb = 300.0;#boiling point in K\n",
+ "\n",
+ "#To calculate the absolute entropy of copper at 300 K\n",
+ "#From equation 8.4(page no 164)\n",
+ "a = C_ps/(Tf**3);# a is the charateristic consmath.tant\n",
+ "C_p = [0.1,0.80,1.94,3.0,3.9,5.0];\n",
+ "#T1 = math.log(T);\n",
+ "T1 = [1.301,1.6021,1.7782,1.9031,2.000,2.1761];\n",
+ "plt.plot(T1,C_p)\n",
+ "plt.title(\"C_p vs T1\")\n",
+ "plt.xlabel(\"T1\")\n",
+ "plt.ylabel(\"Cp\")\n",
+ "plt.show()\n",
+ "# Area under the curve is given as\n",
+ "A = 7.82;\n",
+ "#From equation 8.5(page no 164)\n",
+ "S = (a*((Tf**3)/3))+A;\n",
+ "print \"The absolute entropy of copper is %f Kcal/Kgmole\"%(S);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x102f267d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The absolute entropy of copper is 7.853333 Kcal/Kgmole\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch9_1.ipynb b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch9_1.ipynb
new file mode 100644
index 00000000..cea268a9
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch9_1.ipynb
@@ -0,0 +1,290 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:afa9dce93689170d63e47c0994dac86a6544b2fa2de4c3b3095b5b07cd969902"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9 : Fluid Flow in Pipes and Nozzles"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1 Page No : 147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "R = 848.0;#gas consmath.tant in m Kgf/Kgmole K\n",
+ "M = 29.0;#molecular weight of air\n",
+ "g = 9.81;\n",
+ "T1 = 90+273.0;#initial temperature in K\n",
+ "y = 1.4;#gamma = Cp/Cv\n",
+ "W = 800/3600.0;#Mass rate of air in Kg/sec\n",
+ "P1 = 3.5;#initial pressure in atm\n",
+ "d = 2.5;#diameter of the pipe in cm\n",
+ "\n",
+ "#To find out the pressure at the final point\n",
+ "v1 = (R*T1)/(M*P1*1.033*10**4);#specific volume in cubic meter/Kg\n",
+ "u1 = (W*v1)/(math.pi*(d**2*(10**-4))/4);#inital velocity in m/sec\n",
+ "#Assume final temperature as\n",
+ "T2 = [300,310];\n",
+ "#Assume specific heat capacity in J/KgK corresponding to the above temperature as\n",
+ "Cp = [2987.56,2983.56];\n",
+ "us = []\n",
+ "u2 = []\n",
+ "for i in range(0,2):\n",
+ " us.append((g*y*R*T2[i]/M)**(1/2));#sonic velocity attained in m/sec\n",
+ " u2.append(((u1**2)-((2*g*Cp[i]/M)*(T2[i]-T1)))**(1/2));#From equation 9.18 & 9.19 (page no 170)\n",
+ "if us[i]-u2[i] <= 1: \n",
+ " u2 = u2[i];\n",
+ " Tnew2 = T2[i];\n",
+ "v2 = u2*(math.pi/4)*(d**2/10**4)*(1/W);\n",
+ "P2 = (P1*v1*Tnew2)/(T1*v2);\n",
+ "print \"The pressure at the final point is %f atm\"%(P2);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at the final point is 397.261807 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2 Page No : 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "A1 = 0.002 #inlet area in sq meter\n",
+ "A2 = 0.0005 #throat area in sq meter\n",
+ "P1 = 1.3*10**4 #inlet pressure in Kgf/sq m\n",
+ "P2 = 0.7*10**4 #throat pressure in Kgf/sq m\n",
+ "g = 9.81\n",
+ "v = 12*10**(-4) #specific volume in cubic m /Kg\n",
+ "\n",
+ "#To find out the mass rate of alcohol\n",
+ "u2 = ((v*2*g*(P1-P2))/(1-((A2/A1)**2)))**(0.5) #throat velocity in m/sec\n",
+ "W = (u2*A2)/v\n",
+ "print \"The mass rate of alcohol is \",\n",
+ "print \"%.4f\" %W,\n",
+ "print \" Kg/sec\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mass rate of alcohol is 5.1147 Kg/sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3 Page No : 153"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "\n",
+ "#Given\n",
+ "P1 = 50.0;#initial pressure in Kgf/sq m\n",
+ "T1 = 45+273.0;#initial temperature in K\n",
+ "g = 9.81;\n",
+ "y = 1.35;#gamma\n",
+ "R = 848.0;#gas consmath.tant in m Kgf/Kgmole K\n",
+ "M = 29.0;#molecular weight of air\n",
+ "d = 1.0;#pipe diameter in cm\n",
+ "\n",
+ "#(i)To plot velocity,specific volume,mass velocity against P2/P1\n",
+ "#(ii)To calculate the critical pressure,critical mass velocity and mass rate of flow\n",
+ "#(i)Plotting of graph\n",
+ "V1 = (R*T1)/(M*P1*1.033*10**4);#initial volume of the gas in cubic m/Kg\n",
+ "#P3 = P2/P1 (say)\n",
+ "#Assume P3 values as\n",
+ "P3 = [1.0,0.8,0.6,0.4,0.2,0.1,0.05];\n",
+ "G = [0,0,0,0,0,0,0];\n",
+ "u2 = []\n",
+ "v2 = []\n",
+ "G = []\n",
+ "for i in range(0,7):\n",
+ " u2.append((((2*g*y*R*T1)/((y-1)*M))*(1-(P3[i]**((y-1)/y))))**(1/2.0));#final velocity in m/sec\n",
+ "for i in range(0,7):\n",
+ " v2.append(V1/(P3[i]**(1/y)));#final specific volume in cubic meter/Kg\n",
+ "for i in range(0,7):\n",
+ " G.append(u2[i]/v2[i]);#Mass velocity in Kg/sq m sec\n",
+ "\n",
+ "plt.plot(P3,u2,\"o-\")\n",
+ "plt.title(\"Velocity vs P2/P1\")\n",
+ "plt.xlabel(\"P2/P1\")\n",
+ "plt.ylabel(\"Velocity\")\n",
+ "plt.show()\n",
+ "\n",
+ "plt.plot(P3,G,\"+-\")\n",
+ "plt.title(\"Mass velocity vs P2/P1\")\n",
+ "plt.xlabel(\"P2/P1\")\n",
+ "plt.ylabel(\"Mass Velocity\")\n",
+ "plt.show()\n",
+ "\n",
+ "P_3 = [1.0,0.8,0.6,0.4,0.2,0.1,0];\n",
+ "plt.plot(P_3,v2,\"*-\")\n",
+ "plt.title(\"Sp. volume vs P2/P1\")\n",
+ "plt.xlabel(\"P2/P1\")\n",
+ "plt.ylabel(\"Specific Volume\")\n",
+ "plt.show()\n",
+ "\n",
+ "#(ii)Calculation of critical pressure,critical mass velocity and mass rate of flow\n",
+ "#From equation 9.37(page no 181)\n",
+ "P2 = P1*(2/(y+1))**(y/(y-1));\n",
+ "print \"The critical pressure is %f atm\"%(P2);\n",
+ "#From equation a (page no 183)\n",
+ "u2 = (((2*g*y*R*T1)/((y-1)*M))*(1-((P2/P1)**((y-1)/y))))**(1/2.0);\n",
+ "print \" The critical velocity is %f m/sec\"%(u2);\n",
+ "#From equation b (page no 183)\n",
+ "v2 = ((R*T1)/(M*P1*1.033*10**4))/((P2/P1)**(1.0/y));\n",
+ "print \" The critical specific volume is %f cubic meter/Kg\"%(v2);\n",
+ "#From relation c (page no 183)\n",
+ "Gnew = float(u2)/v2;\n",
+ "print \" The critical mass velocity is %f Kg/sq meter sec\"%(Gnew);\n",
+ "W = Gnew*(math.pi/4.0)*(d/(100.0))**2;\n",
+ "print \" Mass rate of flow through nozzle is %f Kg/sec\"%(W);\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x104438150>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEZCAYAAABfKbiYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XeYVOXZx/EvVToIKETaqmBBkaaCUXSxZRUDxkIVwd03\nRonBEg02ZNVoLCHGEokiUqSIQSBoBERxTGwUAQEJoSgiKCAiRZG68/5xP+MMy+zu7O6cOVN+n+ua\na2bOnJm59yjnnqfdB0REREREREREREREREREREREREREREREpJQKgOPK+RnLgXPjEIuISEZbB+wF\nGhTavhg7WTdPdEBlEI+kEikfeCmOn1cWA4GDwC5gB/bfo5t7rTMwB/gW2AK8AjSO8hn/A1oBY7D/\nxrvce94ETnT7nArMBr7BjqOkkYp+ByAZKQh8BvSJ2NYGqO5eE/+8D9QG6gGjsORRz93+DrRwt13A\n6ELvPR47p6zG/js+6j6rKZaIxrj99gEvA3ne/Rkikkk+B+4B5kds+zNwN4e2VLphv5Z3AOuBYRH7\nVwPGA1uB79xnHe1eGwisBXZiyatvlBiOAXYDR0Zsa4/9eq7knucCK4BtwCwObUFFtlTqAuOwE+c6\n97dViNj31+5zdgKfAu3c9nXABUAO9qt+H3ayXgxcBSwsFPNtwPQof0svYEGhbbcC/3SPL3XfuxPY\nAPw+ymeAHbf/RDyv6f7ODlH27eA+L9Jg4K/u8WjggYjXumF/W6SWqKUiInHwOXYyXQmchJ3Ev8RO\n2pFJ5TzgFPe4DbAJ6OGe/waYgSWXClhCqI2dCHdgXTAAjYDWRcTxNvB/Ec8fB551j3tgv7hPxH59\n34P9ig+JTCrjgGnuu1tgXUC57rWrsRN5R/f8+Ii/73PgfPd4mPuckKpYt9FJEdsWA7+K8ndUx07w\nLSO2LQB6usdfA2e7x3WxYxXNQMJJpTJwM3Ysa0fZ9xbgg0LbZgEXucejgQfd41rARODdQvsrqYhI\nXISSyj3Aw9gv9dlYciluTOWvwF/c4+uwk3ybQvvUxFouV2An2+LkYYkFLDGtB85xz2cSTgxgieUH\noJl7HkoqlbBWRuTJ/3rgHfd4NvC7Ir4/Mqnkc/iYygjgj+7xKViLqUoRn/USMNQ9boUlmWru+Rcu\npjpFvDdkILAfO37fYEnj/Cj7nYYlvLMjttXAWo2h+MYAP7rP+hprYR1b6HOUVEQkLkIn0+bYCW8S\n0A/7dRyZVDphJ+ctwHbsJDXWvVYZuA/r1tmI9d9Xdq9djA0Mfwe8TniAuLAjsS6wxliraF3Eayuw\n7prvIm4/YAPWEE4qjdzjyASWA6xyjz/Fup+KOw4QPal0xrrvAB7BkkxRLnExg7V6xka8djp2Ut8G\nBCL+hsIGcmj3VzQtsZZXv0Lbf0m4uw0O7/4q6rOUVNKMBurFT+uxk+YlwNQor0/EToZNCQ8Uh/6f\nPYCdtE4Bfg5cBlzrXnsTSyyNsS62kUV8/3du317YuMukQrFdjyWe0K0m8FGhz9iK/brPitjWHDvx\ngnXrtaRk0SYofISNs5yLTWoobnbYW8BRQFugN3bsQhYCl7vXp2OD72XRApsB9gAwodBrlwJvFNpW\nAck4Siritzzs1/qPUV6rhZ349wFnYif+0Mk3G+v6qoS1KPZj02GPxsZDarptP7jtRZkIDACu5NAT\n8d+xiQOh8Zi62PhIYQexk/RDLt4W2CD5ePf6C8Dt2MB2BSzBROve24QlpsIn4peAZ7BjUHgMI9J+\n4B/YhIcjsZM/WHdUPxd/aLpwccejKE2AuS6W56O8ngP8K+J5SQmlGjZuBHCEu4mIlElkt0+kytgJ\nL3TSvRLrktoJvAY8RXgwuzfWCvkeOyH/FfuR1Bjr4tmOJaS5HDreUVg19/nLorx2DbCU8OyzFyJe\nO0h4oL4edvLf4va7l0NPqr9xse5yn9fWbY88DvWxrqdtHDrrq7n7rsiZb0U5B+tOejpiWxVsfGib\n+zvmYS27aAYA/y7itWHus3dF3EKzv07l8ONXXPdXlvusAuxvKyDczSdSpBeBzRz6P9vjwH+BT7Du\njroRr92FzbZZiXVdhHR0n7EaeDJi+xHAZLf9I+wXoki6Cc3sOt7vQIrxB2zMR8RTXbCpi5FJ5SLC\nXW6PEP4fsTWwBPtVlQWsIfxLbz7W9QHWZ5vjHg8iPP2zF7aYSiTd3IaNlySzqyl6MoRIXGURvVsB\nbL59qN/5LmBIxGuzsBkqP8NaNiG9sb7u0D6d3OPK2BRIkXSyDusia1vCfiJJo3LJu3gml/Bsm2M4\ndFbNBmxgcD/hWTRgU0ebuMdNsJk1YDOBdmD90ts8ilck0bL8DkCktPya/XUPNptlYkk7iohI6vCj\npTIQm9N+QcS2jYRXKoOtS9jgtjeNsj30nubAV9jfUZcorZTjjz8+uHbt2jiFLiKSMdYS2xqrQyS6\npZID3IGtI9gTsX0GNl5SFSvl0AoboN+EzXzphA3c9ye8ancGNgUSrPje20Sxdu1agsGgbsEgw4YN\n8z2GZLnpWOhY6FgUf6OMMw69bKlMwkpfNMTGPoZhA/JVCS/M+hCbxbUCW0C2AhsfGUR4kdsgrI5Q\ndWz21yy3fRS2NmA1Voeot4d/i4iIxMDLpNInyrYXi9n/YXcr7GMOLxoIVsSvZ5TtIiLiE5VpySDZ\n2dl+h5A0dCzCdCzCdCzKLxMKvgVd/6CIiMSoQoUKUIYcoZaKiIjEjZKKiIjEjZKKiIjEjZKKiIjE\njZKKiIjEjZKKSIYLBPyOQNKJkopIhlNSkXjSOhWRNHfwIGzeDBs3wldf2S30eONG+OYbmDoVsrL8\njlSSSVnXqSipiKSoYBC2bz80QUS737IFGjSAY46BJk3sft8++PZbqF0bJk6EatXg1FPhzjvhyiv9\n/sskGZQ1qfh5kS4RKcKPPxafKEK3KlXCiSJ037o1XHhheFvjxrZfUVq1gt/+Fh55BH79a5g3D4YM\nsUQkUlpKKiIJdOCAdUUVThCFk8YPPxyaKEL3HTvafehWq1Z84jrqKBg+HG69Ff74RzjxRPjd7+x5\nnTrx+Q7JDOr+EomDYBC++6741kVo/KJhw0MTRbTk0aABVEjQv85AAArXUVy7FvLz4c034Y47rCVT\nvXpi4pHkoDGVoimpyGGinUiLsnt30S2KyNbGEUcUnyiaNIFGjYrviko2y5fDffdZl9i990JeHlSt\n6ndUkghKKkVTUpHD5OfbSTJyVlRR3VE//lh8ogi9VrOm33+VdxYssOO1erUdu379oFIlv6MSLymp\nFE1JRX6yfz8MGwZPPw179lhXVFGJInRfv37iuqKS3bvvwj33wLZt8OCDcMUVOjbpSkmlaEoqAsCE\nCfCHP0CNGrBmDQwdChUrWjeYrs0Uu2AQZs2y5FKhAjz0EPziF0ou6UZJpWhKKsKECXDLLdaFM3gw\n3H+/deNI2RUU2KLJoUOtxffQQ3DuuX5HJfGidSoiUezaZTOX5s+HOXOgXTu/I0ofFSvCVVfBr34F\n48fDgAE2FfmPf4TTT/c7OvGLan9J2lqwADp0sFlZH398aEJRd1f8VKpkCeV//4Pu3aFHD1uV/+mn\nfkcmflBSkbRTUACPPw7dusHDD8PIkYfPzFJSib+qVWHQIJsh1rkzdO0K114Ln33md2SSSEoqkla+\n/hpycmD6dGupXH213xFlnho1bMHkmjVw3HFwxhlw4402PVvSn5KKpI033rDurrPOsqmvLVr4HVFm\nq1PHJkP8739WuLJNG7j9dti61e/IxEtKKpLy9u61mV033ACTJ9vMrsqagpI0GjaExx6z1fk//miD\n+ffdBzt2+B2ZeEFJRVLaypXQqRN8+SUsWaIprcnsmGPgb3+DhQth/Xqrjvzoo1YGR9KHkoqkpGAQ\nXngBunSx/vopU2zluyS/Y4+FMWOsi3LhQmjZEp55xlqckvq0+FFSzvbtcP311kp5+WW7foikrkWL\nbFHqihVWQqd/f3VfJoOyLn70sqXyIrAZWBaxrT4wB1gFvAnUi3jtLmA1sBK4OGJ7R/cZq4EnI7Yf\nAUx22z8CNCybAd5/39abNGpkCxqVUFJfhw42yWL8eGvBnHoqvPKKTQ2X1ONlUhkN5BTadieWVE4A\n3nbPAVoDvdx9DvAs4Qw5AsgDWrlb6DPzgG/dtieAR734IyQ5HDwIDzxgi+qeftpu1ar5HZXE0znn\n2CUJnnrKBvY7dIB//cu6OiV1eN39lQW8BrRxz1cC52EtmMZAADgJa6UUEE4Ms4B84AtgLnCy294b\nyAZucPsMA+Zh5Wa+Bo6KEoO6v1Lc+vVwzTV2HZJx46x6sKS3YNDWGt17L9Sta4tYtWA1sZKx+yua\nRlhCwd03co+PATZE7LcBaBJl+0a3HXf/pXt8ANiBda9JGnn1VasjdemldhVCJZTMUKGC1RRbutRW\n6eflwUUXWZenJDc/Z38F3U3kMLt3w29+Y6XqX3sN7rxTF4XKRJUqWSt15UorXnnFFXD55bBsWcnv\nFX8keo5FqNtrE/AzYIvbvhFoFrFfU6yFstE9Lrw99J7mwFfY31EX2BbtS/MjapxnZ2eTrXZ0Ulu6\nFHr3hvbtYfFiW5ktma1KFfuRce218Pe/w4UX2u3++21KspRfIBAgEAj4HUaJsjh09tdjwBD3+E7g\nEfe4NbAEqAocC6wl3Jc3D+jknr9BeKB+EDaIDzbW8nIRMQQlNRQUBINPPRUMNmwYDI4da89Fotm5\nMxh88MFgsEGDYPDXvw4G16/3O6L0Qxl7krwcqJ+EDco3xFoo9wH/BF7BWhjrgJ7Adrf/3UAuNj5y\nMzDbbe8IjAGqY0llsNt+BPAS0B6bBdbbfWZh7vhIMtu6FXJz7brwkybZamuRkmzbZhWpn3vOyu/f\ndRccfbTfUaUHXfmxaEoqSe7tt+2E0LevXeCpalW/I5JUs2mTzRCbMMFqwN1+Oxx5pN9RpbZUmf0l\n8pP9++2X5bXXwosv2toEJRQpi8aNbX3LokWWYE44wZLM99/7HVnmUVIRX6xda4vdli61wfiLLy75\nPSIladECRo2C996z/7datYInn4Q9e/yOLHMoqUjCTZhgVwbs2xdef1194BJ/J55odeFmzoS33rKW\nywsvwIEDfkeW/jSmIgmzaxfcdBPMm2eD8e3b+x2RZIoPP4R77oENG2wacq9eUFE/qYulMRVJagsX\nWi2nKlXg44+VUCSxzjoL5s6FESOsO6x9e5gxQ3XFvKCWiniqoACGD7dpn888Az17+h2RZLpg0Ko0\n3Hsv1KgBDz0EF1xgrwUCqjEWoinFRVNS8cnXX9tU4R9+gIkTdc14SS4FBXb56fvug2bNLLnMng0R\nBTgymrq/JKm88YZ1d511ll3hTwlFkk3FitCnj10crG9fG2d5/32/o0p9aqlIXO3dC0OGwNSpdtEl\nXTNekl0gYLctW2zMZehQSzjZ2ZndFabur6IpqSTIypX2y++442DkSF0zXlJP06ZWsPKyy/yOxH/q\n/hLfBIO24KxLFyuRMWWKEoqkpvbtrbqDlF2iS99Lmtm+Ha6/3lopgQCccorfEYmU3Q03QL9+1hWm\nRbllo5aKlNn770O7dtCokV2RTwlFUl23bnYRsJde8juS1KUxFSm1gwdt+uWzz8Lzz0P37n5HJBI/\n//433HgjLF9ulzXOVGUdU1H3l5TKl1/a5V0rVbKV8bpmvKSbLl1g3z4rJ9S5s9/RpB51f0nMpk6F\n00+HnByYM0cJRdJThQp2wTgN2JdNJjTu1P1VTrt3w223WSKZOBE6dfI7IhFvbdwIp55qBShr1vQ7\nGn9oSrF4YulSOOMMqzC8aJESimSGJk3g7LNteryUjpKKRBUMWgHICy6wFfLjx0Pdun5HJZI46gIr\nG3V/yWG2brV/UF99Zdc9adXK74hEEm/fPis0+d57mflvQN1fEhdz59rak5NOgg8+yMx/TCIAVava\nTMfRo/2OJLWopSIA7N9vJcDHjbN/RLpmvAh8+qn9W/jiC6icYQsw1FKRMvvsMzjnHPjkE1i8WAlF\nJOSUU6wLbPZsvyNJHUoqGW7CBJvR1acPvP666h2JFKYB+9JR91eG2rULbrrJVg1PmqRrxosUZedO\naN4cVq3KrB9d6v6SEgUCdr9woV2VsUoVK7WihCJStDp1oEcPm1YvJVNLJYMMGwa1asHjj9salJ49\n/Y5IJDVkYpFJFZSUYm3dar+0Gje2MvVZWX5HJJI6QkUm589XVYmSqPsrzQUC1kL5+c9tltcFF8CY\nMeGuMBEpWYUKcN11GrCPhV8NubuAa4ACYBlwHVATmAy0ANYBPYHtEfvnAgeBwcCbbntHYAxQDXgD\nuDnKd2V899fzz8Nzz8Gll8KDD/odjUhq2rgR2rSxyz9kQpHJVBqozwJ+DXQA2gCVgN7AncAc4ATg\nbfccoDXQy93nAM8S/kNHAHlAK3fLScQfkErWrIG777Yr2VWq5Hc0IqmrSRM46yx49VW/I0lufiSV\nncB+oAY2plMD+AroDox1+4wFLnePewCT3HvWAWuATsDPgNrAfLffuIj3CHDggJWZuO8+aN0asrP9\njkgkteXlwahRfkeR3PxIKtuA4cB6LJlsx1oojYDNbp/N7jnAMcCGiPdvAJpE2b7RbRfnT3+C2rVt\nPQooqYiU12WXwcqVsHq135EkLz9mfx0P3IJ1g+0A/oGNr0QKultc5Ofn//Q4Ozub7Aw4uy5YYNOG\nFy2CipqOIRIXkUUmH37Y72jiKxAIEIjDDB4/Bup7ARcB/+ee9wc6A+cDXYFNWNfWO8BJhMdWHnH3\ns4BhwBdun5Pd9j7AecANhb4v4wbqd++2xY333w+9evkdjUh6Wb4cfvGL9C8ymUoD9SuxJFIdC/hC\nYAXwGjDA7TMAmO4ez8AG8qsCx2ID8vOx5LMTG1+pgCWn0Hsy2pAh0LGjEoqIF049FZo2hTffLHnf\nTORHnv0EG1RfiE0pXgQ8jw26v4LN5lqHTSkGSzivuPsDwCDCXWODsCnF1bEpxbMSEH9Smz0b/vlP\nqzgsIt4IDdhfeqnfkSSfWJo2bbC1JKkqY7q/vv0W2raFsWNtkaOIeGPHDmjRwgbsjzrK72i84WX3\n1whgAdYq0FXKk1QwCDfcAFdfrYQi4rW6da3I5Esv+R1J8oklqZwD9AOaY11VkwBdxinJTJgAK1bY\nNGIR8V5urnWBZUhHSMxK07SpjC0ufAqbClwRuBtI9vWlad/9tX69Dcy/+abK2IskSjAIJ5xgP+jO\nPNPvaOLPy+6vtsATwH+xab+XYdN4u7rt4qOCAhgwAH7/eyUUkUQKFZnUCvtDxZKF3gVGAVOA3YVe\nuxabyZXM0rqlMnw4TJsG776r2l4iiRYqMrlhA9So4Xc08eVlS2UaljgiE0qoGnCyJ5S0tmyZjaGM\nG6eEIuKHUJHJKVP8jiR5xJJUBkTZdl28A5HS2bvXykU89hgcd5zf0YhkrtxcXWclUnFNmz5AX6AL\n8J+I7bWx65qkysTVtOz+GjIEVq2CqVMz5/KmIslo3z5bYf/BB9Cypd/RxE9Zu7+Ke0MLrCzKI8CQ\niH13YaviD5T2y3ySdknl3/+G3r1t1Xy6LrwSSSW33QbVq8NDD/kdSfx4kVTSRVollZ07bdX8009b\nGW4R8d/y5ZCTY0Um02V804uB+vfd/fdY6yTytrO0XyTxMXgwXHyxEopIMjn1VBu0nz3b70j8V1xB\nybPdfa1EBCIle/VVeO89WLLE70hEpLDQgH2mF5mMpWnTGasQHGqd1MEWP87zKqg4S4vur6+/tsWN\n06bZFEYRSS7pVmTSy3Uqf8e6wEJ+cNskQYJBK7V9/fVKKCLJqm5d6N4dxo/3OxJ/xXqRroKIxweB\nNBmKSg3PPQdbtsDQoX5HIiLFCV1nJQ06R8oslqTyOTAYqIJdffFm4DMvg5KwVavg3nvt10+VKn5H\nIyLFOfdc2LMHFizwOxL/xJJUbsAG7TcCG7Axluu9DErM/v3Qvz/k58NJJ/kdjYiUJFRkMpNX2Gud\nShK7/35bpTtzJlSMtaNSRHy1YQOcdlrqF5n0cqC+GVZU8ht3exVoWtovktKZPx+efdZ+8SihiKSO\npk2hc2dbApCJYjldjQZmAMe422tum3jkhx+sWOQzz9iCKhFJLaEB+0wUS9PmE+xCXSVtS1Yp1/31\n299aORZd/1okNaVDkUkvu7++Bfpj04grA9cAW0v7RRKbmTPh9dettpeIpKaqVa23YcwYvyNJvFiy\nUBbwNDbrC+AD4HfAeo9iireUaals3WrFIsePh65d/Y5GRMoj1YtMqkpx0VIiqQSDcNVVkJVllwgW\nkdR35pk2i/OSS/yOpPTKmlSKKyhZXAdMEFsQKXHy0ku20HHCBL8jEZF4CQ3Yp2JSKavistBALHlE\n7hd0j4PAWO/Ciqukb6msWwdnnAFvvWXdXyKSHlK5yGQiur9qYsUkU01SJ5WDB+H886FbN/jDH/yO\nRkTi7dprrcL4rbf6HUnpeDn76+dY6fuV7nk74NnSfpFE98QTNp7y+9/7HYmIeCE3N7OKTMaSVP4K\n5BCeRrwEOK+c31sPmAL8F0tYnYD6wBxgFfCm2yfkLmA1ltgujtjeEVjmXnuynDEl3NKl8OijMG5c\nas4OEZGSnXeeFZlcuNDvSBIj1gIghacPHyjn9z4JvIFd7Os0LFnciSWVE4C33XOA1kAvd5+DtZJC\nTbIRQB7Qyt1yyhlXwuzZY/PYH3/cZnyJSHoKFZnMlBX2sSSV9YQvLVwVuB1rYZRVXaALEKrjeQDY\nAXQnPPg/FrjcPe4BTAL2A+uANVjL5mdAbWC+229cxHuS3tChttJ2wAC/IxERrw0YAK+8Art3+x2J\n94pLKqGrd9wI/BZogpW/b++el9WxWGHK0cAiYCQ2CaARsNnts9k9B6s3tiHi/RtcLIW3b3Tbk14g\nABMnwvPP268YEUlvmVRksrh1KhuxQpKTsNIsBcXsW9rv7ADcBCzAxmzuLLRPkPB05nLLz8//6XF2\ndjbZ2dnx+uhS27EDBg6EkSOhYUPfwhCRBMvNhb/9za6RlIwCgQCBQKDcn1Pc7+SGwFVAb2y8YgqW\nYD4q53c2Bj7EWiwA52AD8ccBXYFNWNfWO8BJhBPOI+5+FjAM+MLtc7Lb3gebQHBDoe9LqinFAwbY\nNRZGjPA7EhFJpFCRyQ8/hOOP9zuaknkxpXgr8HcgGzgDu6zwE8Ba4OFSRxi2CfgSG5AHuBD4FCup\nHxphGABMd49nYImtKpaIWmHjKJuAndj4SgWs6GXoPUlpyhSrWvrnP/sdiYgkWtWq0K8fjE7zC4eU\nJgvVBq4AbsNaEkeX43vbAi9giWItcB1WBfkVoDk2IN8T2O72vxvIxQb1bwZmu+0dgTFAdWw2WbTS\nMUnRUpkyxUraz5gBnTr5HY2I+GHZMivZkgpFJr1aUV8d+CXWUjgb63qaBLxF+acVJ4rvSSUYhFat\n7FfK/ff7GoqI+CxVikx60f01EZtO3BOYgJXAH4AlllRJKElhxAj48Ue4916/IxERv+Xm2mXC01Vx\nWWgAMBXYlaBYvOJbSyUQgNmz4cknLakMG2bbs7PtJiKZJ1WKTOp6KkXztftr+HArz3DiiRAxs1lE\nMlj//tCxI9xyi9+RFM3LgpJSRvv2WcHIO+7wOxIRSSZ5edYFlgRziOJOScVDkybBySdDhw7q7hKR\nsHPPhR9+SM8ik7EklZ5AHfd4KDANWxEvxSgosGKRoWukKKmISEjFilZkMh0H7GNJKkOxRYbnABcA\no7DqwFKMmTNtsdOFF/odiYgko4EDYfLk9CsyGUtSOejuL8OKP76OLVqUYjz2mLVSVDBSRKJp2tQW\nQk+d6nck8RVLUtkIPI9d0+RfQLUY35exPvoI1q+Hq67yOxIRSWahAft0Esvv6JrYxa+WYldY/BnQ\nBrs6YypI+JTiK6+Erl3hppsS+rUikmL27oVmzZKzyKSX61SOx1ore7AqwqdhF9HaXtybkkhCk8qq\nVXDOOfD551CzZsK+VkRS1K23Qq1a8OCDfkdyKC/XqUzFyrK0BJ4DmmIlXCSK4cNh0CAlFBGJTW4u\njBkDBw+WuGtKiCWpFGBJ5QrgaeAOrAtMCtm0Cf7xD6tGLCISizZtoHFjmDPH70jiI5aksg/oC1yL\nzfyC8KWGJcLTT0Pfvsldz0dEkk9eHowa5XcU8RFLf9kp2NUUP8DK3h+HLYh8pLg3JZGEjKns2gXH\nHgvz58Nxx3n+dSKSRrZvh6wsWLMmeS4zroKSRUtIUnniCZg3D15+2fOvEpE01L8/nH463Hyz35EY\nL5PKCdjlg1tjF+0CCGItllTgeVLZv9+mA06bZpVHRURK6513LKF88klyLJr2cvbXaOxa9Qew69WP\nxS7aJc7LL8MJJyihiEjZnXeeFZn8+GO/IymfWJJKdezywRWAL4B8oJuHMaWUYDBckkVEpKxCRSZT\nfcA+lqSyB6gErAFuwqYWaxWGM2sWVKoEF13kdyQikuoGDEj9IpOxJJVbgBrAYOB04BrsUsOCCkeK\nSPw0a2ZFJqdN8zuSssuEU6FnA/Xz50PPnnat6SpauSMicfCPf8CIETB3rr9xeDH76zVslle0fYJA\n99J+mU88SypXXw1dusDgwZ58vIhkoL17rSz+vHn+rnnzIql8A2zAFjzOK7R/EHi3tF/mE0+Sypo1\ncNZZsG6d6nyJSHzdcgvUru1vkUkvkkpl4CKgD1bq/l9Ygvm0DPH5yZOkcuONVo7lgQfi/tEikuGW\nLoVu3exHa6VK/sTgxTqVA8BMrOZXZ2z217vYDLCMtnmzzdDQ9VJExAunnZa6RSZLmv1VDbgSGA/8\nFngSSOF5CfHxzDPQuzccfbTfkYhIusrNTc2rQhbXtHkJKyb5BjAZWJaQiOIvrt1f339vhSM//BBa\ntozbx4qIHMLvIpNedH/1A1oBN2MVindF3HaWPsTDVAIWY7PMAOoDc4BV2KWK60Xsexd2KeOVwMUR\n2ztiyW411ory3Asv2KWClVBExEv16sFll8GEFCuKVVxSqQjULuJWJw7ffTOwAptJBnAnllROAN52\nz8EKWfbAkrw4AAALoElEQVRy9znAs4Sz5wggD0t+rdzrntm/H/7yF7jjDi+/RUTEhK6zksAropdb\nLCvqvdAUuBR4gXCC6I4Vq8TdX+4e98Bmne0H1mETBjphV5+sDcx3+42LeI8nJk+2FsoZZ3j5LSIi\n5rzzrMs9lYpM+pVUnsAuS1wQsa0RsNk93uyeAxyDrZcJ2QA0ibJ9o9vuCRWOFJFECxWZTKUB+8o+\nfOdlwBZsPCW7iH2ChLvFyi0/P/+nx9nZ2WRnF/W1RZs92+5/8Yv4xCQiEouBA6FdOxg+HKpXL3H3\nMgsEAgQCgXJ/jh+1vx4G+mPrYKph4zNTgTOwJLMJ69p6BziJ8NhK6PLFs4BhWBn+d4CT3fY+wHnY\npY8jxWX21/nn2xS/a64p90eJiJRKTo5dGbJfv8R9p5cX6Yq3u4FmwLFAb2AulmRmEK5+PACY7h7P\ncPtVde9phY2jbMJmoXXC/vD+Ee+JqwULbFpfr15efLqISPHy8lKnC8yvMZVIoWbEI1hZmFXA+YRb\nJiuAV9z9TGBQxHsGYYP9q7EB/FleBHjHHXDbbapELCL+6N7dSrd89pnfkZRMpe9LsGaNlUzYsgVq\n1YpjVCIipXDLLVCnTuLqDaZS91dKGTkSTj9dCUVE/HXddTB6NBw86HckxfNj9ldKCATsVrUq/Oc/\nEJpAlp1tNxGRRGrbFho1grfeSu5ZqOr+ikF+fjipiIj4ZcQI+7E7ebL336XuLxGRNNenj62Z+/Zb\nvyMpmpJKDNTdJSLJIBWKTKr7S0QkhcydC7feCkuWQAUPz+Dq/hIRyQDZ2bBrFyxa5Hck0SmpiIik\nkGQvMqnuLxGRFLN+PbRvDxs2eFdkUt1fIiIZonlzu67TtGl+R3I4JRURkRSUm2tXhUw26v4SEUlB\ne/dC06Ywfz4ce2z8P1/dXyIiGeSII6BvX6sHlkzUUhERSVGffAK//CV8/jlUqhTfz1ZLRUQkw7Rt\nC0cfDW+/7XckYUoqIiIpLNkG7NX9JSKSwrZvh6wsWLsWGjSI3+eq+0tEJAPVqwfduiVPkUklFRGR\nFJeXZ11gydApo6QiIpLisrNh505YvNjvSJRURERSXqjIZDIM2GugXkQkDcS7yKQG6kVEMljz5nD6\n6f4XmVRSERFJE3l5/l9nRd1fIiJpIp5FJtX9JSKS4UJFJseM8S8GtVRERNJIvIpMqqUiIiK0bQtH\nHeVfkUk/kkoz4B3gU2A5MNhtrw/MAVYBbwL1It5zF7AaWAlcHLG9I7DMvfakp1GLiKQIPwfs/ej+\nauxuS4BawMfA5cB1wFbgMWAIcCRwJ9AamAicATQB3gJaAUFgPnCTu38DeAqYVej71P0lIhnlu+9s\noL48RSZTqftrE5ZQAL4H/osli+7AWLd9LJZoAHoAk4D9wDpgDdAJ+BlQG0soAOMi3iMikrGOPNKK\nTE6cmPjv9ntMJQtoD8wDGgGb3fbN7jnAMcCGiPdswJJQ4e0b3XYRkYyXm+tPF5ifSaUW8CpwM7Cr\n0GtBdxMRkTLo2tWutbJoUWK/t3Jiv+4nVbCE8hIw3W3bjI21bMK6tra47Ruxwf2QplgLZaN7HLl9\nY7Qvy8/P/+lxdnY22dnZ5QxfRCS5hYpMvvgidOhQ8v6BQIBAIFDu7/VjoL4CNmbyLXBrxPbH3LZH\nsQH6ehw6UH8m4YH6llhLZh42e2w+8C80UC8i8pPyFJlMpYH6s4FrgK7AYnfLAR4BLsKmFJ/vngOs\nAF5x9zOBQYS7xgYBL2BTitdweEIREclYoSKT06eXvG+8aEW9iEgamzwZRo6Et94q3fvK2lJRUhER\nSWN790KTJrBwIWRlxf6+VOr+EhGRBEl0kUm1VERE0tySJdCjB3z2WexFJtVSERGRqNq1g4YNYe5c\n779LSUVEJAPk5sKoUd5/j7q/REQyQKjI5GefQf36Je+v7i8RESnSkUfCpZd6X2RSSUVEJEPk5Xnf\nBaakIiKSIbp2tW6wxYu9+w4lFRGRDBEqMulla0UD9SIiGeSLL6BjRysyWa1a0ftpoF5ERErUooWV\nwp82zZvPV1IREckweXneXRVS3V8iIhlmzx5o2rT4IpPq/hIRkZhUqwZ9+nhTZFItFRGRDBQqMvn5\n5zYrrDC1VEREJGbt2kGDBvD22/H9XCUVEZEM5cWAvbq/REQyVHFFJtX9JSIipeJFkUklFRGRDJab\nG98uMCUVEZEMdv75sG1b/IpMKqmIiGSwUJHJeLVWNFAvIpLhohWZ1EC9iIiUSajI5PTp5f8sJRUR\nEYnbgL26v0RE5Kcikx9/bC0XdX+JiEiZxavIZDoklRxgJbAaGOJzLCIiKSs3F0aPhoKCsn9GqieV\nSsAzWGJpDfQBTvY1oiQWCAT8DiFp6FiE6ViEZfqxaN/eyrXMnVv2z0j1pHImsAZYB+wHXgZ6+BlQ\nMsv0fzCRdCzCdCzCdCystTJqVNnfn+pJpQnwZcTzDW6biIiUQd++MHNm2d+f6klF07pEROKofn24\n5JKyvz/VpxR3BvKxMRWAu4AC4NGIfdYAxyc2LBGRVHc8sDbVc0SpVQbWAllAVWAJGqgXEZFyuAT4\nH9YiucvnWERERERERA4VyyLIp9zrnwDtExSXH0o6Fv2wY7AUeB84LXGhJVysi2PPAA4AVyQiKJ/E\nciyygcXAciCQkKj8UdKxaAjMwrrUlwMDExZZYr0IbAaWFbNPppw3D1EJ6/7KAqoQfWzlUuAN97gT\n8FGigkuwWI7FWUBd9ziHzD4Wof3mAq8DVyYquASL5VjUAz4FmrrnDRMVXILFcizygT+5xw2Bb7Ex\n3HTTBUsURSWVUp83U31KcUgsiyC7A2Pd43nYP6BGCYovkWI5Fh8CO9zjeYRPIukm1sWxvwOmAN8k\nLLLEi+VY9AVexdZ7AWxNVHAJFsux+Bqo4x7XwZLKgQTFl0j/Ab4r5vVSnzfTJanEsggy2j7peDIt\n7YLQPMK/RNJNrP9f9ABGuOfpuvYplmPRCqgPvAMsBPonJrSEi+VYjAROAb7Cun1uTkxoSafU5810\nac7FeiIoPOc6HU8gpfmbugK5wNkexeK3WI7FX4E73b4VSP21W0WJ5VhUAToAFwA1sBbtR1h/ejqJ\n5VjcjXWLZWMLNuYAbYFd3oWVtEp13kyXpLIRaBbxvBnhJnxR+zR129JNLMcCbHB+JDamUlzzN5XF\nciw6Yt0fYH3nl2BdIjM8jy6xYjkWX2JdXj+627+xE2m6JZVYjsXPgYfc47XA58CJWAsuk2TKefMw\nsSyCjBxw6kz6Dk7HciyaY33KnRMaWeKVdnHsaNJ39lcsx+Ik4C1sILsGNnjbOnEhJkwsx+IvwDD3\nuBGWdOonKL5EyyK2gfp0Pm9GFW0R5G/cLeQZ9/onWDM/XZV0LF7ABh4Xu9v8RAeYQLH8fxGSzkkF\nYjsWt2MzwJYBgxMaXWKVdCwaAq9h54pl2CSGdDQJGzfah7VUc8nc86aIiIiIiIiIiIiIiIiIiIiI\niIiIiIiISDI5iK37WQa8AlTHViO/g639WM7haz86A88D52FFPhcDK4D73OsN3Pt3AU97G76IiCST\nyLpQ44FbgcZAO7etFrbgLnL19v3Ar7Ck8prbVgNYhZUkr4HVZvsNSiqSAtKlSrFIsnkPaAlswsqA\nAHwP/Bc4JmK/87HSKJFF+3YDH7v378YupLbX43hF4kJJRST+KmNlQJYW2p6FtT7muecNseKVhSvf\nNsC6xZZHbEvHitqShtKlSrFIMqiOjYmAVfgdFfFaLexCYDdjLRaAi4HZEft0ARYBBdhVB//rZbAi\nXlBSEYmfH4l+De8q2BUVxwPTI7bnAMMjnv8H+KVn0YkkgLq/RLxVAWuxrMAuCBa5/TSs8musnyOS\n9NRSEYmfaOMeZwPXYOMroa6xu4FvIp6H3lvUuMk6oDZ27Y8eWLfZyvKHKyIi6eIeoKffQYiIiIiI\niIiIiIiIiIiIiIiIiIiIiIiIiIiIJKP/B5SqERgs/7VDAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x104489650>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x1045fb150>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The critical pressure is 26.842561 atm\n",
+ " The critical velocity is 323.738941 m/sec\n",
+ " The critical specific volume is 0.028541 cubic meter/Kg\n",
+ " The critical mass velocity is 11343.108938 Kg/sq meter sec\n",
+ " Mass rate of flow through nozzle is 0.890886 Kg/sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4 Page No : 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Given\n",
+ "A1 = 0.1;#Inlet area in sq meter\n",
+ "u1 = 60.0;#inlet velocity in m/sec\n",
+ "v1 = 0.185;#inlet specific volume in cubic meter/Kg\n",
+ "H1 = 715.0;#inlet enthalpy in Kcal/Kg\n",
+ "H2 = 660.0;#exit enthalpy in Kcal/Kg\n",
+ "v2 = 0.495;#exit specific volume in cubic meter/Kg\n",
+ "g = 9.81\n",
+ "\n",
+ "#To calculate the area at exit of nozzle and hence decide the type of the nozzle\n",
+ "#From the first law\n",
+ "u2 = ((u1**2)-(2*g*(H2-H1)*427))**(1/2);\n",
+ "W = (u1*A1)/v1;#Mass rate of gas in Kg/sec\n",
+ "A2 = (W*v2)/u2;#Area at exit of nozzle\n",
+ "if(A2 < A1):\n",
+ " print \"The nozzle is convergent\";\n",
+ "else:\n",
+ " print \"The nozzle is divergent\";\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The nozzle is divergent\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TaVSN2_1.png b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TaVSN2_1.png
new file mode 100644
index 00000000..28a93a9b
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TaVSN2_1.png
Binary files differ
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TempVSMoleFraction13_1.png b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TempVSMoleFraction13_1.png
new file mode 100644
index 00000000..985a29d9
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/TempVSMoleFraction13_1.png
Binary files differ
diff --git a/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/Tempvsequlibrum14_1.png b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/Tempvsequlibrum14_1.png
new file mode 100644
index 00000000..15011455
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics___by_S._Sundaram/screenshots/Tempvsequlibrum14_1.png
Binary files differ