summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhardythe12015-04-07 16:03:32 +0530
committerhardythe12015-04-07 16:03:32 +0530
commitcb2e12cd79d48ebbf281b9b118fd51f532f960f5 (patch)
tree45fe0db1bd1a6c81305a0369c5808456fdccde52
parentc7fe425ef3c5e8804f2f5de3d8fffedf5e2f1131 (diff)
parent0ee873700378b995b441b1be6652178f741aea5b (diff)
downloadPython-Textbook-Companions-cb2e12cd79d48ebbf281b9b118fd51f532f960f5.tar.gz
Python-Textbook-Companions-cb2e12cd79d48ebbf281b9b118fd51f532f960f5.tar.bz2
Python-Textbook-Companions-cb2e12cd79d48ebbf281b9b118fd51f532f960f5.zip
add/modify/remove book
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter1.ipynb2
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter11.ipynb2
-rwxr-xr-xA_Textbook_Of_Chemical_Engineering_Thermodynamics/ch7.ipynb2
-rwxr-xr-xA_Textbook_Of_Chemical_Engineering_Thermodynamics/ch8.ipynb2
-rwxr-xr-xAntennas_and_Wave_Propagation/chapter15.ipynb4
-rwxr-xr-xBasic_Electrical_Engineering/Chapter4.ipynb2
-rwxr-xr-xBasic_Electronics_and_Linear_Circuits/ch14_1.ipynb2
-rwxr-xr-xBasic_Fluid_Mechanics/ch10.ipynb2
-rwxr-xr-xBasic_Fluid_Mechanics/ch12.ipynb2
-rwxr-xr-xBasic_Fluid_Mechanics/ch14.ipynb2
-rwxr-xr-xBasic_Principles_And_Calculations_In_Chemical_Engineering/ch20.ipynb2
-rwxr-xr-xBasic_Principles_And_Calculations_In_Chemical_Engineering/ch23.ipynb2
-rwxr-xr-xChemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_10.ipynb2
-rwxr-xr-xChemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_13.ipynb4
-rwxr-xr-xChemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_4.ipynb2
-rwxr-xr-xChemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_8.ipynb2
-rwxr-xr-xChemical_Engineering_Thermodynamics/ch11.ipynb2
-rwxr-xr-xChemical_Engineering_Thermodynamics/ch12.ipynb6
-rwxr-xr-xChemical_Engineering_Thermodynamics/ch14.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch11.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch14.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch18.ipynb6
-rwxr-xr-xChemical_Reaction_Engineering/ch19.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch21.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch22.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch3.ipynb4
-rwxr-xr-xChemical_Reaction_Engineering/ch5.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch6.ipynb2
-rwxr-xr-xChemical_Reaction_Engineering/ch9.ipynb2
-rwxr-xr-xChemistry/.ipynb_checkpoints/Chapter_13-checkpoint.ipynb412
-rwxr-xr-xChemistry/Chapter_1.ipynb310
-rwxr-xr-xChemistry/Chapter_11.ipynb226
-rwxr-xr-xChemistry/Chapter_12.ipynb446
-rwxr-xr-xChemistry/Chapter_13.ipynb412
-rwxr-xr-xChemistry/Chapter_14.ipynb359
-rwxr-xr-xChemistry/Chapter_15.ipynb472
-rwxr-xr-xChemistry/Chapter_16.ipynb584
-rwxr-xr-xChemistry/Chapter_17.ipynb92
-rwxr-xr-xChemistry/Chapter_18.ipynb284
-rwxr-xr-xChemistry/Chapter_19.ipynb267
-rwxr-xr-xChemistry/Chapter_23.ipynb66
-rwxr-xr-xChemistry/Chapter_3.ipynb676
-rwxr-xr-xChemistry/Chapter_4.ipynb290
-rwxr-xr-xChemistry/Chapter_5.ipynb768
-rwxr-xr-xChemistry/Chapter_6.ipynb422
-rwxr-xr-xChemistry/Chapter_7.ipynb312
-rwxr-xr-xChemistry/Chapter_9.ipynb130
-rwxr-xr-xChemistry/README.txt10
-rwxr-xr-xChemistry/screenshots/screen1.pngbin27793 -> 0 bytes
-rwxr-xr-xChemistry/screenshots/screen2.pngbin26067 -> 0 bytes
-rwxr-xr-xChemistry/screenshots/screen3.pngbin15079 -> 0 bytes
-rwxr-xr-xConcepts_Of_Modern_Physics/Chapter_3.ipynb2
-rwxr-xr-xELECTRIC_MACHINERY/.ipynb_checkpoints/chapter10-checkpoint.ipynb364
-rwxr-xr-xELECTRIC_MACHINERY/.ipynb_checkpoints/chapter3-checkpoint.ipynb460
-rwxr-xr-xELECTRIC_MACHINERY/.ipynb_checkpoints/chapter5-checkpoint.ipynb609
-rwxr-xr-xELECTRIC_MACHINERY/chapter8.ipynb3
-rwxr-xr-xElectrical_Circuit_Theory_And_Technology/chapter_13.ipynb2
-rwxr-xr-xElectrical_Circuit_Theory_And_Technology/chapter_17.ipynb4
-rwxr-xr-xElectrical_Circuit_Theory_And_Technology/chapter_38.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter13.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter14.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter15.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter16.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter17.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter2.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter3.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter4.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter5.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter6.ipynb2
-rwxr-xr-xElectronic_Devices/Chapter7.ipynb2
-rwxr-xr-xElectronic_Principles/Chapter_14_New.ipynb2
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter2.ipynb4
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch2.ipynb2
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch3.ipynb2
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch5.ipynb2
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch6.ipynb2
-rwxr-xr-xElements_of_Physical_Chemistry/Chapter10.ipynb2
-rwxr-xr-xElements_of_Physical_Chemistry/Chapter6.ipynb2
-rwxr-xr-xEngineering_&_Chemical_Thermodynamics/ch6.ipynb6
-rwxr-xr-xEngineering_&_Chemical_Thermodynamics/ch8.ipynb4
-rwxr-xr-xEngineering_&_Chemical_Thermodynamics/ch9.ipynb2
-rwxr-xr-xEngineering_Heat_Transfer/CHAPTER1.ipynb2
-rwxr-xr-xEngineering_Heat_Transfer/CHAPTER10.ipynb2
-rwxr-xr-xEngineering_Heat_Transfer/CHAPTER2.ipynb2
-rwxr-xr-xEngineering_Heat_Transfer/CHAPTER4.ipynb2
-rwxr-xr-xEngineering_Heat_Transfer/CHAPTER6.ipynb4
-rwxr-xr-xEngineering_Heat_Transfer/CHAPTER7.ipynb4
-rwxr-xr-xEngineering_Heat_Transfer/CHAPTER_3.ipynb2
-rwxr-xr-xEngineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb4
-rwxr-xr-xEngineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb2
-rwxr-xr-xEngineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb6
-rwxr-xr-xFluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb2
-rwxr-xr-xFluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb4
-rwxr-xr-xFluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb2
-rwxr-xr-xFluidization_Engineering/ch10.ipynb4
-rwxr-xr-xFluidization_Engineering/ch11.ipynb2
-rwxr-xr-xFluidization_Engineering/ch14.ipynb2
-rwxr-xr-xFundamental_of_Electronics_Devices/Ch6.ipynb2
-rwxr-xr-xFundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11.ipynb2
-rwxr-xr-xFundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14.ipynb2
-rwxr-xr-xFundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2.ipynb2
-rwxr-xr-xFundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3.ipynb2
-rwxr-xr-xFundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8.ipynb2
-rwxr-xr-xFundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9.ipynb2
-rwxr-xr-xFundamentals_of_Electric_Drives_and_Control/Chapter_5.ipynb4
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/Ch_2.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/Ch_5.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/Ch_6.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/Ch_7.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/Ch_8.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/Ch_9.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/ch_1.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/ch_10.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/ch_11.ipynb2
-rwxr-xr-xFundamentals_of_Fluid_Mechanics/ch_3.ipynb2
-rwxr-xr-xFundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb2
-rwxr-xr-xFundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb4
-rwxr-xr-xFundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb6
-rwxr-xr-xIndustrial_Instrumentation/ch4.ipynb2
-rwxr-xr-xIndustrial_Instrumentation/ch5.ipynb6
-rwxr-xr-xIntroduction_To_Chemical_Engineering/ch1.ipynb2
-rwxr-xr-xIntroduction_To_Chemical_Engineering/ch6.ipynb4
-rwxr-xr-xIntroduction_To_Chemical_Engineering/ch7.ipynb2
-rwxr-xr-xLinear_Integrated_Circuits/Chapter_4.ipynb2
-rwxr-xr-xLinear_Integrated_Circuits/Chapter_6.ipynb2
-rwxr-xr-xMaterial_Science_In_Engineering/ch7.ipynb4
-rwxr-xr-xMechanics_Of_Fluids/ch14.ipynb2
-rwxr-xr-xMechanics_Of_Fluids/ch3.ipynb2
-rwxr-xr-xMechanics_of_Materials/chapter8.ipynb2
-rwxr-xr-xOptical_Fiber_Communications_Principles_and_Practice/Chapter_12.ipynb2
-rwxr-xr-xPhysical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch11.ipynb2
-rwxr-xr-xPhysical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch4.ipynb2
-rwxr-xr-xPrinciples_of_Power_System/chapter3.ipynb10
-rwxr-xr-xProblems_In_Fluid_Flow/ch10.ipynb2
-rwxr-xr-xProblems_In_Fluid_Flow/ch4.ipynb2
-rwxr-xr-xProblems_In_Fluid_Flow/ch6.ipynb2
-rwxr-xr-xProgramming_in_C_using_ANSI_C/KamthaneChapter15.ipynb756
-rwxr-xr-xProgramming_with_ANSI_and_Turbo_C/Chapter_15.ipynb2
-rwxr-xr-xStoichiometry_And_Process_Calculations/ch11.ipynb2
-rwxr-xr-xStoichiometry_And_Process_Calculations/ch6.ipynb4
-rwxr-xr-xStoichiometry_And_Process_Calculations/ch7.ipynb4
-rwxr-xr-xStoichiometry_And_Process_Calculations/ch8.ipynb2
-rwxr-xr-xTextbook_of_Engineering_Chemistry/dChapter_3.ipynb2
-rwxr-xr-xTheory_Of_Machines/ch2.ipynb2
-rwxr-xr-xTransport_Phenomena:_A_Unified_Approach/ch14.ipynb2
-rwxr-xr-xTransport_Phenomena:_A_Unified_Approach/ch15.ipynb2
-rwxr-xr-xTransport_Phenomena:_A_Unified_Approach/ch6.ipynb2
147 files changed, 2345 insertions, 6691 deletions
diff --git a/A_Heat_Transfer_Text_Book/Chapter1.ipynb b/A_Heat_Transfer_Text_Book/Chapter1.ipynb
index 9c3e159f..9deb4499 100755
--- a/A_Heat_Transfer_Text_Book/Chapter1.ipynb
+++ b/A_Heat_Transfer_Text_Book/Chapter1.ipynb
@@ -182,7 +182,7 @@
"from numpy import linspace\n",
"import matplotlib.pyplot as plt\n",
"from pylab import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"#Variables\n",
"h=250; #Heat Transfer Coefficient, W/(m**2*K)\n",
diff --git a/A_Heat_Transfer_Text_Book/Chapter11.ipynb b/A_Heat_Transfer_Text_Book/Chapter11.ipynb
index e723954c..9cd5d92a 100755
--- a/A_Heat_Transfer_Text_Book/Chapter11.ipynb
+++ b/A_Heat_Transfer_Text_Book/Chapter11.ipynb
@@ -282,7 +282,7 @@
"import math\n",
"from numpy import array\n",
"import matplotlib.pyplot as plt\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"#Variables\n",
"Patm=101.325;\t\t\t#Atmospheric pressure in kPa.\n",
diff --git a/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch7.ipynb b/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch7.ipynb
index 9c3402d5..8ce623fc 100755
--- a/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch7.ipynb
+++ b/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch7.ipynb
@@ -358,7 +358,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\t\t\t\n",
+ "%matplotlib inline\t\t\t\n",
" \n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
diff --git a/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch8.ipynb b/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch8.ipynb
index 18de8e63..b3d97cf2 100755
--- a/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch8.ipynb
+++ b/A_Textbook_Of_Chemical_Engineering_Thermodynamics/ch8.ipynb
@@ -261,7 +261,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"# Variables\n",
"P = 101.3; \t\t\t#total pressure over the system (kPa)\n",
diff --git a/Antennas_and_Wave_Propagation/chapter15.ipynb b/Antennas_and_Wave_Propagation/chapter15.ipynb
index 223fe26f..c83a14c3 100755
--- a/Antennas_and_Wave_Propagation/chapter15.ipynb
+++ b/Antennas_and_Wave_Propagation/chapter15.ipynb
@@ -71,7 +71,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import numpy as np\n",
"from math import pi, sin, sqrt, radians\n",
"from pylab import *\n",
@@ -160,7 +160,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from math import pi,acos,sqrt,log10,atan\n",
"import cmath\n",
"import numpy as np\n",
diff --git a/Basic_Electrical_Engineering/Chapter4.ipynb b/Basic_Electrical_Engineering/Chapter4.ipynb
index 74af3cd5..6def9050 100755
--- a/Basic_Electrical_Engineering/Chapter4.ipynb
+++ b/Basic_Electrical_Engineering/Chapter4.ipynb
@@ -439,7 +439,7 @@
"from pylab import *\n",
"from matplotlib import *\n",
"import numpy as np\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"\n",
"#Variable declaration:\n",
diff --git a/Basic_Electronics_and_Linear_Circuits/ch14_1.ipynb b/Basic_Electronics_and_Linear_Circuits/ch14_1.ipynb
index a36cd2dc..593260ef 100755
--- a/Basic_Electronics_and_Linear_Circuits/ch14_1.ipynb
+++ b/Basic_Electronics_and_Linear_Circuits/ch14_1.ipynb
@@ -207,7 +207,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Basic_Fluid_Mechanics/ch10.ipynb b/Basic_Fluid_Mechanics/ch10.ipynb
index 805fdf34..1d181085 100755
--- a/Basic_Fluid_Mechanics/ch10.ipynb
+++ b/Basic_Fluid_Mechanics/ch10.ipynb
@@ -94,7 +94,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
"\t\n",
diff --git a/Basic_Fluid_Mechanics/ch12.ipynb b/Basic_Fluid_Mechanics/ch12.ipynb
index 61bd9af9..5e80d06f 100755
--- a/Basic_Fluid_Mechanics/ch12.ipynb
+++ b/Basic_Fluid_Mechanics/ch12.ipynb
@@ -28,7 +28,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from matplotlib.pyplot import *\n",
"import math \n",
"\t\n",
diff --git a/Basic_Fluid_Mechanics/ch14.ipynb b/Basic_Fluid_Mechanics/ch14.ipynb
index 9cfe7a00..72cb3e95 100755
--- a/Basic_Fluid_Mechanics/ch14.ipynb
+++ b/Basic_Fluid_Mechanics/ch14.ipynb
@@ -28,7 +28,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math \n",
"from matplotlib.pyplot import *\n",
"\t\n",
diff --git a/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch20.ipynb b/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch20.ipynb
index 2a777cf6..f9b23395 100755
--- a/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch20.ipynb
+++ b/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch20.ipynb
@@ -29,7 +29,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib import pyplot as plt\n",
"\n",
diff --git a/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch23.ipynb b/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch23.ipynb
index 78279b16..b535473d 100755
--- a/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch23.ipynb
+++ b/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch23.ipynb
@@ -30,7 +30,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from matplotlib.pyplot import *\n",
"\n",
"# Variables\n",
diff --git a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_10.ipynb b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_10.ipynb
index c72a5f6c..03433e9c 100755
--- a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_10.ipynb
+++ b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_10.ipynb
@@ -77,7 +77,7 @@
"input": [
"#Variable declaration\n",
"import numpy as np\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"th=np.array([0,0,3,7,22,32,46,55,80,106]) #Time in hours\n",
"tm=np.array([0,26,5,36,16,38,50,25,22,25]) #Time in min\n",
"tim=[0]*10\n",
diff --git a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_13.ipynb b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_13.ipynb
index 12141327..56bf6292 100755
--- a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_13.ipynb
+++ b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_13.ipynb
@@ -491,7 +491,7 @@
"Hf=np.array([57.7,65,98,137,190,265,355])\n",
"Hf_Hg=Hf-Hg\n",
"one_Hf_Hg=1.0/(Hf_Hg)\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"plot(Hg,one_Hf_Hg)\n",
"ylabel(\"1/(Hf-Hg)\")\n",
"xlabel(\"Hg(kJ/kg)\")\n",
@@ -590,7 +590,7 @@
" Hf[i]=(1/(1+Ho[i]))*Cp_dry*(T[i]-273.0)+Ho[i]*(Cl*(T[i]-273.0)+lamda)\n",
" Hf_dash[i]=Cp_dry*(T[i]-273.27)/(1+Ho[i])+Ho[i]*(Cl*(T[i]-273.0)+lamda_dash)\n",
" print T[i],\"\\t\",round(Ho[i],4),\"\\t\",round(Hf[i],2),\"\\t\",round(Hf_dash[i],2)\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"plot(T,Hf)\n",
"plot(T,Hf_dash)\n",
"xlim(285,340)\n",
diff --git a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_4.ipynb b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_4.ipynb
index 98b6e823..97558594 100755
--- a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_4.ipynb
+++ b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_4.ipynb
@@ -39,7 +39,7 @@
"\n",
"#Calculatiom\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import numpy as np\n",
"import math\n",
"G=[0]*13\n",
diff --git a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_8.ipynb b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_8.ipynb
index 674da5bb..101ddd2d 100755
--- a/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_8.ipynb
+++ b/Chemical_Engineering-Fluid_Flow,Heat_Transfer_And_Mass_Transfer_Vol-1_/Chapter_8.ipynb
@@ -397,7 +397,7 @@
"collapsed": false,
"input": [
"#Variable declaration\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"eta=0.50 \n",
"Q=[0.0028,0.0039,0.0050,0.0056,0.0059]\n",
"h=[23.2,21.3,18.9,15.2,11.0]\n",
diff --git a/Chemical_Engineering_Thermodynamics/ch11.ipynb b/Chemical_Engineering_Thermodynamics/ch11.ipynb
index 12fd9bac..9c8a35bf 100755
--- a/Chemical_Engineering_Thermodynamics/ch11.ipynb
+++ b/Chemical_Engineering_Thermodynamics/ch11.ipynb
@@ -28,7 +28,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math \n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
diff --git a/Chemical_Engineering_Thermodynamics/ch12.ipynb b/Chemical_Engineering_Thermodynamics/ch12.ipynb
index 1834cdf1..fe626468 100755
--- a/Chemical_Engineering_Thermodynamics/ch12.ipynb
+++ b/Chemical_Engineering_Thermodynamics/ch12.ipynb
@@ -28,7 +28,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math \n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
@@ -473,7 +473,7 @@
"input": [
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"# Variables\n",
"P = [350.00,446.00,518.00,574.50,609.00,632.50,665.00,681.50,691.50]\n",
"x1 = [0.0550,0.1290,0.2120,0.3130,0.4300,0.5200,0.6380,0.7490,0.8720]\n",
@@ -580,7 +580,7 @@
"input": [
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"# Variables\n",
"\n",
"P = 760.\t\t\t #pressure of the system in Torr\n",
diff --git a/Chemical_Engineering_Thermodynamics/ch14.ipynb b/Chemical_Engineering_Thermodynamics/ch14.ipynb
index fde836b1..e54d6be2 100755
--- a/Chemical_Engineering_Thermodynamics/ch14.ipynb
+++ b/Chemical_Engineering_Thermodynamics/ch14.ipynb
@@ -482,7 +482,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"from sympy import Symbol\n",
diff --git a/Chemical_Reaction_Engineering/ch11.ipynb b/Chemical_Reaction_Engineering/ch11.ipynb
index e716f90a..737bc733 100755
--- a/Chemical_Reaction_Engineering/ch11.ipynb
+++ b/Chemical_Reaction_Engineering/ch11.ipynb
@@ -28,7 +28,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
diff --git a/Chemical_Reaction_Engineering/ch14.ipynb b/Chemical_Reaction_Engineering/ch14.ipynb
index 5eb6f664..cca681a6 100755
--- a/Chemical_Reaction_Engineering/ch14.ipynb
+++ b/Chemical_Reaction_Engineering/ch14.ipynb
@@ -162,7 +162,7 @@
"input": [
"\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"import math \n",
diff --git a/Chemical_Reaction_Engineering/ch18.ipynb b/Chemical_Reaction_Engineering/ch18.ipynb
index 9efd8f19..ca1fa2ec 100755
--- a/Chemical_Reaction_Engineering/ch18.ipynb
+++ b/Chemical_Reaction_Engineering/ch18.ipynb
@@ -115,7 +115,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"from numpy import *\n",
@@ -202,7 +202,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from numpy import zeros\n",
"from scipy import stats\n",
"\n",
@@ -337,7 +337,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from matplotlib.pyplot import *\n",
diff --git a/Chemical_Reaction_Engineering/ch19.ipynb b/Chemical_Reaction_Engineering/ch19.ipynb
index 419b424a..312fef16 100755
--- a/Chemical_Reaction_Engineering/ch19.ipynb
+++ b/Chemical_Reaction_Engineering/ch19.ipynb
@@ -28,7 +28,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Chemical_Reaction_Engineering/ch21.ipynb b/Chemical_Reaction_Engineering/ch21.ipynb
index 2126aaf8..2ca9ab81 100755
--- a/Chemical_Reaction_Engineering/ch21.ipynb
+++ b/Chemical_Reaction_Engineering/ch21.ipynb
@@ -27,7 +27,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from numpy import *\n",
diff --git a/Chemical_Reaction_Engineering/ch22.ipynb b/Chemical_Reaction_Engineering/ch22.ipynb
index 06928688..ee78ccfc 100755
--- a/Chemical_Reaction_Engineering/ch22.ipynb
+++ b/Chemical_Reaction_Engineering/ch22.ipynb
@@ -94,7 +94,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from matplotlib.pyplot import *\n",
diff --git a/Chemical_Reaction_Engineering/ch3.ipynb b/Chemical_Reaction_Engineering/ch3.ipynb
index 3af6a19a..4dda3df4 100755
--- a/Chemical_Reaction_Engineering/ch3.ipynb
+++ b/Chemical_Reaction_Engineering/ch3.ipynb
@@ -28,7 +28,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from numpy import *\n",
@@ -117,7 +117,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math\n",
"# Variables\n",
diff --git a/Chemical_Reaction_Engineering/ch5.ipynb b/Chemical_Reaction_Engineering/ch5.ipynb
index 24a0856c..2801cf57 100755
--- a/Chemical_Reaction_Engineering/ch5.ipynb
+++ b/Chemical_Reaction_Engineering/ch5.ipynb
@@ -81,7 +81,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from numpy import *\n",
diff --git a/Chemical_Reaction_Engineering/ch6.ipynb b/Chemical_Reaction_Engineering/ch6.ipynb
index 27577e4f..08544933 100755
--- a/Chemical_Reaction_Engineering/ch6.ipynb
+++ b/Chemical_Reaction_Engineering/ch6.ipynb
@@ -113,7 +113,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from numpy import *\n",
diff --git a/Chemical_Reaction_Engineering/ch9.ipynb b/Chemical_Reaction_Engineering/ch9.ipynb
index 681066e0..17320691 100755
--- a/Chemical_Reaction_Engineering/ch9.ipynb
+++ b/Chemical_Reaction_Engineering/ch9.ipynb
@@ -79,7 +79,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from matplotlib.pyplot import *\n",
diff --git a/Chemistry/.ipynb_checkpoints/Chapter_13-checkpoint.ipynb b/Chemistry/.ipynb_checkpoints/Chapter_13-checkpoint.ipynb
deleted file mode 100755
index aea83030..00000000
--- a/Chemistry/.ipynb_checkpoints/Chapter_13-checkpoint.ipynb
+++ /dev/null
@@ -1,412 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:895c072b6753209785681491473fcfce8d9e8b03552e6c5bac0de19645eb5d94"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 13:Chemical Kinetics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.2,Page no:564"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "dO2=-0.024 #rate of reaction of O2, M/s\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "dN2O5=-2*dO2 #rate of formation of N2O5, M/s\n",
- "#(b)\n",
- "dNO2=4*dO2 #rate of reaction of NO2, M/s\n",
- "\n",
- "#Result\n",
- "print\"(a).The rate of formation of N2O5 is :\",dN2O5,\"M/s\"\n",
- "print\"(b).The rate of reaction of NO2 is :\",dNO2,\"M/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a).The rate of formation of N2O5 is : 0.048 M/s\n",
- "(b).The rate of reaction of NO2 is : -0.096 M/s\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.3,Page no:568"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "NO1=5*10**-3 #conc of NO from 1st experiment, M\n",
- "H21=2*10**-3 #conc of H2 from 1st experiment, M\n",
- "r1=1.3*10**-5 #initial rate from 1st experiment, M/s\n",
- "NO2=10*10**-3 #conc of NO from 2nd experiment, M\n",
- "H22=2*10**-3 #conc of H2 from 2nd experiment, M\n",
- "r2=5*10**-5 #initial rate from 1st experiment, M/s\n",
- "NO3=10*10**-3 #conc of NO from 3rd experiment, M\n",
- "H23=4*10**-3 #conc of H2 from 3rd experiment, M\n",
- "r3=10*10**-5 #initial rate from 3rd experiment, M/s\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "#(a)\n",
- "#r=k*NO**x*H2**y, dividing r2/r1 and r3/r2\n",
- "x=math.log(r2/r1)/math.log(NO2/NO1) #since H21=H22\n",
- "y=math.log(r3/r2)/math.log(H23/H22) #since NO3=NO2\n",
- "x=round(x) \n",
- "y=round(y) \n",
- "#(b)\n",
- "k=r2/((NO2)**x*H22**y) #rate constant, /M**2 s\n",
- "#(c)\n",
- "NO=12*10**-3 #conc of NO, M\n",
- "H2=6*10**-3 #conc of H2, M\n",
- "rate=k*(NO**x)*H2**y #rate, M/s\n",
- "\n",
- "#Result\n",
- "print\"(a) the rate of reaction is : r=k[NO]**\",x,\"*[H2]**\",y\n",
- "print\"(b) the rate constant of the reaction is :%.1e\"%k,\" /M**2 s\" \n",
- "print\"(c) the rate of reaction at given concentration is :%.1e\"%rate,\" M/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the rate of reaction is : r=k[NO]** 2.0 *[H2]** 1.0\n",
- "(b) the rate constant of the reaction is :2.5e+02 /M**2 s\n",
- "(c) the rate of reaction at given concentration is :2.2e-04 M/s\n"
- ]
- }
- ],
- "prompt_number": 72
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.4,Page no:571"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "t=8.8*60 #time, s\n",
- "k=6.7*10**-4 #rate constant, s-1\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "#(a)\n",
- "Ao1=0.25 #initial conc, M\n",
- "A1=math.exp(-k*t+math.log(Ao1)) #final conc, M\n",
- "#(b)\n",
- "A2=0.15 #initial conc, M\n",
- "Ao2=0.25 #final conc, M\n",
- "t2=-math.log(A2/Ao2)/(60*k) #time, min\n",
- "#(c)\n",
- "percent=74.0 \n",
- "#let initial conc be 1\n",
- "Ao3=1.0 #initial conc, M\n",
- "A3=1.0-percent/100.0 #final conc, M\n",
- "t3=-math.log(A3/Ao3)/(k*60.0) #time, min\n",
- "print\"(a) the concentration of cyclopropane at given time is :\",round(A1,2),\"M\"\n",
- "print\"(b) the time required is :\",round(t2),\"min\"\n",
- "print\"(c) the time required for required conversion is :%.1f\"%t3,\"min(approx)\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the concentration of cyclopropane at given time is : 0.18 M\n",
- "(b) the time required is : 13.0 min\n",
- "(c) the time required for required conversion is :33.5 min(approx)\n"
- ]
- }
- ],
- "prompt_number": 75
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.5,Page no:573"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "t=[0,100,150,200,250,300] #time(data given), s\n",
- "P=[284.0,220.0,193.0,170.0,150.0,132.0] #pressure(data given) in mmHg corresponding to time values\n",
- "lnP=[0,0,0,0,0,0]\n",
- "\n",
- "#Calculation\n",
- "import matplotlib.pyplot as plt\n",
- "import numpy as np\n",
- "from pylab import *\n",
- "%matplotlib inline\n",
- "lnP=np.log(P) #lnP values corresponding to P\n",
- "A=plot(t,lnP)\n",
- "plt.xlim(0,350)\n",
- "plt.ylim(4.8,5.8)\n",
- "plt.ylabel('$ln Pt$')\n",
- "plt.xlabel('$t(s)$')\n",
- "plt.title('Plot of ln Pt versus time for the decomposition of azomethane\\n')\n",
- "slope=np.polyfit(t,lnP,1)\n",
- "k=-slope[0]\n",
- "\n",
- "#Result\n",
- "show(A)\n",
- "print\"The rate constant for the decomposition is :%.2e\"%k,\"s**-1\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nnTp9+vTglJQUB4ZhBLq6ukVqamrSmra7mZlZblpamk1t2/Vd3sOanktNTU06ZsyY37755ptVxcXF\n2s+ePWu7ZcuWeePHj/+pIduguLhYW0tLq1RPT+/1y5cvDZYvX76Mm5aRkWE9ZsyY3w4dOjTBwcEh\npXp+ef3uTJs27d9LlixZzRX4/Px841OnTg0lavhvCae8vLxFeXl5CyMjowKhUFgVERExIDIy0r8h\nywqFwqqgoKDdc+fO3Zqfn29MxLaKNGR5pSkokydP3jthwoRDvXv3vmRnZ/dUJBJJuB40IpFI8s03\n36zq2bPnVX19/cLY2FiP6ssvXbp0ZdeuXW+5uLgkuLi4JHTt2vXW0qVLV3LT66vw1afL3q/vfJna\npjUkNxHR0KFDT6WkpDiYm5vnODs73+MeHz58+B+LFi1a9/HHHx/W09N77ezsfO/cuXMf1rbeoqIi\n3alTp/5oYGDw0sbGJs3IyKhg4cKFG4jY3l8tWrQoNzU1zZs0adI+2S9aXctVN2fOnG3Hjh0bbWBg\n8HLu3Llba9oW9W077r6ampr09OnTg+Pj493s7OyeGhsb50+dOvXH2v4nVP256vrM1LR9qnN0dEwe\nN27cr3Z2dk8NDAxecr285JV3x44ds4qLi7XNzMxyJ0+evFe2d5GOjo44MjLS//Dhwx9bWlpmmZub\n5yxevHgN10No48aNXzo7O9/r1q3bTUNDwxeLFy9eU1VVJWzfvv2jn376afzs2bO3Gxsb5585c2bQ\nn3/+OURdXb2yttdZ3/vRp0+fvx0cHFL69+9/fuHChRu4HnF1fadSUlIc/Pz8/tLR0RH36NHj2syZ\nM3dyvRplffTRR0eJ2OaVrl273qo+/V3ew9re1+3bt89u1apViZ2d3VNvb+/Ln3766c+TJk3aV99y\nRERz587dWlpaqmVkZFTQo0ePawMGDIjg5r9w4UK/58+fm4waNep3rqcX9z1929+dujLMmTNn29Ch\nQ0/5+/tH6urqFnl5eV3nfjNkf0sMDAxexsTEeNb1WdXR0RH/8MMPX4wZM+Y3AwODl7/++uu4YcOG\nnWxolnXr1i1ycHBI6d69+w2ud+CjR4/a1zb/f56TYXAeF0BzlJaWZmNnZ/e0srJS/V3O7QGoTmn2\nUAAAQLWhoAA0YxhqBuQJTV4AACAX2EMBAAC5QEEBAAC5QEEBAAC5QEEBAAC5QEEBAAC5QEEBAAC5\n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\n/vykZtWUPSQkJMTKyirT3d09zt3dPS4iImIAN02ZshMRZWRkWPft2zeqU6dOiZ07d77/ww8/fEGk\nOtu/tvyq8h6UlZVpenp6xri5ucU7OTklLV68eA2Ramz/2rLztu0VdfT/XW+VlZVq9vb2KampqTbl\n5eUarq6u8UlJSR35zlXfzcbGJvXFixcGso8tXLhw/bp1675iGIbWrl27aNGiRWv5zsndLl265H3n\nzh33zp0736svb2JiopOrq2t8eXm5Rmpqqo29vX2KVCoVKlP2kJCQZZs2bZpffV5ly84wDOXk5JjF\nxcW5MQxDYrFYu3379g+TkpI6qsr2ry2/Kr0HJSUlIoZhqKKiQt3T0/PG5cuXe6nK9q8pO1/bXun3\nUGJjYz0cHBxSbGxs0jQ0NCo+/vjjwydPnhzGd66GYKr1TDt16tTQwMDAA0REgYGBB/7444/h/CT7\nX97e3pf19fULZR+rLe/JkyeHjRs37lcNDY0KGxubNAcHh5TY2FgPPnIT1ZydqOaegcqWnYjIzMws\n183NLZ6ISFtbu7hjx44PsrKyLFVl+9eWn0h13gORSCQhIiovL28hlUrV9PX1C1Vl+9eUnYifba/0\nBSUrK8vS2to6g7tvZWWVyX1YlZlAIGD69+9/vmvXrrd2794dRMT2YDM1Nc0jIjI1Nc3Ly8sz5Tdl\n3WrLm52dbWFlZZXJzaes78n27dtnu7q63p0yZUoY11yh7NnT0tJs4uLi3D09PWNUcftz+bt3736D\nSHXeg6qqKqGbm1u8qalpHtd8pyrbv6bsRPxse6UvKDWN/aUKrl692jMuLs49IiJiwM6dO2devnzZ\nW3a6QCBgVOm11ZdX2V7L9OnTd6WmptrGx8e7mZub5yxYsGBTbfMqS/bi4mLtUaNG/b5t27Y5Ojo6\nYtlpqrD9i4uLtUePHn1s27Ztc7S1tYtV6T0QCoVV8fHxbpmZmVaXLl3qHRUV1Vd2ujJv/+rZo6Oj\nffja9kpfUCwtLbMyMjKsufsZGRnWshVWWZmbm+cQERkbG+ePGDHiRGxsrIepqWlebm6uGRFRTk6O\nuYmJyXN+U9attrzV35PMzEwrS0vLLL5y1sTExOQ59yPw+eef7+F265U1e0VFhcaoUaN+nzBhwqHh\nw4f/QaRa25/LP378+J+4/Kr2HhAR6enpvR40aNCZ27dvd1Gl7U/03+y3bt3qyte2V/qC0rVr11uP\nHz9ul5aWZlNeXt7iyJEjY4cOHXqK71x1kUgkIrFYrENEVFJS0ioyMtLf2dn53tChQ08dOHAgkIjo\nwIEDgdwXT1nVlnfo0KGnDh8+/HF5eXmL1NRU28ePH7fjerIpi5ycHHPu7xMnTozgeoApY3aGYQRT\npkwJc3JySpo7d+5W7nFV2f615VeV96CgoMCIaxIqLS3V+uuvv/zc3d3jVGH715adK4RECt72fPas\naOgtPDx8QPv27R/a29unrF69ejHfeeq7PX361NbV1TXe1dU1vlOnTve5zC9evDDo16/f+Xbt2j3y\n8/OLLCwsbM13Vu728ccf/2pubp6toaFRbmVllbF3795JdeVdtWrVEnt7+5QOHToknz179kNlyh4W\nFjZ5woQJB52dnRNcXFzuDhs27I/c3FxTZczOMAxdvny5l0AgqHJ1dY13c3OLc3Nzi4uIiAhQle1f\nU/7w8PABqvIeJCQkOLu7u99xdXWNd3Z2Tli/fv1Chqn7+6os+WvLzte2x4mNAAAgF0rf5AUAAKoB\nBQUAAOQCBQUAAOQCBQUAAOQCBQUAAOQCBQUAAOQCBQXgPbx586ZlTY+XlZVpKjoLAN9QUADe0enT\npwdzIyJUl5mZacVd1hqguUBBAWigBw8edFy9evUSInZYkaKiIl0jI6OCmuZ1cHBISUpKciotLdVS\nbEoA/qCgADRQVFRUX3d39zgion379k0aMWLEibrmHzRo0Jlff/11nGLSAfAPBQWgASIiIgaEhYVN\nyczMtMrNzTV7/vy5iZaWVik3/f79+50PHjz4WWhoaHBJSUkrIiJ7e/sn9+7dc+YvNYBioaAANMCA\nAQMiLCwssoOCgnabmZnlVj/ovnfv3smOjo7JLVu2fFNcXKzNPV5ZWamu+LQA/EBBAWiA3NxcMzMz\ns1zufkVFhYbs9PHjx/80f/78zcePHx/JXeWPiL2UgSJzAvAJBQWgAW7evNnNw8Mj9ubNm90kEolI\nTU1Nyk3766+//BISElyuXLnSq/pBeqFQWKX4tAD8QEEBaAALC4vsrKwsy+LiYm2RSCQRiUQSbpqJ\nicnzFi1alP/2229jxowZ8xv3OMMwguqX8gVoytC+C9AAXbp0ud2lS5fb3H0rK6vMwsJCfX19/UJX\nV9e7rq6ud6svk5CQ4OLp6Rmj2KQA/MEeCsA7CAoK2n306NGP6prnwoUL/T766KOjisoEwDcUFIB3\noKen97pjx44P0tPT29Q0PTExsVO/fv0u4BgKNCe4BDAAAMgF9lAAAEAuUFAAAEAuUFAAAEAuUFAA\nAEAuUFAAAEAuUFAAAEAuUFAAAEAuUFAAAEAu/g+t2fTWyjEZAgAAAABJRU5ErkJggg==\n",
- "text": [
- "<matplotlib.figure.Figure at 0x3f0c650>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate constant for the decomposition is :2.55e-03 s**-1\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.6,Page no:576"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "k=5.36*10**-4 #rate constant, s-1\n",
- "\n",
- "#Calculation\n",
- "t_half=0.693/(60*k) #half life of the reaction, min\n",
- "\n",
- "#Result\n",
- "print\"The half life for the decomposition of ethane is :\",round(t_half,1),\"min\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The half life for the decomposition of ethane is : 21.5 min\n"
- ]
- }
- ],
- "prompt_number": 77
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.7,Page no:578"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "k=7*10**9 #rate constant, M s\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "t=2*60 #half life of the reaction, s\n",
- "Ao1=0.086 \n",
- "A1=(k*t+1/Ao1)**-1 \n",
- "#(b)\n",
- "Ao2=0.6 \n",
- "t_half2=1/(Ao2*k) #half life of the reaction, s\n",
- "Ao3=0.42 \n",
- "t_half3=1/(Ao3*k) #half life of the reaction, s\n",
- "\n",
- "#Result\n",
- "print\"(a.)The concentration of I is :%.1e\"%A1,\"M\"\n",
- "print\"(b.)The half life for Io=0.6 is :%.1e\"%t_half2,\"s\"\n",
- "print\" The half life for Io=0.42 is :%.1e\"%t_half3,\"s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a.)The concentration of I is :1.2e-12 M\n",
- "(b.)The half life for Io=0.6 is :2.4e-10 s\n",
- " The half life for Io=0.42 is :3.4e-10 s\n"
- ]
- }
- ],
- "prompt_number": 79
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.8,Page no:584"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "T=[700.0,730.0,760.0,790.0,810.0] #temperature(data given), K\n",
- "R=8.314 #gas constant, kJ/mol\n",
- "k=[0.011,0.035,0.105,0.343,0.789] #rate constant(data given) in 1/M**1/2 s corresponding to temperature values\n",
- "import numpy\n",
- "#Calculation\n",
- "x=numpy.reciprocal(T) #1/T values corresponding to Temp values above, K-1\n",
- "x=numpy.round(x,5)\n",
- "import math\n",
- "\n",
- "from pylab import *\n",
- "%matplotlib inline\n",
- "lnk=numpy.log(k) #lnk values corresponding to k\n",
- "lnk[0]=numpy.round(lnk[0],2)\n",
- "lnk[1]=numpy.round(lnk[1],2)\n",
- "lnk[2]=numpy.round(lnk[2],3)\n",
- "lnk[3]=numpy.round(lnk[3],3)\n",
- "lnk[4]=numpy.round(lnk[4],3)\n",
- "A=plot(x,lnk,marker='o', linestyle='-')\n",
- "plt.xlim(1.2*10**-3,1.45*10**-3)\n",
- "plt.ylim(-5.0,0.0)\n",
- "plt.ylabel('$ln k$')\n",
- "plt.xlabel('$1/T(K^-1)$')\n",
- "plt.title('Plot of ln k versus 1/T\\n')\n",
- "slope=np.polyfit(x,lnk,1)\n",
- "Ea=-slope[0]*R #activation energy, kJ/mol\n",
- "\n",
- "#Result\n",
- "show(A)\n",
- "print\"The activation energy for the decomposition is :%.3e\"%(Ea/1000),\"kJ/mol\"\n",
- "print\"NOTE:Slope is approximately calculated in book,that's why wrong answer\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEjCAYAAAD31uwUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1cjff/B/DX6caplIooikVKFt3ozthyjCjG3Ixhw8zM\nd0OMzTa3bSvbDDPZppkZfpbNCFPuSebuFAmNEE2lWJObdF/n98f1ONZaqE7nXOfm9Xw8zmO6znV1\n3ufzuObt/flcn89HolAoQEREpAojsQMgIiLdx2RCREQqYzIhIiKVMZkQEZHKmEyIiEhlTCZERKQy\nJhNSG5lMlrBmzZqJmvisb7/99i17e/ubzZo1u1dQUGBb/b3MzExnIyOjqqqqqnrf7wkJCbK2bdtm\nNV6kRPqJyYRU4uzsnGlhYVFkZWV138HBIW/ChAlrHzx40BQAJBKJQiKRPHEikyp/2QNAeXm56axZ\ns5YeOHCgz71795rZ2toWNOT3GJpDhw717t279yEbG5s77du3v1bbOcePH3+mQ4cOV62srO4rX0ZG\nRlWWlpaFyp+PHj3aU9Oxk/ZhMiGVSCQSxc6dO1+4f/++1enTp7slJyf7RUREzGvI71IoFJKGXJeX\nl+dQUlJi1rlz5wsNuV7bVFRUmGjicywtLQvfeOON77/44ov3HnVOXFzcwDfeeOP7+/fvWylfAHD2\n7FlP5c89e/Y8qol4SbsxmVCjadOmzY2QkJDdaWlpHjXfUygUkoiIiHnOzs6Z9vb2N8ePH7/u3r17\nzQAgKCgoEQBsbGzuWFlZ3T958mRgzetLS0ulM2bMWO7o6Jjj6OiY884773xZVlbW5NKlS27KJGJj\nY3Onb9+++58Up0wmS1iwYMHHzz777O/NmjW7179//z1///13i7p8xxUrVoR5eHik3bhxo03N+Gxs\nbO5U/+5//fVXSwsLi6L8/Hw7ANi5c+cL3t7eZ2xtbQt69ux59Ny5c12V5zo7O2cuXrx4tqen51kr\nK6v7lZWVxp9//vn7Tk5O2c2aNbvn7u5+8dChQ70B4LXXXvtx/vz5nyivrdkVV/O6gwcPPl/bd/H3\n90965ZVXNj6qKgGAXbt2hQ4YMCC+Lm1Dho3JhFSmrCiysrLa7tq1K9THxyel5jlr166dsG7duvEJ\nCQmyq1evdigsLLScOnXqSgA4cuTIcwBw9+5d6/v371sFBgaerHl9ZGTkXLlcHpCamuqVmprqJZfL\n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\nRU5ErkJggg==\n",
- "text": [
- "<matplotlib.figure.Figure at 0x3f9ffd0>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The activation energy for the decomposition is :1.797e+02 kJ/mol\n",
- "NOTE:Slope is approximately calculated in book,that's why wrong answer\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.9,Page no:586"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "k1=3.46*10**-2 #rate constant at T1\n",
- "T1=298 #temp K\n",
- "T2=350 #temp K\n",
- "R=8.314 #gas constant,J/K mol\n",
- "Ea=50.2*1000 #activation energy, J/mol\n",
- "\n",
- "#Calculation\n",
- "k2=k1/math.exp(Ea/R*(T1-T2)/(T1*T2)) #from equation ln(k1/k2)=Ea*(T1-T2)/(T1*T2*R), S-1\n",
- "\n",
- "#Result\n",
- "print\"The rate constant at temp 350 is :\",round(k2,3),\"s**-1\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate constant at temp 350 is : 0.702 s**-1\n"
- ]
- }
- ],
- "prompt_number": 81
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_1.ipynb b/Chemistry/Chapter_1.ipynb
deleted file mode 100755
index a288466b..00000000
--- a/Chemistry/Chapter_1.ipynb
+++ /dev/null
@@ -1,310 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chpater 1:Chemistry-The Study of Change"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.1,Page no:19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "m=301;#mass of gold, g\n",
- "v=15.6;# volume of gold, cm**3\n",
- "\n",
- "#Calculation\n",
- "d=m/v;#density of gold, g/cm**3\n",
- "\n",
- "#Result\n",
- "print\"The density of gold is : \",round(d,1),\" g/cm**3\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The density of gold is : 19.3 g/cm**3\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.2,Page no:19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "d=13.6;#density of mercury, g/ml\n",
- "v=5.50;# volume of mercury, ml\n",
- "\n",
- "#Calculation\n",
- "m=d*v;#mass of mercury, g\n",
- "\n",
- "#Result\n",
- "print\"The mass of mercury is : \",round(m,1),\" g\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of mercury is : 74.8 g\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 40
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.3,Page no:20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration\n",
- "C1=224.0#melting point of solder, C\n",
- "F=-452.0#boiling point of helium, F\n",
- "C3=-38.9#meltiing point of mercury, C\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "F1=(C1*(9.0/5.0)+32.0) #melting point of solder, F\n",
- "#(b)\n",
- "C2=(F-32.0)*5.0/9.0 #boiling point of helium, C\n",
- "#(c)\n",
- "K=C3+273.15#meltiing point of mercury, K\n",
- "\n",
- "#Result\n",
- "print\"(a) The melting point of solder is : \",round(F1),\" F\"\n",
- "print\"(b) The boiling point of helium is :\",round(C2),\"C\"\n",
- "print\"(c) The meltiing point of mercury is :\",round(K,1),\"K\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) The melting point of solder is : 435.0 F\n",
- "\n",
- "(b) The boiling point of helium is : -269.0 C\n",
- "\n",
- "(c) The meltiing point of mercury is : 234.2 K\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.5,Page no:25"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "A1=11254.1;#g\n",
- "B1=0.1983;#g\n",
- "A2=66.59;#L\n",
- "B2=3.113;#L\n",
- "A3=8.16;#m\n",
- "B3=5.1355;\n",
- "A4=0.0154;#kg\n",
- "B4=88.3;#mL\n",
- "A5=2.64*10**3;#cm\n",
- "B5=3.27*10**2;#cm\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "C1=A1+B1;#g\n",
- "#(b)\n",
- "C2=A2-B2;#L\n",
- "#(c)\n",
- "C3=A3*B3;#m\n",
- "#(d)\n",
- "C4=A4/B4;#kg/mL\n",
- "#(e)\n",
- "C5=A5+B5;#cm\n",
- "print\"(a) (\",round(A1,1),\"+\",round(B1,4),\")g=\",round(C1,1),\"g\\n\"\n",
- "print\"(b) (\",A2,\" -\",B2,\")L=\",round(C2,2),\"L\\n\"\n",
- "print\"(c) \",A3,\"m*\",B3,\"=\",C3,\"m =\",round(C3,1),\"m\\n\"\n",
- "print\"(d) \",A4,\" kg /\",B4,\" mL =\",C4,\"=\",round(C4,6),\"kg/mL=%.2e\"%round(C4,6),\"kg/mL\\n\"\n",
- "print\"(e) (\",(A5*10**-3),\"*10**3 + %.2f\"%(B5*10**-2),\"*10**2 )cm =\",(C5*10**-3),\"*10**3 cm\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) ( 11254.1 + 0.1983 )g= 11254.3 g\n",
- "\n",
- "(b) ( 66.59 - 3.113 )L= 63.48 L\n",
- "\n",
- "(c) 8.16 m* 5.1355 = 41.90568 m = 41.9 m\n",
- "\n",
- "(d) 0.0154 kg / 88.3 mL = 0.000174405436014 = 0.000174 kg/mL=1.74e-04 kg/mL\n",
- "\n",
- "(e) ( 2.64 *10**3 + 3.27 *10**2 )cm = 2.967 *10**3 cm\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 41
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.6,Page no:29"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "lb=0.0833;#pound mass, lb\n",
- "\n",
- "#Calculation\n",
- "g=lb*453.6;#pound mass to gram mass, 1lb=453.6g\n",
- "mg=1000*g;#gram to milligram\n",
- "\n",
- "#Result\n",
- "print\"The mass of glucose is :%.2e\"%mg,\"mg\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of glucose is :3.78e+04 mg\n"
- ]
- }
- ],
- "prompt_number": 51
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.7,Page no:30"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "L=5.2;#volume in litres\n",
- "\n",
- "#Calculation\n",
- "cc=1000*L;#litre to cm**3\n",
- "mc=cc/10**6;#cm**3 to m**3\n",
- "\n",
- "#Result\n",
- "print\"The volume of blood is %.1e\"%mc,\"m**3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of blood is 5.2e-03 m**3\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.8,Page no:30"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "gpcc=0.808;#density in gram per cm**3\n",
- "\n",
- "#Calculation\n",
- "kgpmc=1000*gpcc;#g/cm**3 to kg/m**3, as 1000g=1kg and 1cm=10**-2 m\n",
- "\n",
- "#Result\n",
- "print\"The density of liquid nitrogen is :\",kgpmc,\"kg/m**3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The density of liquid nitrogen is : 808.0 kg/m**3\n"
- ]
- }
- ],
- "prompt_number": 1
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_11.ipynb b/Chemistry/Chapter_11.ipynb
deleted file mode 100755
index 6d364ba0..00000000
--- a/Chemistry/Chapter_11.ipynb
+++ /dev/null
@@ -1,226 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 11:Intermolecular Forces and Liquids and Solids"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:11.3,Page no:479"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "atoms=8*1.0/8.0+6*1.0/2.0 #atoms in a cell\n",
- "d=19.3 #density, g/cc\n",
- "Au=197.0 #mol mass of Au, g\n",
- "NA=6.022*10**23 #avogadro no.\n",
- "\n",
- "#Calculation\n",
- "m=atoms*Au/NA #mass of 1 cell, g\n",
- "V=m/d #volume, cc\n",
- "a=V**(1/3.0) #edge length, cm\n",
- "r=a/math.sqrt(8.0)/100.0 #radius in m\n",
- "\n",
- "#Result\n",
- "print\"The atomic radius of Au is :\",round(r*10**12),\"pm\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The atomic radius of Au is : 144.0 pm\n"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:11.4,Page no:481"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "n=1.0 \n",
- "lamda=154 #wavelength, pm\n",
- "theta=19.3 #angle of reflection, degree\n",
- "\n",
- "#Calculation\n",
- "d=n*lamda/(2*math.sin(theta*math.pi/180.0)) #spacing between the planes\n",
- "\n",
- "#Result\n",
- "print\"The spacing between planes is :\",round(d),\"pm\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The spacing between planes is : 233.0 pm\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:11.6,Page no:483"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Na=22.99 #mass of one atom of Na, amu\n",
- "Cl=35.45 #mass of one atom of Cl, amu\n",
- "NA=6.022*10**23 #avogadro no.\n",
- "\n",
- "#Calculation\n",
- "mass=4*(Na+Cl)/NA #mass in a unit cell in grams\n",
- "a=564*10**-10 #edge length, cm\n",
- "V=a**3 #volume of unit cell, cc\n",
- "d=mass/V #density in g/cc\n",
- "\n",
- "#Result\n",
- "print\"The density of NaCl is :\",round(d,2),\"g/cm**3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The density of NaCl is : 2.16 g/cm**3\n"
- ]
- }
- ],
- "prompt_number": 33
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:11.7,Page no:492"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "P1=401.0 #vapor pressure at 18C, mm Hg\n",
- "T1=18.0+273.0 #temperature, K\n",
- "T2=32.0+273.0 #temperature, K\n",
- "deltaH=26000.0 #heat of vaporisation, J/mol\n",
- "R=8.314 #gas constant, J/K.mol\n",
- "\n",
- "#Calculation\n",
- "X=deltaH/R*(T1-T2)/(T1*T2) \n",
- "P2=401*math.exp(-X) #vapor pressure at 32C, mmHg(from ln(P1/P1)=deltaH/R*((T1-T2)/(T1*T2)))\n",
- "\n",
- "#Result\n",
- "print\"The pressure at 32 C is \",round(P2,1),\"mm Hg\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure at 32 C is 656.7 mm Hg\n"
- ]
- }
- ],
- "prompt_number": 34
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:11.8,Page no:497"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "m=346 #mass of H2O in g\n",
- "s=4.184 #specific heat of H2O, J/g C\n",
- "deltaH=40.79 #heat of vaporisation in kJ\n",
- "H2O=18.02 #mol mass of H2O, g\n",
- "s2=1.99 #specific heat of steam, J/g C\n",
- "\n",
- "#Calculation\n",
- "#from 0 to 100 C\n",
- "deltaT=100.0-0.0 #change in Temp, C\n",
- "q1=round((m*s*deltaT)/1000.0) #heating H2O, kJ\n",
- "#for evaporation at 100 C\n",
- "deltaT2=182-100 #change in temp of steam, kJ\n",
- "q2=round(m*deltaH/H2O) #heat of vaporising water, kJ\n",
- "#for steam from 100 to 182 C\n",
- "q3=round(m*s2*deltaT2/1000.0,1) #heating steam, kJ\n",
- "q=round(q1)+round(q2)+round(q3,1) #overall energy required, kJ\n",
- "\n",
- "\n",
- "#Result\n",
- "print\"The overall energy required is :\",round(q),\"kJ\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The overall energy required is : 985.0 kJ\n"
- ]
- }
- ],
- "prompt_number": 15
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_12.ipynb b/Chemistry/Chapter_12.ipynb
deleted file mode 100755
index c565711d..00000000
--- a/Chemistry/Chapter_12.ipynb
+++ /dev/null
@@ -1,446 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 12:Physical Properties of Solutions"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.2,Page no:518"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "msolute=0.892 #mass of solute, g\n",
- "msolvent=54.6 #mass of solvent, g\n",
- "\n",
- "#Calculation\n",
- "percent=msolute/(msolute+msolvent)*100 #concentration, percent by mass\n",
- "\n",
- "#Result\n",
- "print\"The concentration of KCl solution by mass is :\",round(percent,2),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The concentration of KCl solution by mass is : 1.61 %\n"
- ]
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.3,Page no:518"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration \n",
- "mass=24.4 #mass of H2SO4, g\n",
- "M=98.09 #mol maass of H2SO4, g\n",
- "\n",
- "#Calculation\n",
- "n=mass/M #moles of H2SO4\n",
- "massH2O=0.198 #mass of H2O, kg\n",
- "m=n/massH2O #molality of H2SO4, molal\n",
- "\n",
- "#Result\n",
- "print\"The molality of sulfuric acid solution is :\",round(m,2),\"m\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molality of sulfuric acid solution is : 1.26 m\n"
- ]
- }
- ],
- "prompt_number": 40
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.4,Page no:520"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#considering 1L solution\n",
- "msolution=976 #mass of solution, g\n",
- "n=2.45 #moles\n",
- "CH3OH=32.04 #mol. mass of CH3OH, g\n",
- "\n",
- "#Calculation\n",
- "msolute=n*CH3OH #mass of solute, g\n",
- "msolvent=(msolution-msolute)/1000 #mass of solvent, kg\n",
- "m=n/msolvent #molality, molal\n",
- "\n",
- "#Result\n",
- "print\"The molality of CH3OH solution is :\",round(m,2),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molality of CH3OH solution is : 2.73 m\n"
- ]
- }
- ],
- "prompt_number": 41
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.5,Page no:520"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#considering 100g of solution\n",
- "percent=35.4 #mass percent of H3PO4\n",
- "H3PO4=97.99 #mol mass of H3PO4\n",
- "\n",
- "#Calculation\n",
- "n=percent/H3PO4 #moles of H3PO4\n",
- "mH2O=(100-percent)/1000 #mass of solvent\n",
- "m=n/mH2O #molality of H3PO4, molal\n",
- "\n",
- "#Result\n",
- "print\"the molality of H3PO4 solution is :\",round(m,2),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the molality of H3PO4 solution is : 5.59 m\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.6,Page no:525"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "c=6.8*10**-4 #solubility of N2 in water, M\n",
- "P=1 #pressure, atm\n",
- "\n",
- "#Calculation\n",
- "k=c/P #henry's constant\n",
- "#for partial pressure of N2=0.78atm\n",
- "P=0.78 #partial pressure of N2, atm\n",
- "c=k*P #solubility of N2, M\n",
- "\n",
- "#Result\n",
- "print\"The solubility of N2 gas in water is :%.1e\"%c,\"M\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The solubility of N2 gas in water is :5.3e-04 M\n"
- ]
- }
- ],
- "prompt_number": 42
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.7,Page no:527"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "H2O=18.02 #mol mass of H2O, g\n",
- "V=460 #volume of water, mL\n",
- "glucose=180.2 #mol. mass of glucose, g\n",
- "mass=218 #mass of gllucose, g\n",
- "\n",
- "#Calculation\n",
- "n1=V/H2O #moles of water\n",
- "n2=mass/glucose #moles of glucose\n",
- "x1=n1/(n1+n2) #mole fraction of water\n",
- "P=31.82 #vapor pressure of pure water, mmHg\n",
- "P1=x1*P #vapor pressure afteraddition of glucose, mmHg\n",
- "#Result\n",
- "print\"Vapor pressure is:\",round(P1,1),\"mm Hg\"\n",
- "print\"The vapor pressure lowering is :\",round(P-P1,1),\"mmHg\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Vapor pressure is: 30.4 mm Hg\n",
- "The vapor pressure lowering is : 1.4 mmHg\n"
- ]
- }
- ],
- "prompt_number": 43
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.8,Page no:532"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "mH2O=2.505 #mass of H2O, kg\n",
- "mEG=651 #mass of EG, g\n",
- "EG=62.07 #mol mass of EG, g\n",
- "\n",
- "#Calculation\n",
- "n=mEG/EG #moles of EG\n",
- "m=n/mH2O #molality of EG\n",
- "Kf=1.86 #molal freezing point depression constant, C/m\n",
- "deltaTf=Kf*m #depression in freezing point, C\n",
- "Kb=0.52 #molal boiling point elevation constant, C/m\n",
- "deltaTb=Kb*m #elevation in boiling point, C\n",
- "\n",
- "#Result\n",
- "print\"The depression in freezing point is\",round(deltaTf,2),\"C\"\n",
- "print\"Elevation in boiling point is :\",round(deltaTb,1),\"C\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The depression in freezing point is 7.79 C\n",
- "Elevation in boiling point is : 2.2 C\n"
- ]
- }
- ],
- "prompt_number": 44
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.9,Page no:536"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "pie=30 #osmotic pressure, atm\n",
- "R=0.0821 #gas constant, L atm/K mol\n",
- "T=298 #temp., K\n",
- "\n",
- "#Calculation\n",
- "M=pie/(R*T) #molar concentration, M\n",
- "\n",
- "#Result\n",
- "print\"The molar concentration is :\",round(M,2),\"M\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molar concentration is : 1.23 M\n"
- ]
- }
- ],
- "prompt_number": 45
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.10,Page no:537"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "deltaTf=1.05 #depression in freezing point, C\n",
- "Kf=5.12 #molal freezing point depression constant\n",
- "\n",
- "#Calculation\n",
- "m=deltaTf/Kf #molality of solution, molal\n",
- "mbenzene=301/1000.0 #mass of benzene, kg\n",
- "n=m*mbenzene #moles of sapmle\n",
- "msample=7.85 #mass of sample, g\n",
- "molarmass=msample/n #molar mass of sample, g/mol\n",
- "\n",
- "#Result\n",
- "print\"The molar mass of the sample is :\",round(molarmass),\"g/mol \""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molar mass of the sample is : 127.0 g/mol \n"
- ]
- }
- ],
- "prompt_number": 46
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.11,Page no:538"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "R=0.0821 #gas constant, L atm/K mol\n",
- "T=298 #temp, K\n",
- "pie=10/760.0 #osmotic pressure, atm\n",
- "\n",
- "#Calculation\n",
- "M=pie/(R*T) #molarity of the solution, M\n",
- "#taking 1L of solution\n",
- "mass=35 #mass of Hg, g\n",
- "n=M #moles\n",
- "molarmass=mass/n #molar mass of hemoglobin, g/mol\n",
- "\n",
- "#Result\n",
- "print\"The molar mass of the hemoglobin is :%.2e\"%molarmass,\"g/mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molar mass of the hemoglobin is :6.51e+04 g/mol\n"
- ]
- }
- ],
- "prompt_number": 47
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:12.12,Page no:540"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "R=0.0821 #gas constant, L atm/K mol\n",
- "T=298 #temp, K\n",
- "pie=0.465 #osmotic pressure, atm\n",
- "M=0.01 #molarity of the solution, M\n",
- "\n",
- "#Calculation\n",
- "i=pie/(M*R*T) #vant hoff factor of KI\n",
- "\n",
- "#Result\n",
- "print\"The vant hoff factor of KI at 25 C is :\",round(i,2)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The vant hoff factor of KI at 25 C is : 1.9\n"
- ]
- }
- ],
- "prompt_number": 48
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_13.ipynb b/Chemistry/Chapter_13.ipynb
deleted file mode 100755
index aea83030..00000000
--- a/Chemistry/Chapter_13.ipynb
+++ /dev/null
@@ -1,412 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:895c072b6753209785681491473fcfce8d9e8b03552e6c5bac0de19645eb5d94"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 13:Chemical Kinetics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.2,Page no:564"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "dO2=-0.024 #rate of reaction of O2, M/s\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "dN2O5=-2*dO2 #rate of formation of N2O5, M/s\n",
- "#(b)\n",
- "dNO2=4*dO2 #rate of reaction of NO2, M/s\n",
- "\n",
- "#Result\n",
- "print\"(a).The rate of formation of N2O5 is :\",dN2O5,\"M/s\"\n",
- "print\"(b).The rate of reaction of NO2 is :\",dNO2,\"M/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a).The rate of formation of N2O5 is : 0.048 M/s\n",
- "(b).The rate of reaction of NO2 is : -0.096 M/s\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.3,Page no:568"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "NO1=5*10**-3 #conc of NO from 1st experiment, M\n",
- "H21=2*10**-3 #conc of H2 from 1st experiment, M\n",
- "r1=1.3*10**-5 #initial rate from 1st experiment, M/s\n",
- "NO2=10*10**-3 #conc of NO from 2nd experiment, M\n",
- "H22=2*10**-3 #conc of H2 from 2nd experiment, M\n",
- "r2=5*10**-5 #initial rate from 1st experiment, M/s\n",
- "NO3=10*10**-3 #conc of NO from 3rd experiment, M\n",
- "H23=4*10**-3 #conc of H2 from 3rd experiment, M\n",
- "r3=10*10**-5 #initial rate from 3rd experiment, M/s\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "#(a)\n",
- "#r=k*NO**x*H2**y, dividing r2/r1 and r3/r2\n",
- "x=math.log(r2/r1)/math.log(NO2/NO1) #since H21=H22\n",
- "y=math.log(r3/r2)/math.log(H23/H22) #since NO3=NO2\n",
- "x=round(x) \n",
- "y=round(y) \n",
- "#(b)\n",
- "k=r2/((NO2)**x*H22**y) #rate constant, /M**2 s\n",
- "#(c)\n",
- "NO=12*10**-3 #conc of NO, M\n",
- "H2=6*10**-3 #conc of H2, M\n",
- "rate=k*(NO**x)*H2**y #rate, M/s\n",
- "\n",
- "#Result\n",
- "print\"(a) the rate of reaction is : r=k[NO]**\",x,\"*[H2]**\",y\n",
- "print\"(b) the rate constant of the reaction is :%.1e\"%k,\" /M**2 s\" \n",
- "print\"(c) the rate of reaction at given concentration is :%.1e\"%rate,\" M/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the rate of reaction is : r=k[NO]** 2.0 *[H2]** 1.0\n",
- "(b) the rate constant of the reaction is :2.5e+02 /M**2 s\n",
- "(c) the rate of reaction at given concentration is :2.2e-04 M/s\n"
- ]
- }
- ],
- "prompt_number": 72
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.4,Page no:571"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "t=8.8*60 #time, s\n",
- "k=6.7*10**-4 #rate constant, s-1\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "#(a)\n",
- "Ao1=0.25 #initial conc, M\n",
- "A1=math.exp(-k*t+math.log(Ao1)) #final conc, M\n",
- "#(b)\n",
- "A2=0.15 #initial conc, M\n",
- "Ao2=0.25 #final conc, M\n",
- "t2=-math.log(A2/Ao2)/(60*k) #time, min\n",
- "#(c)\n",
- "percent=74.0 \n",
- "#let initial conc be 1\n",
- "Ao3=1.0 #initial conc, M\n",
- "A3=1.0-percent/100.0 #final conc, M\n",
- "t3=-math.log(A3/Ao3)/(k*60.0) #time, min\n",
- "print\"(a) the concentration of cyclopropane at given time is :\",round(A1,2),\"M\"\n",
- "print\"(b) the time required is :\",round(t2),\"min\"\n",
- "print\"(c) the time required for required conversion is :%.1f\"%t3,\"min(approx)\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the concentration of cyclopropane at given time is : 0.18 M\n",
- "(b) the time required is : 13.0 min\n",
- "(c) the time required for required conversion is :33.5 min(approx)\n"
- ]
- }
- ],
- "prompt_number": 75
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.5,Page no:573"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "t=[0,100,150,200,250,300] #time(data given), s\n",
- "P=[284.0,220.0,193.0,170.0,150.0,132.0] #pressure(data given) in mmHg corresponding to time values\n",
- "lnP=[0,0,0,0,0,0]\n",
- "\n",
- "#Calculation\n",
- "import matplotlib.pyplot as plt\n",
- "import numpy as np\n",
- "from pylab import *\n",
- "%matplotlib inline\n",
- "lnP=np.log(P) #lnP values corresponding to P\n",
- "A=plot(t,lnP)\n",
- "plt.xlim(0,350)\n",
- "plt.ylim(4.8,5.8)\n",
- "plt.ylabel('$ln Pt$')\n",
- "plt.xlabel('$t(s)$')\n",
- "plt.title('Plot of ln Pt versus time for the decomposition of azomethane\\n')\n",
- "slope=np.polyfit(t,lnP,1)\n",
- "k=-slope[0]\n",
- "\n",
- "#Result\n",
- "show(A)\n",
- "print\"The rate constant for the decomposition is :%.2e\"%k,\"s**-1\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nnTp9+vTglJQUB4ZhBLq6ukVqamrSmra7mZlZblpamk1t2/Vd3sOanktNTU06ZsyY37755ptVxcXF\n2s+ePWu7ZcuWeePHj/+pIduguLhYW0tLq1RPT+/1y5cvDZYvX76Mm5aRkWE9ZsyY3w4dOjTBwcEh\npXp+ef3uTJs27d9LlixZzRX4/Px841OnTg0lavhvCae8vLxFeXl5CyMjowKhUFgVERExIDIy0r8h\nywqFwqqgoKDdc+fO3Zqfn29MxLaKNGR5pSkokydP3jthwoRDvXv3vmRnZ/dUJBJJuB40IpFI8s03\n36zq2bPnVX19/cLY2FiP6ssvXbp0ZdeuXW+5uLgkuLi4JHTt2vXW0qVLV3LT66vw1afL3q/vfJna\npjUkNxHR0KFDT6WkpDiYm5vnODs73+MeHz58+B+LFi1a9/HHHx/W09N77ezsfO/cuXMf1rbeoqIi\n3alTp/5oYGDw0sbGJs3IyKhg4cKFG4jY3l8tWrQoNzU1zZs0adI+2S9aXctVN2fOnG3Hjh0bbWBg\n8HLu3Llba9oW9W077r6ampr09OnTg+Pj493s7OyeGhsb50+dOvXH2v4nVP256vrM1LR9qnN0dEwe\nN27cr3Z2dk8NDAxecr285JV3x44ds4qLi7XNzMxyJ0+evFe2d5GOjo44MjLS//Dhwx9bWlpmmZub\n5yxevHgN10No48aNXzo7O9/r1q3bTUNDwxeLFy9eU1VVJWzfvv2jn376afzs2bO3Gxsb5585c2bQ\nn3/+OURdXb2yttdZ3/vRp0+fvx0cHFL69+9/fuHChRu4HnF1fadSUlIc/Pz8/tLR0RH36NHj2syZ\nM3dyvRplffTRR0eJ2OaVrl273qo+/V3ew9re1+3bt89u1apViZ2d3VNvb+/Ln3766c+TJk3aV99y\nRERz587dWlpaqmVkZFTQo0ePawMGDIjg5r9w4UK/58+fm4waNep3rqcX9z1929+dujLMmTNn29Ch\nQ0/5+/tH6urqFnl5eV3nfjNkf0sMDAxexsTEeNb1WdXR0RH/8MMPX4wZM+Y3AwODl7/++uu4YcOG\nnWxolnXr1i1ycHBI6d69+w2ud+CjR4/a1zb/f56TYXAeF0BzlJaWZmNnZ/e0srJS/V3O7QGoTmn2\nUAAAQLWhoAA0YxhqBuQJTV4AACAX2EMBAAC5QEEBAAC5QEEBAAC5QEEBAAC5QEEBAAC5QEEBAAC5\n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\n/vykZtWUPSQkJMTKyirT3d09zt3dPS4iImIAN02ZshMRZWRkWPft2zeqU6dOiZ07d77/ww8/fEGk\nOtu/tvyq8h6UlZVpenp6xri5ucU7OTklLV68eA2Ramz/2rLztu0VdfT/XW+VlZVq9vb2KampqTbl\n5eUarq6u8UlJSR35zlXfzcbGJvXFixcGso8tXLhw/bp1675iGIbWrl27aNGiRWv5zsndLl265H3n\nzh33zp0736svb2JiopOrq2t8eXm5Rmpqqo29vX2KVCoVKlP2kJCQZZs2bZpffV5ly84wDOXk5JjF\nxcW5MQxDYrFYu3379g+TkpI6qsr2ry2/Kr0HJSUlIoZhqKKiQt3T0/PG5cuXe6nK9q8pO1/bXun3\nUGJjYz0cHBxSbGxs0jQ0NCo+/vjjwydPnhzGd66GYKr1TDt16tTQwMDAA0REgYGBB/7444/h/CT7\nX97e3pf19fULZR+rLe/JkyeHjRs37lcNDY0KGxubNAcHh5TY2FgPPnIT1ZydqOaegcqWnYjIzMws\n183NLZ6ISFtbu7hjx44PsrKyLFVl+9eWn0h13gORSCQhIiovL28hlUrV9PX1C1Vl+9eUnYifba/0\nBSUrK8vS2to6g7tvZWWVyX1YlZlAIGD69+9/vmvXrrd2794dRMT2YDM1Nc0jIjI1Nc3Ly8sz5Tdl\n3WrLm52dbWFlZZXJzaes78n27dtnu7q63p0yZUoY11yh7NnT0tJs4uLi3D09PWNUcftz+bt3736D\nSHXeg6qqKqGbm1u8qalpHtd8pyrbv6bsRPxse6UvKDWN/aUKrl692jMuLs49IiJiwM6dO2devnzZ\nW3a6QCBgVOm11ZdX2V7L9OnTd6WmptrGx8e7mZub5yxYsGBTbfMqS/bi4mLtUaNG/b5t27Y5Ojo6\nYtlpqrD9i4uLtUePHn1s27Ztc7S1tYtV6T0QCoVV8fHxbpmZmVaXLl3qHRUV1Vd2ujJv/+rZo6Oj\nffja9kpfUCwtLbMyMjKsufsZGRnWshVWWZmbm+cQERkbG+ePGDHiRGxsrIepqWlebm6uGRFRTk6O\nuYmJyXN+U9attrzV35PMzEwrS0vLLL5y1sTExOQ59yPw+eef7+F265U1e0VFhcaoUaN+nzBhwqHh\nw4f/QaRa25/LP378+J+4/Kr2HhAR6enpvR40aNCZ27dvd1Gl7U/03+y3bt3qyte2V/qC0rVr11uP\nHz9ul5aWZlNeXt7iyJEjY4cOHXqK71x1kUgkIrFYrENEVFJS0ioyMtLf2dn53tChQ08dOHAgkIjo\nwIEDgdwXT1nVlnfo0KGnDh8+/HF5eXmL1NRU28ePH7fjerIpi5ycHHPu7xMnTozgeoApY3aGYQRT\npkwJc3JySpo7d+5W7nFV2f615VeV96CgoMCIaxIqLS3V+uuvv/zc3d3jVGH715adK4RECt72fPas\naOgtPDx8QPv27R/a29unrF69ejHfeeq7PX361NbV1TXe1dU1vlOnTve5zC9evDDo16/f+Xbt2j3y\n8/OLLCwsbM13Vu728ccf/2pubp6toaFRbmVllbF3795JdeVdtWrVEnt7+5QOHToknz179kNlyh4W\nFjZ5woQJB52dnRNcXFzuDhs27I/c3FxTZczOMAxdvny5l0AgqHJ1dY13c3OLc3Nzi4uIiAhQle1f\nU/7w8PABqvIeJCQkOLu7u99xdXWNd3Z2Tli/fv1Chqn7+6os+WvLzte2x4mNAAAgF0rf5AUAAKoB\nBQUAAOQCBQUAAOQCBQUAAOQCBQUAAOQCBQUAAOQCBQXgPbx586ZlTY+XlZVpKjoLAN9QUADe0enT\npwdzIyJUl5mZacVd1hqguUBBAWigBw8edFy9evUSInZYkaKiIl0jI6OCmuZ1cHBISUpKciotLdVS\nbEoA/qCgADRQVFRUX3d39zgion379k0aMWLEibrmHzRo0Jlff/11nGLSAfAPBQWgASIiIgaEhYVN\nyczMtMrNzTV7/vy5iZaWVik3/f79+50PHjz4WWhoaHBJSUkrIiJ7e/sn9+7dc+YvNYBioaAANMCA\nAQMiLCwssoOCgnabmZnlVj/ovnfv3smOjo7JLVu2fFNcXKzNPV5ZWamu+LQA/EBBAWiA3NxcMzMz\ns1zufkVFhYbs9PHjx/80f/78zcePHx/JXeWPiL2UgSJzAvAJBQWgAW7evNnNw8Mj9ubNm90kEolI\nTU1Nyk3766+//BISElyuXLnSq/pBeqFQWKX4tAD8QEEBaAALC4vsrKwsy+LiYm2RSCQRiUQSbpqJ\nicnzFi1alP/2229jxowZ8xv3OMMwguqX8gVoytC+C9AAXbp0ud2lS5fb3H0rK6vMwsJCfX19/UJX\nV9e7rq6ud6svk5CQ4OLp6Rmj2KQA/MEeCsA7CAoK2n306NGP6prnwoUL/T766KOjisoEwDcUFIB3\noKen97pjx44P0tPT29Q0PTExsVO/fv0u4BgKNCe4BDAAAMgF9lAAAEAuUFAAAEAuUFAAAEAuUFAA\nAEAuUFAAAEAuUFAAAEAuUFAAAEAuUFAAAEAu/g+t2fTWyjEZAgAAAABJRU5ErkJggg==\n",
- "text": [
- "<matplotlib.figure.Figure at 0x3f0c650>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate constant for the decomposition is :2.55e-03 s**-1\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.6,Page no:576"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "k=5.36*10**-4 #rate constant, s-1\n",
- "\n",
- "#Calculation\n",
- "t_half=0.693/(60*k) #half life of the reaction, min\n",
- "\n",
- "#Result\n",
- "print\"The half life for the decomposition of ethane is :\",round(t_half,1),\"min\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The half life for the decomposition of ethane is : 21.5 min\n"
- ]
- }
- ],
- "prompt_number": 77
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.7,Page no:578"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "k=7*10**9 #rate constant, M s\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "t=2*60 #half life of the reaction, s\n",
- "Ao1=0.086 \n",
- "A1=(k*t+1/Ao1)**-1 \n",
- "#(b)\n",
- "Ao2=0.6 \n",
- "t_half2=1/(Ao2*k) #half life of the reaction, s\n",
- "Ao3=0.42 \n",
- "t_half3=1/(Ao3*k) #half life of the reaction, s\n",
- "\n",
- "#Result\n",
- "print\"(a.)The concentration of I is :%.1e\"%A1,\"M\"\n",
- "print\"(b.)The half life for Io=0.6 is :%.1e\"%t_half2,\"s\"\n",
- "print\" The half life for Io=0.42 is :%.1e\"%t_half3,\"s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a.)The concentration of I is :1.2e-12 M\n",
- "(b.)The half life for Io=0.6 is :2.4e-10 s\n",
- " The half life for Io=0.42 is :3.4e-10 s\n"
- ]
- }
- ],
- "prompt_number": 79
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.8,Page no:584"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "T=[700.0,730.0,760.0,790.0,810.0] #temperature(data given), K\n",
- "R=8.314 #gas constant, kJ/mol\n",
- "k=[0.011,0.035,0.105,0.343,0.789] #rate constant(data given) in 1/M**1/2 s corresponding to temperature values\n",
- "import numpy\n",
- "#Calculation\n",
- "x=numpy.reciprocal(T) #1/T values corresponding to Temp values above, K-1\n",
- "x=numpy.round(x,5)\n",
- "import math\n",
- "\n",
- "from pylab import *\n",
- "%matplotlib inline\n",
- "lnk=numpy.log(k) #lnk values corresponding to k\n",
- "lnk[0]=numpy.round(lnk[0],2)\n",
- "lnk[1]=numpy.round(lnk[1],2)\n",
- "lnk[2]=numpy.round(lnk[2],3)\n",
- "lnk[3]=numpy.round(lnk[3],3)\n",
- "lnk[4]=numpy.round(lnk[4],3)\n",
- "A=plot(x,lnk,marker='o', linestyle='-')\n",
- "plt.xlim(1.2*10**-3,1.45*10**-3)\n",
- "plt.ylim(-5.0,0.0)\n",
- "plt.ylabel('$ln k$')\n",
- "plt.xlabel('$1/T(K^-1)$')\n",
- "plt.title('Plot of ln k versus 1/T\\n')\n",
- "slope=np.polyfit(x,lnk,1)\n",
- "Ea=-slope[0]*R #activation energy, kJ/mol\n",
- "\n",
- "#Result\n",
- "show(A)\n",
- "print\"The activation energy for the decomposition is :%.3e\"%(Ea/1000),\"kJ/mol\"\n",
- "print\"NOTE:Slope is approximately calculated in book,that's why wrong answer\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEjCAYAAAD31uwUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1cjff/B/DX6caplIooikVKFt3ozthyjCjG3Ixhw8zM\nd0OMzTa3bSvbDDPZppkZfpbNCFPuSebuFAmNEE2lWJObdF/n98f1ONZaqE7nXOfm9Xw8zmO6znV1\n3ufzuObt/flcn89HolAoQEREpAojsQMgIiLdx2RCREQqYzIhIiKVMZkQEZHKmEyIiEhlTCZERKQy\nJhNSG5lMlrBmzZqJmvisb7/99i17e/ubzZo1u1dQUGBb/b3MzExnIyOjqqqqqnrf7wkJCbK2bdtm\nNV6kRPqJyYRU4uzsnGlhYVFkZWV138HBIW/ChAlrHzx40BQAJBKJQiKRPHEikyp/2QNAeXm56axZ\ns5YeOHCgz71795rZ2toWNOT3GJpDhw717t279yEbG5s77du3v1bbOcePH3+mQ4cOV62srO4rX0ZG\nRlWWlpaFyp+PHj3aU9Oxk/ZhMiGVSCQSxc6dO1+4f/++1enTp7slJyf7RUREzGvI71IoFJKGXJeX\nl+dQUlJi1rlz5wsNuV7bVFRUmGjicywtLQvfeOON77/44ov3HnVOXFzcwDfeeOP7+/fvWylfAHD2\n7FlP5c89e/Y8qol4SbsxmVCjadOmzY2QkJDdaWlpHjXfUygUkoiIiHnOzs6Z9vb2N8ePH7/u3r17\nzQAgKCgoEQBsbGzuWFlZ3T958mRgzetLS0ulM2bMWO7o6Jjj6OiY884773xZVlbW5NKlS27KJGJj\nY3Onb9+++58Up0wmS1iwYMHHzz777O/NmjW7179//z1///13i7p8xxUrVoR5eHik3bhxo03N+Gxs\nbO5U/+5//fVXSwsLi6L8/Hw7ANi5c+cL3t7eZ2xtbQt69ux59Ny5c12V5zo7O2cuXrx4tqen51kr\nK6v7lZWVxp9//vn7Tk5O2c2aNbvn7u5+8dChQ70B4LXXXvtx/vz5nyivrdkVV/O6gwcPPl/bd/H3\n90965ZVXNj6qKgGAXbt2hQ4YMCC+Lm1Dho3JhFSmrCiysrLa7tq1K9THxyel5jlr166dsG7duvEJ\nCQmyq1evdigsLLScOnXqSgA4cuTIcwBw9+5d6/v371sFBgaerHl9ZGTkXLlcHpCamuqVmprqJZfL\n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\nRU5ErkJggg==\n",
- "text": [
- "<matplotlib.figure.Figure at 0x3f9ffd0>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The activation energy for the decomposition is :1.797e+02 kJ/mol\n",
- "NOTE:Slope is approximately calculated in book,that's why wrong answer\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:13.9,Page no:586"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "k1=3.46*10**-2 #rate constant at T1\n",
- "T1=298 #temp K\n",
- "T2=350 #temp K\n",
- "R=8.314 #gas constant,J/K mol\n",
- "Ea=50.2*1000 #activation energy, J/mol\n",
- "\n",
- "#Calculation\n",
- "k2=k1/math.exp(Ea/R*(T1-T2)/(T1*T2)) #from equation ln(k1/k2)=Ea*(T1-T2)/(T1*T2*R), S-1\n",
- "\n",
- "#Result\n",
- "print\"The rate constant at temp 350 is :\",round(k2,3),\"s**-1\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate constant at temp 350 is : 0.702 s**-1\n"
- ]
- }
- ],
- "prompt_number": 81
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_14.ipynb b/Chemistry/Chapter_14.ipynb
deleted file mode 100755
index 29fa23a9..00000000
--- a/Chemistry/Chapter_14.ipynb
+++ /dev/null
@@ -1,359 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 14:Chemical Equilibrium"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.2,Page no:622"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "NO=0.0542 #equilibrium conc of NO, M\n",
- "O2=0.127 #equilibrium conc of O2, M\n",
- "NO2=15.5 #equilibrium conc of NO2, M\n",
- "\n",
- "#Calculation\n",
- "Kc=NO2**2/(O2*NO**2) #equilibrium constant for given reaction\n",
- "\n",
- "#Result\n",
- "print\"The value of the equilibrium constant of the reaction is %.2e\"%Kc\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The value of the equilibrium constant of the reaction is 6.44e+05\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.3,Page no:623"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "PCl3=0.463 #equilibrium pressure of PCl3, atm\n",
- "PCl5=0.875 #equilibrium pressure of PCl5, atm\n",
- "Kp=1.05 #equilibrium constant of the reaction\n",
- "\n",
- "#Calculation\n",
- "Cl2=Kp*PCl5/PCl3 #equilibrium pressure of Cl2 in atm, formula from the definition of equilibrium constant\n",
- "\n",
- "#Result\n",
- "print\"The value of the equilibrium pressure of the Cl2 gas is :\",round(Cl2,2),\"atm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The value of the equilibrium pressure of the Cl2 gas is : 1.98 atm\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.4,Page no:623"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Kc=10.5 \n",
- "delta_n=1-3 \n",
- "T=273+220 \n",
- "\n",
- "#Calculation\n",
- "Kp=Kc*(0.0821*T)**delta_n \n",
- "\n",
- "#Result\n",
- "print\"The value of the equilibrium constant of the reaction is :%.2e\"%Kp"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The value of the equilibrium constant of the reaction is :6.41e-03\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.6,Page no:626"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "CO2=0.236 #pressure of CO2 gas, atm\n",
- "T=273+800 \n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "Kp=CO2 \n",
- "#(b)\n",
- "delta_n=1 \n",
- "Kc=Kp*(0.0821*T)**-delta_n \n",
- "\n",
- "#Result\n",
- "print\"(a) the value of Kp of the reaction is :\",Kp\n",
- "print\"(b) the value of Kc of the reaction is %.2e\"%Kc"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the value of Kp of the reaction is : 0.236\n",
- "(b) the value of Kc of the reaction is 2.68e-03\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.8,Page no:633"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Kc=1.2 #equilibrium constant for the reaction\n",
- "N2=.249/3.5 #conc of N2, M\n",
- "H2=(3.21*10**-2)/3.5 #conc of H2, M\n",
- "NH3=(6.42*10**-4)/3.5 #conc of NH3, M\n",
- "\n",
- "#Calculation\n",
- "Qc=NH3**2/(N2*H2**3) #reaction quotient initial\n",
- "print\"Qc=\",round(Qc,3),\"(approx)\"\n",
- "\n",
- "#Result\n",
- "if(Qc==Kc):\n",
- " d=\"the system is in equilibrium\" \n",
- "elif(Qc<Kc):\n",
- " d=\"the system is not in equilibrium and the reaction will move from left to right\" \n",
- "else:\n",
- " d=\"the system is not in equilibrium and the reaction will move from right to left\" \n",
- "print d"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Qc= 0.613 (approx)\n",
- "the system is not in equilibrium and the reaction will move from left to right\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.9,Page no:635"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Kc=54.3 \n",
- "H2i=0.5 #initial moles of H2\n",
- "I2i=0.5 #initial moles of I2\n",
- "\n",
- "#Calculation\n",
- "#Let us assume that x moles have reacted, so, HI=2x, H2=0.5-x, I2=0.5-x, when we substitute in Kc=(HI)**2/(H2)*(I2) we get 54.3=(2x)**2/((0.5-x)*(0.5-x)) taking root we get 7.37=2*x/0.5-x\n",
- "x=0.393 #from the above equation\n",
- "H2=0.5-x \n",
- "I2=0.5-x \n",
- "HI=2*x \n",
- "\n",
- "#Result\n",
- "print\"The equilibrium concentration of H2 is :\",H2,\"M\" \n",
- "print\"The equilibrium concentration of I2 is :\",I2,\"M\"\n",
- "print\"The equilibrium concentration of HI is :\",HI,\"M\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The equilibrium concentration of H2 is : 0.107 M\n",
- "The equilibrium concentration of I2 is : 0.107 M\n",
- "The equilibrium concentration of HI is : 0.786 M\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.10,Page no:636"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "Kc=54.3 \n",
- "HIo=0.0224 \n",
- "H2o=0.00623 \n",
- "I2o=0.00414 \n",
- "#let us assume that x moles have reacted, so, HI=HIo+2x, H2=0.00623-x, I2=0.00414-x, when we substitute in Kc=(HI)**2/(H2)*(I2) we get 54.3=(2x+0.0224)**2/((0.00623-x)*(0.00414-x)) simplifying we get 50.3x**2-0.654x+8.98*10**-4=0\n",
- "a=50.3 \n",
- "b=-0.654 \n",
- "c=8.98*10**-4 \n",
- "\n",
- "#Calculation\n",
- "x1=(-b+math.sqrt(b**2-4*a*c))/(2*a) \n",
- "x2=(-b-math.sqrt(b**2-4*a*c))/(2*a) \n",
- "if(x1>I2o):\n",
- " x=x2 \n",
- "else:\n",
- " x=x1 \n",
- "H2=0.00623-x \n",
- "I2=0.00414-x \n",
- "HI=2*x+0.0224 \n",
- "\n",
- "#Result\n",
- "print\"The equilibrium concentration of H2 is :\",round(H2,5),\"M\"\n",
- "print\"The equilibrium concentration of I2 is :\",round(I2,5),\"M\"\n",
- "print\"The equilibrium concentration of HI is :\",round(HI,4),\"M\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The equilibrium concentration of H2 is : 0.00467 M\n",
- "The equilibrium concentration of I2 is : 0.00258 M\n",
- "The equilibrium concentration of HI is : 0.0255 M\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:14.11,Page no:639"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Kc=2.37*10**-3 #equilibrium constant for the reaction\n",
- "N2=0.683 #conc of N2, M\n",
- "H2=8.8 #conc of H2, M\n",
- "NH3=3.65 #conc of NH3, M\n",
- "\n",
- "#Calculation\n",
- "Qc=NH3**2/(N2*H2**3) #reaction quotient initial\n",
- "print\"Qc=%.2e\"%Qc\n",
- "\n",
- "#Result\n",
- "if(Qc==Kc):\n",
- " d=\"the system is in equilibrium\" \n",
- "elif(Qc<Kc):\n",
- " d=\"the system is not in equilibrium and the reaction will move from left to right\" \n",
- "else:\n",
- " d=\"the system is not in equilibrium and the reaction will move from right to left\" \n",
- "print d\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Qc=2.86e-02\n",
- "the system is not in equilibrium and the reaction will move from right to left\n"
- ]
- }
- ],
- "prompt_number": 3
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_15.ipynb b/Chemistry/Chapter_15.ipynb
deleted file mode 100755
index fe8c12e3..00000000
--- a/Chemistry/Chapter_15.ipynb
+++ /dev/null
@@ -1,472 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 15:Acids and Bases"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.2,Page no:662"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "OH=0.0025 # [OH-] ion concentration, M\n",
- "Kw=1*10**-14 # ionic product of water, M**2\n",
- "#Calculation\n",
- "H=Kw/OH # From the formula (ionic product)Kw=[H+]*[OH-]\n",
- "#Result\n",
- "print\"The [H+] ion concentration of the solution is :\",H,\"M\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The [H+] ion concentration of the solution is : 4e-12 M\n"
- ]
- }
- ],
- "prompt_number": 42
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.3,Page no:665"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable declaration\n",
- "H1=3.2*10**-4 #Concentration of [H+] ion on first occasion,\n",
- "H2=1*10**-3 #Concentration of [H+] ion on second occasion, M\n",
- "\n",
- "#Calculation\n",
- "pH1=-math.log10(H1) #from the definition of pH\n",
- "pH2=-math.log10(H2) #from the definition of pH\n",
- "\n",
- "#Result\n",
- "print\"pH of the solution on first occasion is:\",round(pH1,2)\n",
- "print\"pH of the solution on second occasion is :\",pH2\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "pH of the solution on first occasion is: 3.49\n",
- "pH of the solution on second occasion is : 3.0\n"
- ]
- }
- ],
- "prompt_number": 43
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.4,Page no:665"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "pH=4.82 #Given\n",
- "\n",
- "#Calculation\n",
- "H=10**(-pH) #Concentration of [H+] ion, M, formula from the definition of pH\n",
- "\n",
- "#Result\n",
- "print\"The [H+] ion concentration of the solution is :%.1e\"%H,\"M\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The [H+] ion concentration of the solution is :1.5e-05 M\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.5,Page no:666"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "OH=2.9*10**-4 #Concentration of [OH-] ion, M\n",
- "#Calculation\n",
- "pOH=-math.log10(OH) #by definition of p(OH)\n",
- "pH=14-pOH \n",
- "#Result\n",
- "print\"\\t the pH of the solution is :\",round(pH,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t the pH of the solution is : 10.46\n"
- ]
- }
- ],
- "prompt_number": 44
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.6,Page no:669"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable declaration\n",
- "ConcHCl=1*10**-3 #Concentration of HCl solution, M\n",
- "ConcBaOH2=0.02 #Concentration of Ba(OH)2 solution, M\n",
- "\n",
- "#Calculation\n",
- "#for HCL solution\n",
- "H=ConcHCl #Concentration of [H+] ion after ionisation of HCl\n",
- "pH=-math.log10(H) \n",
- "#for Ba(OH)2 solution\n",
- "OH=ConcBaOH2*2 #Concentration of [OH-] ion after ionisation of Ba(OH)2 as two ions are generated per one molecule of Ba(OH)2\n",
- "pOH=-math.log10(OH) \n",
- "pH2=14-pOH \n",
- "\n",
- "#Result\n",
- "print\"(a). The pH of the HCl solution is :\",pH\n",
- "print\"(b). The pH of the Ba(OH)2 solution is :\",round(pH2,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a). The pH of the HCl solution is : 3.0\n",
- "(b). The pH of the Ba(OH)2 solution is : 12.6\n"
- ]
- }
- ],
- "prompt_number": 45
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.8,Page no:675"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable declaration\n",
- "InitHNO2=0.036 #Initial concentration of HNO2 solution, M\n",
- "#Let 'x' be the equilibrium concentration of the [H+] and [NO2-] ions, M\n",
- "Ka=4.5*10**-4 #ionisation constant of HNO2, M\n",
- "\n",
- "#Calculation\n",
- "x=math.sqrt(Ka*InitHNO2) #from the definition of ionisation constant Ka=[H+]*[NO2-]/[HNO2]=x*x/(0.036-x), which reduces to x*x/0.036, as x<<InitHNO2 (approximation)\n",
- "approx=x/InitHNO2*100 #this is the percentage of approximation taken. if it is more than 5%, we will be having higher deviation from correct value\n",
- "if(approx>5):\n",
- " x1=(-Ka+math.sqrt((Ka**2)-(-4*1*Ka*InitHNO2)))/(2*1) \n",
- " x2=(-Ka-math.sqrt((Ka**2)-(-4*1*Ka*InitHNO2)))/(2*1) \n",
- " if(x1>0):\n",
- " x=x1 \n",
- " else :\n",
- " x=x2 \n",
- "pH=-math.log10(x) #since x is the conc. of [H+] ions\n",
- "\n",
- "#Result\n",
- "print\"The pH of the HNO2 solution is :\",round(pH,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pH of the HNO2 solution is : 2.42\n"
- ]
- }
- ],
- "prompt_number": 47
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.9,Page no:676"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "pH=2.39 # pH of the HCOOH acid solution\n",
- "InitHCOOH=0.1 #initial concentration of the solution\n",
- "\n",
- "#Calculation\n",
- "H=10**(-pH) #[H+] ion concentration from the definition of pH, M\n",
- "HCOO_=H #[HCOO-] ion concentration,M\n",
- "HCOOH=InitHCOOH-H #HCOOH concentration in M\n",
- "Ka=(H*HCOO_)/(HCOOH) #ionisation constant of the acid, M, Ka=[H+]*[HCOO-]/[HCOOH]\n",
- "\n",
- "#Result\n",
- "print\"The ionisation constant of the given solution is :%.2e\"%Ka,\"M(approx)\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The ionisation constant of the given solution is :1.73e-04 M(approx)\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.10,Page no:678"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable declaration\n",
- "InitNH3=0.4 #Initial concentration of NH3 solution, M\n",
- "#Let 'x' be the equilibrium concentration of the [OH-] and [NH4+] ions, M\n",
- "Kb=1.8*10**-5 #ionisation constant of NH3, M\n",
- "\n",
- "#Calculation\n",
- "x=math.sqrt(Kb*InitNH3) #from the definition of ionisation constant Kb=[OH-]*[NH4+]/[NH3]=x*x/(InitNH3-x), which reduces to x*x/InitNH3, as x<<InitNH3 (approximation)\n",
- "approx=x/InitNH3*100 #this is the percentage of approximation taken. if it is more than 5%, we will be having higher deviation from correct value\n",
- "if(approx>5):\n",
- " x1=(-Kb+math.sqrt((Kb**2)-(-4*1*Kb*InitNH3)))/(2*1) \n",
- " x2=(-Kb-math.sqrt((Kb**2)-(-4*1*Kb*InitNH3)))/(2*1) \n",
- " if(x1>0):#as only one root is positive\n",
- " x=x1 \n",
- " else:\n",
- " x=x2 \n",
- "pOH=-math.log10(x) #since x is the conc. of [H+] ions\n",
- "pH=14-pOH \n",
- "\n",
- "#Result\n",
- "print\"The pH of the NH3 solution is :\",round(pH,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pH of the NH3 solution is : 11.43\n"
- ]
- }
- ],
- "prompt_number": 49
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.11,Page no:682"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "InitC2H2O4=0.1 #Initial concentration of C2H2O4 solution, M\n",
- "#Let 'x1' be the equilibrium concentration of the [H+] and [C2HO4-] ions, M\n",
- "#First stage of ionisation\n",
- "import math\n",
- "Kw=10**-14 #ionic product of water, M**2\n",
- "Ka1=6.5*10**-2 #ionisation constant of C2H2O4, M\n",
- "\n",
- "#Calculation\n",
- "x=math.sqrt(Ka1*InitC2H2O4) #from the definition of ionisation constant Ka1=[H+]*[C2HO4-]/[C2H2O4]=x*x/(InitC2H2O4-x), which reduces to x*x/InitC2H2O4, as x<<InitC2H2O4 (approximation)\n",
- "approx=x/InitC2H2O4*100 #this is the percentage of approximation taken. if it is more than 5%, we will be having higher deviation from correct value\n",
- "if(approx>5):\n",
- " x1=(-Ka1+math.sqrt((Ka1**2)-(-4*1*Ka1*InitC2H2O4)))/(2*1) \n",
- " x2=(-Ka1-math.sqrt((Ka1**2)-(-4*1*Ka1*InitC2H2O4)))/(2*1) \n",
- " if(x1>0):#as only one root is positive\n",
- " x=x1 \n",
- " else: \n",
- " x=x2 \n",
- "C2H2O4=InitC2H2O4-x #equilibrium value\n",
- "\n",
- "#Result\n",
- "print\"The concentration of the [H2C2O4] in the solution is :\",round(C2H2O4,3),\"M\"\n",
- "\n",
- "\n",
- "#Second stage of ionisation\n",
- "\n",
- "#Variable declaration\n",
- "InitC2HO4=x #concentration of C2HO4 from first stage of ionisation\n",
- "Ka2=6.1*10**-5 #ionisation constant of C2HO4-, M\n",
- "\n",
- "#Calculation\n",
- "#Let 'y' be the concentration of the [C2HO4-] dissociated to form [H+] and [C2HO4-] ions, M\n",
- "y=Ka2 #from the definition of ionisation constant Ka2=[H+]*[C2O4-2]/[C2HO4-]=(0.054+y)*y/(0.054-y), which reduces to y, as y<<InitC2HO4 (approximation)\n",
- "approx=y/InitC2HO4*100 #this is the percentage of approximation taken. if it is more than 5%, we will be having higher deviation from correct value\n",
- "if(approx>5):\n",
- " x1=(-Ka2+math.sqrt((Ka2**2)-(-4*1*Ka2*InitC2HO4)))/(2*1) \n",
- " x2=(-Ka2-math.sqrt((Ka2**2)-(-4*1*Ka2*InitC2HO4)))/(2*1) \n",
- " if(x1>0):#as only one root is positive\n",
- " y=x1 \n",
- " else: \n",
- " y=x2 \n",
- "C2HO4=InitC2HO4-y #from first and second stages of ionisation\n",
- "H=x+y #from first and second stages of ionisation\n",
- "C2O4=y #from the assumption\n",
- "OH=Kw/H # From the formula (ionic product)Kw=[H+]*[OH-]\n",
- "\n",
- "#Result\n",
- "print\"The concentration of the [HC2O4-] ion in the solution is :\",round(C2HO4,3),\"M\"\n",
- "print\"The concentration of the [H+] ion in the solution is :\",round(H,3),\"M\" \n",
- "print\"The concentration of the [C2O4^2-] ion in the solution is :\",C2O4,\"M\"\n",
- "print\"The concentration of the [OH-] ion in the solution is :%.1e\"%OH,\"M\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The concentration of the [H2C2O4] in the solution is : 0.046 M\n",
- "The concentration of the [HC2O4-] ion in the solution is : 0.054 M\n",
- "The concentration of the [H+] ion in the solution is : 0.054 M\n",
- "The concentration of the [C2O4^2-] ion in the solution is : 6.1e-05 M\n",
- "The concentration of the [OH-] ion in the solution is :1.8e-13 M\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:15.13,Page no:690"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "InitCH3COONa=0.15 #Initial concentration of CH3COONa solution, M\n",
- "InitCH3COO=InitCH3COONa #concentration of [CH3COO-] ion after dissociation of CH3COONa solution, M\n",
- "#Let 'x' be the equilibrium concentration of the [OH-] and [CH3COOH] ions after hydrolysis of [CH3COO-], M\n",
- "Kb=5.6*10**-10 #equilibrium constant of hydrolysis, M\n",
- "import math\n",
- "\n",
- "#Calculation\n",
- "x=math.sqrt(Kb*InitCH3COO) #from the definition of ionisation constant Kb=[OH-]*[CH3COOH]/[CH3COO-]=x*x/(0.15-x), which reduces to x*x/0.15, as x<<0.15 (approximation)\n",
- "approx=x/InitCH3COO*100 #this is the percentage of approximation taken. if it is more than 5%, we will be having higher deviation from correct value\n",
- "if(approx>5):\n",
- " x1=(-Kb+math.sqrt((Kb**2)-(-4*1*Kb*InitCH3COO)))/(2*1) \n",
- " x2=(-Kb-math.sqrt((Kb**2)-(-4*1*Kb*InitCH3COO)))/(2*1) \n",
- " if(x1>0):#as only one root is positive\n",
- " x=x1 \n",
- " else: \n",
- " x=x2 \n",
- "pOH=-math.log10(x) #since x is the conc. of [OH-] ions\n",
- "pH=14-pOH \n",
- "\n",
- "#Result\n",
- "print\"The pH of the salt solution is :\",round(pH,2)\n",
- "percenthydrolysis=x/InitCH3COO*100 \n",
- "print\"The percentage of hydrolysis of the salt solution is :\",round(percenthydrolysis,4),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pH of the salt solution is : 8.96\n",
- "The percentage of hydrolysis of the salt solution is : 0.0061 %\n"
- ]
- }
- ],
- "prompt_number": 51
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_16.ipynb b/Chemistry/Chapter_16.ipynb
deleted file mode 100755
index 96bc5bbb..00000000
--- a/Chemistry/Chapter_16.ipynb
+++ /dev/null
@@ -1,584 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 16:Acid-Base Equilibria and Solubility Equilibria"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.1,Page no:715"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "InitCH3COOH1=0.2 #Initial concentration of CH3COOH solution, M\n",
- "#Let 'x' be the equilibrium concentration of the [H+] and [CH3COO-] ions after dissociation of [CH3COOH], M\n",
- "Ka=1.8*10**-5 #equilibrium constant of acid, M\n",
- "InitCH3COONa=0.3 #Initial concentration of CH3COONa solution and is equal to conc of Na+ and CH3COO- as it completely dissociates, M\n",
- "InitCH3COOH2=0.2 #Initial concentration of CH3COOH solution, M\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "import math\n",
- "x1=math.sqrt(Ka*InitCH3COOH1) #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*x/(0.2-x), which reduces to x*x/0.2, as x<<0.2 (approximation)\n",
- "pH1=-math.log10(x1) #since x is the conc. of [H+] ions\n",
- "\n",
- "#(b)\n",
- "#Let 'x' be the equilibrium concentration of the [H+] and hence conc of [CH3COO-] ions is '0.3 + x', M\n",
- "x2=Ka*InitCH3COOH2/InitCH3COONa #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*(0.3+x)/(0.2-x), which reduces to x*0.3/0.2(approximation)\n",
- "pH2=-math.log10(x2) #since x is the conc. of [H+] ions\n",
- "\n",
- "#Result\n",
- "print\"(a) the pH of CH3COOH solution is \",round(pH1,2)\n",
- "print\"(b) the pH of CH3COOH and CH3COONa solution is :\",round(pH2,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the pH of CH3COOH solution is 2.72\n",
- "(b) the pH of CH3COOH and CH3COONa solution is : 4.92\n"
- ]
- }
- ],
- "prompt_number": 92
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16.3,Page no:719"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Ka=1.8*10**-5 #ionisation constant of acid\n",
- "InitCH3COONa=1 #Initial concentration of CH3COONa solution and is equal to conc of Na+ and CH3COO- as it completely dissociates, M\n",
- "InitCH3COOH=1 #Initial concentration of CH3COOH solution, M\n",
- "HCl=0.1 #moles of HCl added to 1L solution\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "#(a)\n",
- "x=Ka*InitCH3COOH/InitCH3COONa #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*(1+x)/(1-x), which reduces to x(approximation)\n",
- "pH=-math.log10(x) #since x is the conc. of [H+] ions\n",
- "#(b)\n",
- "CH3COO=InitCH3COONa-HCl #conc of CH3COO- ions, M\n",
- "CH3COOH=InitCH3COOH+HCl #conc of CH3COOH, M\n",
- "x2=Ka*CH3COOH/CH3COO #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*(0.9+x)/(1.1-x), which reduces to x*0.9/1.1(approximation)\n",
- "pH2=-math.log10(x2) #since x is the conc. of [H+] ions\n",
- "\n",
- "#Result\n",
- "print\"(a) the pH of CH3COOH and CH3COONa solution is :\",round(pH,2)\n",
- "print\"(b) the pH of solution after adding HCl is :\",round(pH2,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the pH of CH3COOH and CH3COONa solution is : 4.74\n",
- "(b) the pH of solution after adding HCl is : 4.66\n"
- ]
- }
- ],
- "prompt_number": 93
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.5,Page no:728"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "InitCH3COOH=0.1 #Initial concentration of CH3COOH solution, M\n",
- "VCH3COOH=25 #volumeof CH3COOH, mL\n",
- "nCH3COOH=InitCH3COOH*VCH3COOH/1000 \n",
- "Ka=1.8*10**-5 #equilibrium constant of acid, M\n",
- "Kb=5.6*10**-10 #equilibrium constant of base, M\n",
- "N=0.1 #Initial concentration of NaOH solution, M\n",
- "V=10 #Initial volume of NaOH solution, mL\n",
- "\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "n=N*V/1000 #Initial moles of NaOH solution\n",
- "import math\n",
- "nCH3COOH_tit=nCH3COOH-n #moles of CH3COOH after titration\n",
- "nCH3COO=n #moles of CH3COO after titration\n",
- "H=nCH3COOH_tit*Ka/nCH3COO #conc of H+ ions, M\n",
- "pH=-math.log10(H) #since H is the conc. of [H+] ions\n",
- "\n",
- "#Result\n",
- "print\"(a) the pH of the solution is :\",round(pH,2)\n",
- "\n",
- "\n",
- "#Calculation\n",
- "#(b)\n",
- "V2=25.0 #Initial volume of NaOH solution, mL\n",
- "n2=N*V2/1000.0 #Initial moles of NaOH solution\n",
- "nCH3COOH_tit2=nCH3COOH-n2 #moles of CH3COOH after titration\n",
- "nCH3COO2=n2 #moles of CH3COO- ions after titration\n",
- "V_total=V2+VCH3COOH #total volume after titration\n",
- "CH3COO=nCH3COO2/V_total*1000 #conc of CH3COO- ions, M\n",
- "x=math.sqrt(Kb*CH3COO) #from the definition of ionisation constant Kb=[OH-]*[CH3COOH]/[CH3COO-]=x*x/(0.05-x), which reduces to x*x/0.05, as x<<0.05 (approximation)\n",
- "pOH=-math.log10(x) #since x is the conc. of [OH-] ions\n",
- "pH2=14.0-pOH \n",
- "\n",
- "#Result\n",
- "print\"(b) the pH of the solution is :\",round(pH2,2)\n",
- "\n",
- "#Calculation\n",
- "#(c)\n",
- "N=0.1 #Initial concentration of NaOH solution, M\n",
- "V=35 #Initial volume of NaOH solution, mL\n",
- "n=N*V/1000 #Initial moles of NaOH solution\n",
- "n_tit=n-nCH3COOH #moles of NaOH after titration\n",
- "nCH3COO=nCH3COOH #moles of CH3COO- ions after titration\n",
- "V_total=V+VCH3COOH #total volume\n",
- "OH=n_tit/V_total*1000 #conc of OH- ions, M\n",
- "pOH=-math.log10(OH) #since OH is the conc. of [OH-] ions\n",
- "pH=14-pOH \n",
- "\n",
- "#Result\n",
- "print\"(c) the pH of the solution is :\",round(pH,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the pH of the solution is : 4.57\n",
- "(b) the pH of the solution is : 8.72\n",
- "(c) the pH of the solution is : 12.22\n"
- ]
- }
- ],
- "prompt_number": 94
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.6,Page no:730"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "InitNH3=0.1 #Initial concentration of NH3 solution, M\n",
- "VNH3=25 #volume of NH3, mL\n",
- "nNH3=InitNH3*VNH3/1000 \n",
- "Ka=5.6*10**-10 #equilibrium constant of acid, M\n",
- "N=0.1 #Initial concentration, M\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "V=VNH3/InitNH3*N #Initial volume, mL\n",
- "V_total=V+VNH3 #total volume of the mixture, mL\n",
- "n_NH4Cl=nNH3 #moles of NH4Cl\n",
- "NH4Cl=n_NH4Cl/V_total*1000 #conc of NH4+ ions formed, M\n",
- "x=math.sqrt(Ka*NH4Cl) #from the definition of ionisation constant Ka=[H+]*[NH3]/[NH4+]=x*x/(NH4+-x), which reduces to x*x/NH4+, as x<<NH4+ (approximation)\n",
- "pH=-math.log10(x) #since x is the conc. of [H+] ions\n",
- "\n",
- "#Result\n",
- "print\"The pH of the solution at equivalent point is :\",round(pH,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pH of the solution at equivalent point is : 5.28\n"
- ]
- }
- ],
- "prompt_number": 95
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16.8,Page no:738"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "solubility=0.67 #solubility of CaSO4, g/L\n",
- "\n",
- "#Calculation\n",
- "M=136.2 #mol mass of CaSO4, g\n",
- "s=solubility/M #concentration, M\n",
- "Ksp=s**2 #solubility product\n",
- "\n",
- "#Result\n",
- "print\"The Ksp of CaSO4 is :%.1e\"%Ksp"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Ksp of CaSO4 is :2.4e-05\n"
- ]
- }
- ],
- "prompt_number": 96
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.9,Page no:739"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Ksp=2.2*10**-20 #solubility product\n",
- "M=97.57 #mol mass of Cu(OH)2, g\n",
- "\n",
- "#Calculation\n",
- "s=(Ksp/4.0)**(1.0/3.0) #concentration, M\n",
- "solubility=s*M #solubility of Cu(OH)2, g/L\n",
- "\n",
- "#Result\n",
- "print\"The solubility of Cu(OH)2 is :%.2e\"%solubility,\"g/L\"\n",
- "\n",
- "#ALTERNATIVE METHOD:\n",
- "\n",
- "#Variable declaration\n",
- "Kspt=2.2*10**-20 #Ksp value from table 16.2\n",
- "M=97.75 #Molar mass of Cu(OH)2\n",
- "\n",
- "#Calculation\n",
- "from scipy.optimize import fsolve\n",
- "def f(s):\n",
- " Cu2=s\n",
- " OH_=2*s\n",
- " return(Kspt-(Cu2*(OH_**2)))\n",
- "s=fsolve(f,1)\n",
- "solubility=round(s,8)*M\n",
- "\n",
- "#Result\n",
- "print \"Alternative method: Solubility of Cu(OH)2=%.1e\"%solubility,\"g/L\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The solubility of Cu(OH)2 is :1.72e-05 g/L\n",
- "Alternative method: Solubility of Cu(OH)2=1.8e-05"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " g/L\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.10,Page no:741"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Ksp=1.1*10**-10 #solubility product of BaSO4\n",
- "#for Ba2+ ion\n",
- "N=0.004 #normality, M\n",
- "V=200 #vol in mL\n",
- "n=N*V/1000 #moles\n",
- "#for K2SO4sol\n",
- "N1=0.008 #normality, M\n",
- "V1=600 #vol in mL\n",
- "\n",
- "#Calculation\n",
- "n1=N1*V1/1000 #moles\n",
- "Nnew=n*1000/(V+V1) #conc of Ba2+ ions in final sol\n",
- "N1new=n1*1000/(V+V1) #conc of SO4 2- ions in final sol\n",
- "Q=Nnew*N1new #as Q=[Ba2+][SO4 2-]\n",
- "\n",
- "#Result\n",
- "print\"Q=\",Q\n",
- "if(Q>Ksp): #determination of precipitation\n",
- " print\"Q>Ksp, The solution is supersaturated and hence a precipitate will form\"\n",
- "else: \n",
- " print\"Q<Ksp, The solution is not supersaturated and hence a precipitate will not form\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q= 6e-06\n",
- "Q>Ksp, The solution is supersaturated and hence a precipitate will form\n"
- ]
- }
- ],
- "prompt_number": 99
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.11,Page no:743"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Br=0.02 #conc of Ag+ ions, M\n",
- "Ksp1=7.7*10**-13 #solubility product of AgBr\n",
- "Ksp2=1.6*10**-10 #solubility product of AgCl\n",
- "Cl=0.02 #conc of Cl- ions, M\n",
- "\n",
- "#Calculation\n",
- "#for Br\n",
- "Ag1=Ksp1/Br #conc of Ag+ ions at saturated state, M\n",
- "#for Cl\n",
- "Ag2=Ksp2/Cl #conc of Ag+ ions at saturated state, M\n",
- "\n",
- "#Result\n",
- "print \"[Ag+]=\",Ag2,\"M\"\n",
- "print\"To precipitate Br- without precipitating Cl- the concentration of Ag must be greater than %.1e\"%Ag1,\"M but less than\",Ag2,\"M\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "[Ag+]= 8e-09 M\n",
- "To precipitate Br- without precipitating Cl- the concentration of Ag must be greater than 3.9e-11 M but less than 8e-09 M\n"
- ]
- }
- ],
- "prompt_number": 100
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.12,Page no: 745"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "N_AgNO3=6.5*10**-3 #normality of AgNO3, M\n",
- "AgCl=143.4 #mol mass of AgCl, g\n",
- "Ksp=1.6*10**-10 #solubility product of AgCl\n",
- "\n",
- "#Calculation\n",
- "Ag=N_AgNO3 #conc of Ag+ ions as 's' is negligible, M\n",
- "s=Ksp/Ag #as Ksp=[Ag+][Cl-], molar solubility of AgCl, M\n",
- "solubility=s*AgCl #solubility of AgCl in AgBr solution, g/L\n",
- "\n",
- "#Result\n",
- "print\"The solubility of AgCl in AgBr solution is :%.2e\"%solubility,\"g/L\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The solubility of AgCl in AgBr solution is :3.53e-06 g/L\n"
- ]
- }
- ],
- "prompt_number": 101
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.14,Page no:748"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "FeCl2=0.003 #normality of FeCl2, M\n",
- "Fe=FeCl2 #as Fe2+ is strong electrolyte, conc of Fe2+=conc of FeCl2, M\n",
- "Ksp=1.6*10**-14 #solubility product of FeCl2\n",
- "Kb=1.8*10**-5 #ionisation constant of base\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "OH=math.sqrt(Ksp/Fe) #as Ksp=[Fe2+][OH-]**2, conc of OH- ions, M\n",
- "x=(OH**2)/Kb+OH #as Kb=[NH4+][OH-]/[NH3]\n",
- "\n",
- "#Result\n",
- "print\"To initiate precipitation the conc of NH3 must be slightly greater than :%.1e\"%x,\"M\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "To initiate precipitation the conc of NH3 must be slightly greater than :2.6e-06 M\n"
- ]
- }
- ],
- "prompt_number": 102
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.15,Page no:750"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "CuSO4=0.2 #normality of CuSO4, M\n",
- "NH3=1.2 #initial conc of NH3, M\n",
- "VNH3=1 #volume of NH3, L\n",
- "Kf=5*10**13 #formation constant\n",
- "\n",
- "#Calculation\n",
- "CuNH34=CuSO4 #conc of Cu(NH3)4 2+, M\n",
- "NH3=NH3-4*CuNH34 #conc of NH3 after formation of complex, as 4 moles of NH3 react to form 1 mole complex, M\n",
- "x=CuNH34/(NH3**4*Kf) #as Kf=[Cu(SO4)3 2+]/[Cu2+][NH3]**4\n",
- "\n",
- "#Result\n",
- "print\"The conc of Cu2+ ions in equilibrium is :%.1e\"%x,\"M\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The conc of Cu2+ ions in equilibrium is :1.6e-13 M\n"
- ]
- }
- ],
- "prompt_number": 103
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:16.16,Page no:751"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "InitNH3=1 #initial conc of NH3, M\n",
- "Ksp=1.6*10**-10 #solubility product of AgCl\n",
- "Kf=1.5*10**7 #formation constant of complex\n",
- "\n",
- "#Calculation\n",
- "K=Ksp*Kf #overall equilibrium constant\n",
- "import math\n",
- "s=math.sqrt(K)/(1+2*InitNH3*math.sqrt(K)) #molar solubility of AgCl, M\n",
- "\n",
- "#Result\n",
- "print\"Amount of AgCl which can be dissolved in 1 L of 1 M NH3 sol in equilibrium is :\",round(s,3),\"M\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Amount of AgCl which can be dissolved in 1 L of 1 M NH3 sol in equilibrium is : 0.045 M\n"
- ]
- }
- ],
- "prompt_number": 91
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_17.ipynb b/Chemistry/Chapter_17.ipynb
deleted file mode 100755
index 8debeae7..00000000
--- a/Chemistry/Chapter_17.ipynb
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 17:Chemistry in the Atmosphere"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:17.1,Page no:774"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "E=498.7*10**3/(6.022*10**23) #energy in J/molecule\n",
- "h=6.63*10**-34 #plancks constant, J s\n",
- "\n",
- "#Calculation\n",
- "v=E/h #frequency of the photon, s**-1\n",
- "lamda=3*10**8/v #wavelength in m, since v*lambda=speed of light in vacuum\n",
- "\n",
- "#Variable declaration\n",
- "print\"The maximum wavelength of the photon which can dissociate an O2 molecule is :\",round(lamda*10**9),\"nm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The maximum wavelength of the photon which can dissociate an O2 molecule is : 240.0 nm\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:17.3,Page no:792"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Rninitial=1 #initial mass of Rn, g\n",
- "\n",
- "#Calculation\n",
- "Rnfinal=Rninitial*0.5**10 #final mass of Rn, g\n",
- "\n",
- "#Result\n",
- "print\"The amount of Rn left after 10 half lives is :%.1e\"%Rnfinal,\"g\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The amount of Rn left after 10 half lives is :9.8e-04 g\n"
- ]
- }
- ],
- "prompt_number": 5
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_18.ipynb b/Chemistry/Chapter_18.ipynb
deleted file mode 100755
index aabe2f15..00000000
--- a/Chemistry/Chapter_18.ipynb
+++ /dev/null
@@ -1,284 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 18:Entropy, Free Energy,and Equilibrium"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:18.2,Page no:809"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#(a)\n",
- "SCaO=39.8 #standard entropy of CaO, J/K mol\n",
- "SCO2=213.6 #standard entropy of CO2, J/K mol\n",
- "SCaCO3=92.9 #standard entropy of CaCO3, J/K mol\n",
- "#(b)\n",
- "SNH3=193 #standard entropy of NH3, J/K mol\n",
- "SN2=192 #standard entropy of N2, J/K mol\n",
- "SH2=131 #standard entropy of H2, J/K mol\n",
- "#(c)\n",
- "SHCl=187 #standard entropy of HCl, J/K mol\n",
- "SH2=131 #standard entropy of H2, J/K mol\n",
- "SCl2=223 #standard entropy of Cl2, J/K mol\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "deltaSrxn1=SCaO+SCO2-SCaCO3 #standard entropy change of the reaction, J/K mol\n",
- "#(b)\n",
- "deltaSrxn2=2*SNH3-(SN2+3*SH2) #standard entropy change of the reaction, J/K mol\n",
- "#(c)\n",
- "deltaSrxn3=2*SHCl-SH2-SCl2 #standard entropy change of the reaction, J/K mol\n",
- "\n",
- "#Result\n",
- "print\"(a) the standard entropy of reaction is :\",deltaSrxn1,\"J/K mol\"\n",
- "print\"(b) the standard entropy of reaction is :\",deltaSrxn2,\"J/K mol\"\n",
- "print\"(c) the standard entropy of reaction is :\",deltaSrxn3,\"J/K mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the standard entropy of reaction is : 160.5 J/K mol\n",
- "(b) the standard entropy of reaction is : -199 J/K mol\n",
- "(c) the standard entropy of reaction is : 20 J/K mol\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:18.4,Page no:817"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#(a)\n",
- "GCO2=-394.4 #free energy of formation of CO2, kJ/mol\n",
- "GH2O=-237.2 #free energy of formation of H2O, kJ/mol\n",
- "GCH4=-50.8 #free energy of formation of CH4, kJ/mol\n",
- "GO2=0 #free energy of formation of O2, kJ/mol\n",
- "#(b)\n",
- "GMg=0 #free energy of formation of Mg, kJ/mol\n",
- "GMgO=-569.6 #free energy of formation of MgO, kJ/mol\n",
- "GO2=0 #free energy of formation of O2, kJ/mol\n",
- "\n",
- "#Calculation\n",
- "deltaGrxn1=(GCO2+GH2O*2)-(GCH4+2*GO2) #standard free energy change of the reaction, kJ/mol\n",
- "deltaGrxn=(GO2+GMg*2)-(2*GMgO) #standard free energy change of the reaction, kJ/mol\n",
- "\n",
- "#Result\n",
- "print\"(a) The standard free energy change of reaction is :\",deltaGrxn1,\"kJ/mol\"\n",
- "print\"(b) The standard free energy change of reaction is :\",round(deltaGrxn),\"kJ/mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) The standard free energy change of reaction is : -818.0 kJ/mol\n",
- "(b) The standard free energy change of reaction is : 1139.0 kJ/mol\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:18.5,Page no:820"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#for fusion\n",
- "T1=5.5+273 #temperature of fusion, K\n",
- "deltaH1=10.9*1000 #change in enthalpy, J/mol\n",
- "#for vaporisation\n",
- "T2=80.1+273 #temperature of vaporisation, K\n",
- "deltaH2=31*1000 #change in enthalpy, J/mol\n",
- "\n",
- "#Calculation\n",
- "deltaSf=deltaH1/T1 #since in fusion deltaG=0, J/ K mol\n",
- "deltaSv=deltaH2/T2 #since in vaporisation deltaG=0, J/ K mol\n",
- "\n",
- "#Result\n",
- "print\"The entropy change for fusion is\",round(deltaSf,1),\"J/K.mol\" \n",
- "print\"The entropy change for condensation is : \",round(deltaSv,1),\"J/K mol\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The entropy change for fusion is 39.1 J/K.mol\n",
- "The entropy change for condensation is : 87.8 J/K mol\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:18.6,Page no:823"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "T=298 #temperature, K\n",
- "R=8.314 #gas constant, J/K mol\n",
- "GH2=0 #free energy of formation of H2, kJ/mol\n",
- "GH2O=-237.2 #free energy of formation of H2O, kJ/mol\n",
- "GO2=0 #free energy of formation of O2, kJ/mol\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "deltaG=1000*(2*GH2+GO2-2*GH2O) #free energy of rxn, J/mol\n",
- "Kp=math.exp(-deltaG/(R*T)) #equilibrium constant for rxn\n",
- "\n",
- "#Result\n",
- "print\"deltaG_rxn=\",deltaG/1000,\"kJ/mol\"\n",
- "print\"The equilibrium constant for the given reaction is :%.e\"%Kp"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "deltaG_rxn= 474.4 kJ/mol\n",
- "The equilibrium constant for the given reaction is :7e-84\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:18.7,Page no:824"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "T=298 #temperature, K\n",
- "R=8.314 #gas constant, J/K mol\n",
- "Ksp=1.6*10**-10 #solubility constant\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "deltaG=-R*T*math.log(Ksp) #here solubility product is equal to equilibrium constant\n",
- "\n",
- "#Result\n",
- "print\"The free energy for the given reaction is :\",round(deltaG*10**-3),\"kJ/mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The free energy for the given reaction is : 56.0 kJ/mol\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:18.8,Page no:825"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "T=298 #temperature, K\n",
- "R=8.314 #gas constant, J/K mol\n",
- "deltaG0=5.4*10**3 #standard free energy, kJ/mol\n",
- "pNO2=0.122 #pressure of NO2, atm\n",
- "pN2O4=0.453 #pressure of N2O4, atm\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "deltaG=deltaG0+R*T*math.log(pNO2**2/pN2O4) #here solubility product is equal to equilibrium constant\n",
- "\n",
- "#Result\n",
- "if(deltaG<0):#equilibrium determination\n",
- " d=\"net reaction proceeds from left to right to reach equilibrium\" \n",
- "else:\n",
- " d=\"net reaction proceeds from right to left to reach equilibrium\" \n",
- "print\"The free energy for the given reaction is :\",round(deltaG*10**-3,2),\"kJ/mol and\",d\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The free energy for the given reaction is : -3.06 kJ/mol and net reaction proceeds from left to right to reach equilibrium\n"
- ]
- }
- ],
- "prompt_number": 27
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_19.ipynb b/Chemistry/Chapter_19.ipynb
deleted file mode 100755
index c904a842..00000000
--- a/Chemistry/Chapter_19.ipynb
+++ /dev/null
@@ -1,267 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 19:Electrochemistry"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:19.3,Page no:848"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "E0cathode=0.8 #standard electrode potential of cathode(Ag+/Ag), V\n",
- "E0anode=-2.37 #standard electrode potential of anode(Mg2+/Mg), V\n",
- "\n",
- "#Calculation\n",
- "E0cell=E0cathode-E0anode #standard emf of the cell, V\n",
- "\n",
- "#Result\n",
- "print\"The standard emf of the cell is :\",E0cell,\"V\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The standard emf of the cell is : 3.17 V\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:19.4,Page no:850"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "n=2.0 \n",
- "E0cathode=0.15 #standard electrode potential of cathode(Cu2+/Cu+), V\n",
- "E0anode=-0.14 #standard electrode potential of anode(Sn2+/Sn), V\n",
- "\n",
- "#Calculation\n",
- "E0cell=E0cathode-E0anode #standard emf of the cell, V\n",
- "import math\n",
- "K=math.exp(round(n*E0cell/0.0257,1)) #equilibrium constant, from the formula E0cell=0.0257*lnK/n\n",
- "\n",
- "#Result\n",
- "print\"The equilibrium constant for the given reaction is :%.e\"%K "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.29\n",
- "The equilibrium constant for the given reaction is :7e+09\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:19.5,Page no:851"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "n=6 \n",
- "F=96500 #faraday constant, J/V mol\n",
- "E0cathode=-2.87 #standard electrode potential of cathode(Ca2+/Ca), V\n",
- "E0anode=1.5 #standard electrode potential of anode(Au3+/Au), V\n",
- "\n",
- "#Calculation\n",
- "E0cell=E0cathode-E0anode #standard emf of the cell, V\n",
- "deltaG0=-n*F*E0cell #standard free energy change for the reaction, kJ/mol\n",
- "\n",
- "#Result\n",
- "print\"The standard free energy change for the reaction is :%.2e\"%(deltaG0/1000),\"kJ/mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The standard free energy change for the reaction is :2.53e+03 kJ/mol\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:19.6,Page no:853"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "n=2 \n",
- "F=96500 #faraday constant, J/V mol\n",
- "Co2=0.15 #conc of Co2+ ions, M\n",
- "Fe2=0.68 #conc of Fe2+ ions, M\n",
- "E0cathode=-0.44 #standard electrode potential of cathode(Fe2+/Fe), V\n",
- "E0anode=-0.28 #standard electrode potential of anode(Co2+/Co), V\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "E0cell=E0cathode-E0anode #standard emf of the cell, V\n",
- "Ecell=E0cell-0.0257/2*math.log(Co2/Fe2) #calculation of cell potential at non standard conditions, V\n",
- "\n",
- "#Result\n",
- "print \"E=\",round(Ecell,2),\"V\"\n",
- "if(Ecell>0):\n",
- " print\"The reaction would proceed spontaneously in the direction written\"\n",
- "else:\n",
- " print\"The reaction is not spontaneously in the direction written\"\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "E= -0.14 V\n",
- "The reaction is not spontaneously in the direction written\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:19.7,Page no:855"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "n=2 \n",
- "Zn=1 #conc of Zn2+ ions, M\n",
- "pH2=1 #pressure of H2 gas, atm\n",
- "Ecell=0.54 #emf of the cell, V\n",
- "E0cell=0.76 #standard emf of the cell, V\n",
- "\n",
- "#Calculation\n",
- "import math\n",
- "Q=math.exp(-(Ecell-E0cell)*2/0.0257) #since Ecell=E0cell-0.0257/2*log(Q) where Q=(Zn2+)*pH2/(H+)**2\n",
- "H=math.sqrt(Zn*pH2/Q) #the conc of H+ ions, M\n",
- "\n",
- "#Result\n",
- "print\"The molar concentration of H+ ion is :%.e\"%H,\"M\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molar concentration of H+ ion is :2e-04 M\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:19.9,Page no:870"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "t=7.44*3600 #time, sec\n",
- "A=1.26 #current in ampere\n",
- "F=96500.0 #faraday constant, J/V mol\n",
- "R=0.0821 #gas constant, L atm/K\n",
- "T=273.0 #temperature in Kelvin\n",
- "P=1.0 #pressure in atm\n",
- "\n",
- "#Calculation\n",
- "q=A*t #charge passed, coulomb\n",
- "ne=q/F #moles of electrons\n",
- "nO2=ne/4.0 #moles of oxygen\n",
- "nH2=ne/2.0 #moles of H2\n",
- "VO2=nO2*R*T/P #volume of oxygen gas generated\n",
- "VH2=nH2*R*T/P #volume of H2 gas generated\n",
- "\n",
- "#Result\n",
- "print\"The volume of O2 gas is:\",round(VO2,2),\"L\"\n",
- "print\"Volume of H2 gas generated is:\",round(VH2,2),\"L\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of O2 gas is: 1.96 L\n",
- "Volume of H2 gas generated is: 3.92 L\n"
- ]
- }
- ],
- "prompt_number": 26
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_23.ipynb b/Chemistry/Chapter_23.ipynb
deleted file mode 100755
index c36a0d3c..00000000
--- a/Chemistry/Chapter_23.ipynb
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 23:Nuclear Chemistry"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:23.2,Page no:994"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "NA=6.022*10**23 #avogadro number\n",
- "c=3*10**8 #speed of light, m/s\n",
- "p=1.007825 #mass of proton, amu\n",
- "n=1.008665 #mass of neutron, amu\n",
- "mI=126.9004 #atomic mass of I, amu\n",
- "\n",
- "#Calculation\n",
- "pI=53*p+74*n #estimated mass of I, amu\n",
- "deltam=mI-pI #mass defect, amu\n",
- "deltaE=-deltam*c**2 #energy released, amu m**2/s**2\n",
- "deltaE=deltaE/(NA*1000) #energy released in J\n",
- "print\"Nuclear binding energy is %.2e\"%deltaE,\"J\"\n",
- "deltaE=deltaE/127 #binding energy per nucleon, J\n",
- "\n",
- "#Result\n",
- "print\"The nuclear binding energy per nucleon is :%.2e\"%deltaE,\"J/nucleon\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Nuclear binding energy is 1.73e-10 J\n",
- "The nuclear binding energy per nucleon is :1.36e-12 J/nucleon\n"
- ]
- }
- ],
- "prompt_number": 5
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_3.ipynb b/Chemistry/Chapter_3.ipynb
deleted file mode 100755
index 96753167..00000000
--- a/Chemistry/Chapter_3.ipynb
+++ /dev/null
@@ -1,676 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 3:Mass Relationships in Chemical Reactions"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.1,Page no:81"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Cu63=69.09 #percent of Cu 62.93 amu\n",
- "Cu65=30.91 #percent of Cu 64.9278 amu\n",
- "\n",
- "#Calculation\n",
- "AverageAMU=62.93*Cu63/100+64.9278*Cu65/100 # average amu\n",
- "\n",
- "#Result\n",
- "print\"The average atomic mass of Copper is :\",round(AverageAMU,2),\"amu\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The average atomic mass of Copper is : 63.55 amu\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 33
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.2,Page no:84"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "mass=6.46 #mass of He, g\n",
- "\n",
- "#Calculation\n",
- "moles=mass/4.003 #no. of moles of He, as mol. mass of He is 4.003 amu\n",
- "\n",
- "#Result\n",
- "print\"The no. of moles of He is :\",round(moles,2),\"mol He\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The no. of moles of He is : 1.61 mol He\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.3,Page no:84"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "moles=0.356 #moles of Zn\n",
- "\n",
- "#Calculation\n",
- "mass=moles*65.39 #mass of Zn, g, 1 mole=65.39 g\n",
- "\n",
- "#Result\n",
- "print\"The mass of Zn is :\",round(mass,1),\"g Zn\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of Zn is : 23.3 g Zn\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.4,Page no:84"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Na=6.022*10**23 # Avogadro number, atoms/mol\n",
- "mass=16.3 #mass of sulfur, g\n",
- "\n",
- "\n",
- "#Calculation\n",
- "moles=mass/32.07 #moles of S\n",
- "atoms=moles*Na #number of atoms of S\n",
- "\n",
- "#Result\n",
- "print\"The no. of atoms of S is :%.2e\"%atoms,\"S atoms\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The no. of atoms of S is :3.06e+23 S atoms\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.5,Page no:86"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "MassO=16.0 #mass of O, amu\n",
- "MassS=32.07 #mass of S, amu\n",
- "MassN=14.01 #mass of N, amu\n",
- "MassH=1.008 #mass of H, amu\n",
- "MassC=12.01 #mass of C, amu\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "MassSO2=MassS+MassO*2 #mass of SO2, amu\n",
- "#(b)\n",
- "MassC8H10N4O2=8*MassC+10*MassH+4*MassN+2*MassO \n",
- "\n",
- "#Result\n",
- "print\"(a).The molecular mass of SO2 is :\",MassSO2,\"amu\\n\"\n",
- "print\"(b).The molecular mass of C8H10N4O2 is :\",MassC8H10N4O2,\"amu\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a).The molecular mass of SO2 is : 64.07 amu\n",
- "\n",
- "(b).The molecular mass of C8H10N4O2 is : 194.2 amu\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 34
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.6,Page no:86"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Mass=6.07 #mass of CH4, g\n",
- "MassC=12.01 #mol. mass of C, amu\n",
- "MassH=1.008 #mol. mass of H, amu\n",
- "\n",
- "#Calculation\n",
- "MassCH4=MassC+4*MassH #mol. mass of CH4, amu\n",
- "Moles=Mass/MassCH4 #no. of moles of CH4\n",
- "\n",
- "#Result\n",
- "print\"The no. of moles of CH4 is :\",round(Moles,3),\"mol CH4\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The no. of moles of CH4 is : 0.378 mol CH4\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.7,Page no:87"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Na=6.07*10**23 # Avogadro number, atoms/mol\n",
- "Mass=25.6 #mass of Urea, g\n",
- "MolMass=60.06 #mol. mass of Urea, g\n",
- "\n",
- "#Calculation\n",
- "moles=Mass/MolMass #moles of Urea, mol\n",
- "Atoms=moles*Na*4 #No. of atoms of Hydrogen\n",
- "\n",
- "#Result\n",
- "print\"The no. of atoms of hydrogen are :%.2e\"%Atoms,\"H atoms\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The no. of atoms of hydrogen are :1.03e+24 H atoms\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.8,Page no:89"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "H=1.008 #molar mass of H, g\n",
- "P=30.97 #molar mass of P, g\n",
- "O=16 #molar mass of O, g\n",
- "MolMass=97.99 #mol. mass of H3PO4, g\n",
- "\n",
- "#Calculation\n",
- "percentH=3*H/MolMass*100 #percent of H\n",
- "percentP=P/MolMass*100 #percent of P\n",
- "percentO=4*O/MolMass*100 #percent of O\n",
- "\n",
- "#Result\n",
- "print\"The percent by mass of Hydrogen is :\",round(percentH,3),\"%\\n\"\n",
- "print\"The percent by mass of Phosphorus is :\",round(percentP,2),\"%\\n\"\n",
- "print\"The percent by mass of Oxygen is :\",round(percentO,2),\"%\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The percent by mass of Hydrogen is : 3.086 %\n",
- "\n",
- "The percent by mass of Phosphorus is : 31.61 %\n",
- "\n",
- "The percent by mass of Oxygen is : 65.31 %\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.9,Page no:90"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "H=1.008 #molar mass of H, g\n",
- "C=12.01 #molar mass of C, g\n",
- "O=16.0 #molar mass of O, g\n",
- "percentC=40.92 #percent of C\n",
- "\n",
- "#Calculation\n",
- "nC=percentC/C \n",
- "percentH=4.58 #percent of H\n",
- "nH=percentH/H \n",
- "percentO=54.5 #percent of O\n",
- "nO=percentO/O \n",
- "if(nC>nH):# determining the smallest subscript\n",
- " small=nH\n",
- "else:\n",
- " small=nC \n",
- " if(small>nO):\n",
- " small=nO \n",
- "\n",
- "nC=nC/small #dividing by the smallest subscript\n",
- "nH=nH/small \n",
- "nO=nO/small \n",
- "#the approximate values of these variables are to be multiplied by appropriate number to make it an integer by trial and error method\n",
- "#in this case we need to multiply with 3 to get integer values\n",
- "nC=nC*3 \n",
- "nH=nH*3 \n",
- "nO=nO*3 \n",
- "\n",
- "#Result\n",
- "print\"The empirical formula of ascorbic acid is : C%.f\"%nC,\"H%.f\"%nH,\"O%.f\"%nO"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The empirical formula of ascorbic acid is : C3 H4 O3\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.10,Page no:91"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "massCuFeS2=3.71*10**3 #given mass of CuFeS2, kg\n",
- "CuFeS2=183.5 #mol. mass of CuFeS2, g\n",
- "Cu=63.55 #mol. mass of Cu, g\n",
- "\n",
- "#Calculation\n",
- "percentCu=Cu/CuFeS2*100 #percent Cu in CuFeS2\n",
- "massCu=percentCu*massCuFeS2/100#mass of Cu in given CuFeS2, kg\n",
- "\n",
- "#Result\n",
- "print\"The mass of Cu in CuFeS2 is :%.2e\"%massCu,\"kg\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of Cu in CuFeS2 is :1.28e+03 kg\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.11,Page no:93"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "M_N=1.52 #Mass of nitrogen in g\n",
- "M_O=3.47 #Mass of oxygen in g\n",
- "N=14.01 #Atomic mass of N\n",
- "Molar1=95 #Molar mass in g \n",
- "O=16 #Atomic mass of O\n",
- "\n",
- "#Calculation\n",
- "n_N=M_N/N #No of moles of N\n",
- "n_O=M_O/O #No of moles of O\n",
- "emp=N+2*(O) #Empirical molar massof NO2\n",
- "ratio=Molar1/emp\n",
- "ratio=round(ratio)\n",
- "actual=ratio*emp\n",
- "\n",
- "#Result\n",
- "print\"Molecular formula is N%.3g\"%n_N,\"O%.3g\"%n_O\n",
- "print \"Actual molar mass is\",actual,\"g,which is between 90 g and 95 g\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Molecular formula is N0.108 O0.217\n",
- "Actual molar mass is 92.02 g,which is between 90 g and 95 g\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.13,Page no:101"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "CO2=44.01 #mol. mass of CO2, g\n",
- "Glucose=180.2 #mol. mass of Glucose, g\n",
- "massGlucose=856 #given mass of Glucose, g\n",
- "\n",
- "#Calculation\n",
- "moleGlucose=massGlucose/Glucose # moles of glucose\n",
- "moleCO2=moleGlucose*6 #1 mole glucose gives 6 moles of CO2\n",
- "massCO2=moleCO2*CO2 # mass of CO2, g\n",
- "\n",
- "#Result\n",
- "print\"The mass of CO2 is :%.2e\"%massCO2,\"g CO2\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of CO2 is :1.25e+03 g CO2\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.14,Page no:102"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "H2=2.016 #mol. mass of H2, g\n",
- "Li=6.941 #mol. mass of Li, g\n",
- "mH2=9.89 #mass of H2, g\n",
- "\n",
- "#Calculation\n",
- "nH2=mH2/H2 #moles of H2\n",
- "nLi=2*nH2 #moles of Li, 1mol H2 given by 2mol Li\n",
- "mLi=Li*nLi ##mass of Li, g\n",
- "\n",
- "#Result\n",
- "print\"The mass of Li is :\",round(mLi,1),\"g Li\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of Li is : 68.1 g Li\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.15,Page no:104"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Urea=60.06 #mol. mass of Urea, g\n",
- "NH3=17.03 #mol. mass of NH3, g\n",
- "CO2=44.01 #mol. mass of CO2, g\n",
- "\n",
- "#(a)\n",
- "#for NH3\n",
- "mNH3=637.2 #mass of NH3, g\n",
- "\n",
- "#Calculation\n",
- "nNH3=mNH3/NH3 #moles of NH3\n",
- "nUrea1=nNH3/2#moles of Urea\n",
- "#for CO2\n",
- "mCO2=1142#mol. mass of CO2, g\n",
- "nCO2=mCO2/CO2 #moles of CO2\n",
- "nUrea2=nCO2 #moles of Urea\n",
- "if(nUrea1>nUrea2): #finding limiting reagent\n",
- " nUrea=nUrea2 \n",
- " limiting=\"CO2\" \n",
- "else:\n",
- " limiting=\"NH3\" \n",
- " nUrea=nUrea1 \n",
- " \n",
- "#Result\n",
- "print\"(a).The limiting reagent is :\",limiting\n",
- "#(b)\n",
- "mUrea=nUrea*Urea #mass of urea produced\n",
- "print\"(b).The mass of the Urea produced is :\",round(mUrea),\"g (NH2)2CO\"\n",
- "\n",
- "#(c)\n",
- "if(limiting==\"NH3\") :#finding excess reagent\n",
- " nCO2excess=nCO2-nNH3/2 \n",
- " mCO2excess=nCO2excess*CO2 \n",
- " print\"(c).The mass of excess CO2 is :\",round(mCO2excess),\"g \\n\"\n",
- "else: \n",
- " nNH3excess=nNH3-2*nCO2 \n",
- " mNH3excess=nNH3excess*NH3 \n",
- " print\"The mass of excess NH3 is :\",mNH3excess,\"g\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a).The limiting reagent is : NH3\n",
- "(b).The mass of the Urea produced is : 1124.0 g (NH2)2CO\n",
- "(c).The mass of excess CO2 is : 319.0 g \n",
- "\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.16,Page no:106"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#(a)\n",
- "#for TiCl4\n",
- "\n",
- "#Variable declaration\n",
- "mTiCl4=3.54*10**7 #mass of TiCl4, g\n",
- "nTiCl4=mTiCl4/189.7 #moles of TiCl4\n",
- "nTi1=nTiCl4*1.0 #moles of Ti\n",
- "\n",
- "#for Mg\n",
- "mMg=1.13*10**7 #mass of Mg, g\n",
- "nMg=mMg/24.31 #moles of Mg\n",
- "nTi2=nMg/2.0 #moles of Ti\n",
- "\n",
- "\n",
- "#Calculation\n",
- "if(nTi1>nTi2): #finding imiting reagent\n",
- " nTi=nTi2 \n",
- "else:\n",
- " nTi=nTi1 \n",
- " mTi=nTi*47.88 \n",
- " print\"(a).The theoretical yield is :%.2e\"%mTi,\"g\\n\"\n",
- " print\"\\nNOTE:Variation from answer due to approx value of mTi taken in book\\n\"\n",
- "\n",
- "#(b)\n",
- "\n",
- "mTiactual=7.91*10**6 #given, actual Ti produced\n",
- "p_yield=mTiactual/mTi*100.0 \n",
- "print\"(b).The percent yield is :\",round(p_yield,1),\"%\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a).The theoretical yield is :8.93e+06 g\n",
- "\n",
- "\n",
- "NOTE:Variation from answer due to approx value of mTi taken in book\n",
- "\n",
- "(b).The percent yield is : 88.5 %\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 27
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_4.ipynb b/Chemistry/Chapter_4.ipynb
deleted file mode 100755
index 13f747e8..00000000
--- a/Chemistry/Chapter_4.ipynb
+++ /dev/null
@@ -1,290 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 4:Reactions in Aqueous Solutions"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.6,Page no:148"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "K2Cr2O7=294.2 #mol mass of K2Cr2O7, g\n",
- "M=2.16 #Concentration of K2Cr2O7, M\n",
- "V=0.250 #volume of K2Cr2O7, L\n",
- "\n",
- "#Calculation\n",
- "moles=M*V #moles of K2Cr2O7\n",
- "mass=moles*K2Cr2O7 \n",
- "\n",
- "#Result\n",
- "print\"The mass of the K2Cr2O7 needed is :\",round(mass),\"g K2Cr2O7\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of the K2Cr2O7 needed is : 159.0 g K2Cr2O7\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.7,Page no:149"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "mGlucose=3.81 #mass of Glucose, g\n",
- "Glucose=180.2 #mol mass of Glucose, g\n",
- "M=2.53 #Concentration of Glucose, M\n",
- "\n",
- "#Calculation\n",
- "moles=mGlucose/Glucose #moles of Glucose\n",
- "V=moles/M #volume of Glucose, L\n",
- "\n",
- "#Result\n",
- "print\"The volume of the Glucose needed is :\",round(V*1000,2),\"mL soln\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of the Glucose needed is : 8.36 mL soln\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.8,Page no:150"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "M2=1.75 #final Concentration of H2SO4, M\n",
- "V2=500 #final volume of H2SO4, mL\n",
- "M1=8.61 #initial Concentration of H2SO4, M\n",
- "\n",
- "#Calculation\n",
- "V1=M2*V2/M1 #initail volume of H2SO4, mL\n",
- "\n",
- "#Result\n",
- "print\"The volume of the H2SO4 needed to dilute the solution is :\",round(V1),\"mL\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of the H2SO4 needed to dilute the solution is : 102.0 mL\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.9,Page no:152"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "mSample=0.5662 #mass of sample, g\n",
- "Cl=35.5 #mol mass of Cl, g\n",
- "AgCl=143.4 #mol mass of AgCl, g\n",
- "mAgCl=1.0882 #mass of AgCl formed, g\n",
- "\n",
- "#Calculation\n",
- "p_Cl_AgCl=Cl/AgCl*100.0 #percent Cl in AgCl\n",
- "mCl=p_Cl_AgCl*mAgCl/100.0 #mass of Cl in AgCl, g\n",
- "mCl=round(mCl,3)\n",
- "#the same amount of Cl is present in initial sample\n",
- "p_Cl=mCl/mSample*100.0 #percent Cl in initial sample\n",
- "\n",
- "#Result\n",
- "print\"The percentage of Cl in sample is :\",round(p_Cl,2),\"%\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The percentage of Cl in sample is : 47.51 %\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.10,Page no:154"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "mKHP=0.5468 #mass of KHP, g\n",
- "KHP=204.2 #mol mass of KHP, g\n",
- "\n",
- "#Calculation\n",
- "nKHP=mKHP/KHP #moles of KHP\n",
- "VNaOH=23.48 #volume of NaOH, mL\n",
- "MNaOH=nKHP/VNaOH*1000 #molarity of NaOH sol, M\n",
- "\n",
- "#Result\n",
- "print\"The molarity of NaOH solution is :\",round(MNaOH,4),\"M\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molarity of NaOH solution is : 0.114 M\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.11,Page no:155"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "MNaOH=0.610 #molarity of NaOH, M\n",
- "VH2SO4=20 #volume of H2SO4, mL\n",
- "MH2SO4=0.245 #molarity of H2SO4, M\n",
- "\n",
- "#Calculation\n",
- "nH2SO4=MH2SO4*VH2SO4/1000 #moles of H2SO4\n",
- "VNaOH=2*nH2SO4/MNaOH #Volume of NaOH, L\n",
- "\n",
- "#Result\n",
- "print\"The volume of NaOH solution is :\",round(VNaOH*1000,1),\"mL\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of NaOH solution is : 16.1 mL\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.12,Page no:157"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "MKMnO4=0.1327 #molarity of KMnO4, M\n",
- "VKMnO4=16.42 #volume of KMnO4, mL\n",
- "\n",
- "#Calculation\n",
- "nKMnO4=MKMnO4*VKMnO4/1000 \n",
- "nFeSO4=5*nKMnO4 \n",
- "VFeSO4=25 #volume of FeSO4, mL\n",
- "MFeSO4=nFeSO4/VFeSO4*1000 \n",
- "\n",
- "#Result\n",
- "print\"The molarity of FeSO4 solution is :\",round(MFeSO4,3),\"M\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molarity of FeSO4 solution is : 0.436 M\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 20
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_5.ipynb b/Chemistry/Chapter_5.ipynb
deleted file mode 100755
index 9649fe13..00000000
--- a/Chemistry/Chapter_5.ipynb
+++ /dev/null
@@ -1,768 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 5:Gases"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.1,Page no:177"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Pbaro=688 #pressure in mm Hg\n",
- "\n",
- "#Calculation\n",
- "Patm=Pbaro/760.0 #pressure in atm\n",
- "\n",
- "#Result\n",
- "print\"The presuure in atmospheres is :\",round(Patm,3),\"atm\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The presuure in atmospheres is : 0.905 atm\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 40
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.2,Page no:178"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Pbaro=732 #pressure in mm Hg\n",
- "\n",
- "#Calculation\n",
- "Patm=Pbaro/760.0 #pressure in atm\n",
- "P=Patm*1.01325*10**2 #pressure in kilo Pascal\n",
- "\n",
- "#Result\n",
- "print\"The presuure in kilo pascals is :\",round(P,1),\"kPa\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The presuure in kilo pascals is : 97.6 kPa\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 41
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.3,Page no:186"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "V=5.43 #volume, L\n",
- "t=69.5 #temperature, C\n",
- "\n",
- "#Calculation\n",
- "T=t+273 #temperature, K\n",
- "n=1.82 #moles\n",
- "R=0.0821 #universal gas constant, L.atm/(K.mol)\n",
- "P=n*R*T/V #pressure, atm\n",
- "\n",
- "#Result\n",
- "print\"The presuure in atmospheres is :\",round(P,2),\"atm\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The presuure in atmospheres is : 9.42 atm\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 42
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.4,Page no:187"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "m=7.4 #mass of NH3, g\n",
- "#at STP for NH3 for 1mole of NH3\n",
- "V1=22.41 # volume, L\n",
- "NH3=17.03 #molar mass of NH3, g\n",
- "\n",
- "#Calculation\n",
- "n=m/NH3 #moles of NH3\n",
- "V=n*V1 #volume, L\n",
- "\n",
- "#Result\n",
- "print\"The volume of NH3 under given conditions is :\",round(V,2),\"L\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of NH3 under given conditions is : 9.74 L\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 43
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.5,Page no:188"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "V1=0.55 #volume, L\n",
- "P1=1 #pressure at sea level, atm\n",
- "P2=0.4 #pressurea at 6.5km height, atm\n",
- "\n",
- "#n1=n2 and T1=T2 given hence P1V1=P2V2\n",
- "#Calculation\n",
- "V2=P1*V1/P2 \n",
- "\n",
- "#Result\n",
- "print\"The volume of He balloon at height 6.5km above sea level is :\",round(V2,1),\"L\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of He balloon at height 6.5km above sea level is : 1.4 L\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 44
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.6,Page no:189"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "P1=1.2 # pressure initial, atm\n",
- "T1=18+273 #temperature initial, K\n",
- "T2=85+273 #temperature final, K\n",
- "#volume is constant\n",
- "\n",
- "#Calculation\n",
- "P2=P1*T2/T1 # pressure final,atm\n",
- "\n",
- "#Result\n",
- "print\"The final pressure is :\",round(P2,2),\"atm\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final pressure is : 1.48 atm\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 45
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.7,Page no:189"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "P1=6.4 # pressure initial, atm\n",
- "P2=1.0 # pressure final, atm\n",
- "T1=8+273 #temperature initial, K\n",
- "T2=25+273 #temperature final, K\n",
- "V1=2.1 #volume initial, mL\n",
- "\n",
- "#Calculation\n",
- "V2=P1*V1*T2/(T1*P2) # volume final, mL\n",
- "\n",
- "#Result\n",
- "print\"The final volume is :\",round(V2),\"mL\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final volume is : 14.0 mL\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 46
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.8,Page no:191"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "\n",
- "#taking 1 mole of CO2\n",
- "n=1 \n",
- "R=0.0821 #universal gas constant, L. atm/K.mol\n",
- "t=55 #temperature, C\n",
- "T=t+273 #temperature, K\n",
- "P=0.99 #.pressure, atm\n",
- "M=44.01 #molar mass of CO2, g\n",
- "\n",
- "#Calculation\n",
- "d1=P*M/(R*T) #density of CO2, g/L\n",
- "#altenate method\n",
- "#taking 1 mole of CO2\n",
- "mass=M #mass of CO2 in g =mol mass since we are considering 1 mole of CO2\n",
- "V=n*R*T/P #volume, L\n",
- "d2=mass/V #density=mass/volume, g/L\n",
- "\n",
- "#Result\n",
- "print\"The density of CO2 is :\",round(d1,2),\"g/L\\n\"\n",
- "print\"(Alternate Method)the density of CO2 is :\",round(d2,2),\"g/L\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The density of CO2 is : 1.62 g/L\n",
- "\n",
- "(Alternate Method)the density of CO2 is : 1.62 g/L\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 47
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.9,Page no:192"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "d=7.71 # density, g/mL(given)\n",
- "R=0.0821 #universal gas constant, L. atm/K.mol\n",
- "T=36+273 # temp, K\n",
- "P=2.88 #pressure, atm\n",
- "\n",
- "#Calculation\n",
- "M1=d*R*T/P # mol. mass, g/mol\n",
- "#alternate method\n",
- "#considering 1 L of compound\n",
- "V=1 #volume, L\n",
- "n=P*V/(R*T) #no of moles\n",
- "m=7.71 #mass per 1 L, g\n",
- "M2=m/n # mol. mass, g/mol\n",
- "\n",
- "#Result\n",
- "print\"The molecular mass of given compound is :\",round(M1,1),\"g/mol\\n\"\n",
- "print\"{alternate method} the molecular mass of given compound is :\",round(M2,1),\" g/mol\\n\" \n",
- "print\"The molecular formula can be only found by trial and error method as given in the book \\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molecular mass of given compound is : 67.9 g/mol\n",
- "\n",
- "{alternate method} the molecular mass of given compound is : 67.9 g/mol\n",
- "\n",
- "The molecular formula can be only found by trial and error method as given in the book \n",
- "\n"
- ]
- }
- ],
- "prompt_number": 49
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.10,Page no:193"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "percentSi=33 #percent of Si in compound\n",
- "percentF=67 #percent of F in compound\n",
- "P=1.7 #pressure, atm\n",
- "T=35+273 #temp. in K\n",
- "m=2.38 #mass, g\n",
- "V=0.21 #volume, L\n",
- "R=0.0821 #universal Gas constant, L.atm/K.mol\n",
- "m_sif3=85.09\n",
- "\n",
- "#Calculation\n",
- "nSi=percentSi/28.01 #moles of Si in 100g compound\n",
- "nF=percentF/19 #moles of F in 100g compound\n",
- "n=P*V/(R*T) #moles\n",
- "M=m/n #mol. mass=mass/moles, g/mol\n",
- "e=M/m_sif3\n",
- "\n",
- "#Result\n",
- "print\"The molecular mass of given compound is :\",round(M),\"g/mol\\n\"\n",
- "print\"Therefore,molecular formula is (SiF3)%.f\"%round(e),\"OR Si2F6\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molecular mass of given compound is : 169.0 g/mol\n",
- "\n",
- "Therefore,molecular formula is (SiF3)2 OR Si2F6\n"
- ]
- }
- ],
- "prompt_number": 57
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.11,Page no:194"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "VC2H2=7.64 #volume of acetylene, L\n",
- "\n",
- "#Calculation\n",
- "VO2=VC2H2*5/2.0 #volume of O2 required for complete combustion as 5mol O2 react with 2mol acetylene for complete combustion\n",
- "\n",
- "#Result\n",
- "print\"The volume of O2 required for complete combustion of acetylene is :\",VO2,\"L\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of O2 required for complete combustion of acetylene is : 19.1 L\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.12,Page no:195"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "R=0.0821 #universal Gas constant, L.atm/K.mol\n",
- "T=80+273 #temp in K\n",
- "P=823/760.0 #pressure in atm\n",
- "m=60.0 #mass of NaN3, g\n",
- "NaN3=65.02 #mol. mass of NaN3, g\n",
- "\n",
- "#Calculation\n",
- "nN2=m*3.0/(2.0*NaN3) #moles of N2\n",
- "nN2=round(nN2,2)\n",
- "VN2=nN2*R*T/P #from ideal gas law\n",
- "#Result\n",
- "print\"\\t the volume of N2 generated is :\",round(VN2,1),\"L\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t the volume of N2 generated is : 36.9 L\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 61
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.13,Page no:196"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "R=0.0821 #universal Gas constant, L.atm/K.mol\n",
- "T=312 #temp in K\n",
- "V=2.4*10**5 #volume, L\n",
- "P1=7.9*10**-3 #pressure initial in atm\n",
- "P2=1.2*10**-4 #pressure final in atm\n",
- "\n",
- "#Calculation\n",
- "Pdrop=P1-P2 #pressure drop, atm\n",
- "n=Pdrop*V/(R*T) #moles of Co2 reacted\n",
- "Li2CO3=73.89 #mol. mass of Li2CO3, g\n",
- "mLi2CO3=n*Li2CO3 #mass of Li2CO3, g\n",
- "\n",
- "\n",
- "#Result\n",
- "print\"The mass of Li2CO3 formed is :%.1e\"%mLi2CO3,\"g Li2CO3\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of Li2CO3 formed is :5.4e+03 g Li2CO3\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 64
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.14,Page no:199"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "nNe=4.46 #moles of Ne\n",
- "nXe=2.15 #moles of Xe\n",
- "nAr=0.74 #moles of Ar\n",
- "PT=2 #total pressure in atm\n",
- "\n",
- "#Calculation\n",
- "XNe=nNe/(nNe+nAr+nXe) #mole fraction of Ne\n",
- "XAr=nAr/(nNe+nAr+nXe) #mole fraction of Ar\n",
- "XXe=nXe/(nNe+nAr+nXe) #mole fraction of Xe\n",
- "PNe=XNe*PT #partial pressure of Ne\n",
- "PAr=XAr*PT #partial pressure of Ar\n",
- "PXe=XXe*PT #partial pressure of Xe\n",
- "\n",
- "#Result\n",
- "print\"The partial pressures of Ne, Ar and Xe are:\"\n",
- "print\"PNe=\",round(PNe,2),\"atm\\n\",\"PAr=\",round(PAr,2),\"atm\\nPXe=\",round(PXe,3),\"atm \"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The partial pressures of Ne, Ar and Xe are:\n",
- "PNe= 1.21 atm\n",
- "PAr= 0.2 atm\n",
- "PXe= 0.585 atm \n"
- ]
- }
- ],
- "prompt_number": 70
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.15,Page no:200"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "PT=762 #pressure total, mmHg\n",
- "PH2O=22.4 #pressure of water vapor, mmHg\n",
- "PO2=PT-PH2O #pressure of O2, frm Dalton's law, mmHg\n",
- "M=32 #mol mass of O2, g\n",
- "R=0.0821 #universal Gas constant, L.atm/K.mol\n",
- "T=24+273 #temp in K\n",
- "V=0.128 #volume in L\n",
- "\n",
- "#Calculation\n",
- "m=(PO2/760)*V*M/(R*T) #mass of mass of O2 collected, g\n",
- "\n",
- "#Result\n",
- "print\"The mass of O2 collected is :\",round(m,3),\"g\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of O2 collected is : 0.163 g\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 71
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.16,Page no:207"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "R=8.314 #universal Gas constant, J/K mol\n",
- "T=25+273 #temp in K\n",
- "import math\n",
- "#Calculation\n",
- "#for O2\n",
- "M=4.003*10**-3 #mol mass in kg\n",
- "Urms=math.sqrt(3*R*T/M) #rms velocity, m/s\n",
- "print\"\\t the rms velocity of O2 collected is :%.2e\"%Urms,\"m/s\\n\"\n",
- "#for N2\n",
- "M=28.02*10**-3 #mol mass in kg\n",
- "Urms=math.sqrt(3*R*T/M) #rms velocity, m/s\n",
- "\n",
- "#Result\n",
- "print\"\\t the rms velocity of N2 collected is :\",round(Urms),\" m/s\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t the rms velocity of O2 collected is :1.36e+03 m/s\n",
- "\n",
- "\t the rms velocity of N2 collected is : 515.0 m/s\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.17,Page no:209"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "t2=1.5 #diffusion time of compound, min\n",
- "t1=4.73 #diffusion time of Br, min\n",
- "M2=159.8 #mol mass of Br gas, g\n",
- "\n",
- "#Calculation\n",
- "M=(t2/t1)**2*M2 #molar gas of unknown gas, g(from Graham's Law of Diffusion)\n",
- "\n",
- "#Result\n",
- "print\"\\t the molar mass of unknown gas is :\",round(M,1),\"g/mol\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t the molar mass of unknown gas is : 16.1 g/mol\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 76
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.18,Page no:213"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#(a)\n",
- "V=5.2 #volume, L\n",
- "T=47+273 \n",
- "n=3.5 \n",
- "R=0.0821 #universal Gas constant, L.atm/K.mol\n",
- "\n",
- "#Calculation\n",
- "P=n*R*T/V \n",
- "print\"The pressure of NH3 gas from ideal gas equation is :\",round(P,1),\"atm\\n\"\n",
- "#(b)\n",
- "a=4.17 #constant, atm.L2/mol2\n",
- "b=0.0371 #constant, L/mol\n",
- "Pc=a*n**2/V**2 #pressure correction term, atm\n",
- "Vc=n*b #volume correction term, L\n",
- "P=n*R*T/(V-Vc)-Pc #from van der waals equation, pressure, atm\n",
- "\n",
- "#Result\n",
- "print\"The pressure of NH3 gas from van der waals equation is :\",round(P,1),\"atm\\n\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure of NH3 gas from ideal gas equation is : 17.7 atm\n",
- "\n",
- "The pressure of NH3 gas from van der waals equation is : 16.2 atm\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 80
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_6.ipynb b/Chemistry/Chapter_6.ipynb
deleted file mode 100755
index c09bdeb7..00000000
--- a/Chemistry/Chapter_6.ipynb
+++ /dev/null
@@ -1,422 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 6:Thermochemistry"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.1,Page no:237"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "P1=0 #external pressure, atm\n",
- "Vf1=6 #final volume, L\n",
- "Vi1=2 #initial volume, L\n",
- "P2=1.2 #external pressure, atm\n",
- "Vf2=6 #final volume, L\n",
- "Vi2=2 #initial volume, L\n",
- "\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "W1=-P1*(Vf1-Vi1) #work in atm.L\n",
- "#(b)\n",
- "W2=-P2*(Vf2-Vi2) #work in atm.L\n",
- "W2=W2*101.3 #work in J\n",
- "\n",
- "#Result\n",
- "print\"(a).The work done in expansion against vacuum is :\",W1,\"J\\n\"\n",
- "print\"(b).The work done in expansion against 1.2 atm pressure is :%.1e\"%W2,\"J\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a).The work done in expansion against vacuum is : 0 J\n",
- "\n",
- "(b).The work done in expansion against 1.2 atm pressure is :-4.9e+02 J\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 44
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.2,Page no:238"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "q=-128 #heat transfer from the gas, J\n",
- "w=462 #work done in compressing the gas, J\n",
- "\n",
- "#Calculation\n",
- "deltaE=q+w #change in energy of the gas, J\n",
- "\n",
- "#Result\n",
- "print\"The change in energy for the process is :\",deltaE,\"J\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The change in energy for the process is : 334 J\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 45
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.3,Page no:243"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "mSO2=87.9 #mass in g\n",
- "SO2=64.07 #molar mass in g\n",
- "\n",
- "#Calculation\n",
- "nSO2=mSO2/SO2 #moles of SO2\n",
- "deltaH=-198.2 #heat produced for 2 mol, in kJ/mol\n",
- "deltaH=deltaH/2 #for one mole SO2,in kJ/mol\n",
- "Hprod=deltaH*nSO2 #heat produced in this case, in kJ/mol\n",
- "\n",
- "#Result\n",
- "print\"The heat produced in a reaction is :\",round(Hprod),\"kJ\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat produced in a reaction is : -136.0 kJ\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 46
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.4,Page no:245"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "R=8.314 #gas constant, J/K. mol\n",
- "T=298 #temp in K\n",
- "deltaH=-566 #enthalpy change, kJ/mol\n",
- "deltan=2-3 #change in gas moles\n",
- "\n",
- "#Calculation\n",
- "deltaE=deltaH-R*T*deltan/1000.0 #change in internal energy, kJ/mol\n",
- "\n",
- "#Result\n",
- "print\"The change in internal energy in the reaction is :\",round(deltaE,1),\"kJ/mol\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The change in internal energy in the reaction is : -563.5 kJ/mol\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 47
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.5,Page no:246"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "m=466 #mass in g\n",
- "s=4.184 #specific heat in J/g C\n",
- "\n",
- "#Calculation\n",
- "deltaT=74.6-8.5 #change in temp, C/K\n",
- "q=m*s*deltaT/1000 #amount of heat absorbed, kJ\n",
- "\n",
- "#Result\n",
- "print\"\\t the amount of heat absorbed is :\",round(q),\"kJ\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t the amount of heat absorbed is : 129.0 kJ\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 48
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.6,Page no:248"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "Ccal=10.17 #heat capacity, kJ/C\n",
- "deltaT=25.95-20.28 #change in temp, C\n",
- "m=1.435 #mass of naphthalene, g\n",
- "molm=128.2 #mol mass of naphthalene, g\n",
- "\n",
- "#Calculation\n",
- "qcal=Ccal*deltaT \n",
- "q=-qcal*molm/m #molar heat of combustion of naphthalene, kJ\n",
- "\n",
- "#Result\n",
- "print\"The molar heat of combustion of naphthalene is :%.3g\"%q,\"kJ/mol\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molar heat of combustion of naphthalene is :-5.15e+03 kJ/mol\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 49
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.7,Page no:249"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#for water\n",
- "m=100 #mass, g\n",
- "s=4.184 #specific heat, J/g C\n",
- "deltaT=23.17-22.5 #change in temp., C\n",
- "qH2O=m*s*deltaT #heat gained by water, J\n",
- "\n",
- "#for lead\n",
- "qPb=-qH2O #heat lost by lead, J\n",
- "m=26.47 #mass, g\n",
- "\n",
- "#Calculation\n",
- "deltaT=23.17-89.98 #change in temp., C\n",
- "s=qPb/(m*deltaT) #specific heat, J/g C\n",
- "\n",
- "#Result\n",
- "print\"The specific heat of lead is :\",round(s,3),\"J/g C\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The specific heat of lead is : 0.159 J/g C\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 50
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.8,Page no:249"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#for water\n",
- "m=100+100 #mass, g\n",
- "s=4.184 #specific heat, J/g C\n",
- "deltaT=25.86-22.5 #change in temp., C\n",
- "\n",
- "#Calculation\n",
- "qsoln=m*s*deltaT/1000 #heat gained by water, kJ\n",
- "qrxn=-qsoln \n",
- "Hneut=qrxn/(0.5*0.1) \n",
- "\n",
- "#Result\n",
- "print\"The heat of neutralization is :\",round(Hneut,1),\"kJ/mol\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat of neutralization is : -56.2 kJ/mol\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 52
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.9,Page no:256"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "deltaH1=-393.5 #kJ/mol\n",
- "deltaH2=-285.8 #kJ/mol\n",
- "deltaH3=-2598.8 #kJ/mol\n",
- "\n",
- "#Calculation\n",
- "deltaH4=2*(deltaH1)\n",
- "deltaH5=(-1.0/2.0)*deltaH3\n",
- "std_H=deltaH4+deltaH2+deltaH5\n",
- "#Result\n",
- "print\"Standard enthalpy of formation of acetylene is:\",std_H,\"kJ/mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1299.4\n",
- "Standard enthalpy of formation of acetylene is: 226.6 kJ/mol\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:6.10,Page no:258"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "deltaH_Fel=12.4 #Heat of frmtn of Fe(l) in kJ/mol\n",
- "deltaH_Al2O3=-1669.8 #Heat of formation of Al2O3 in kJ/mol\n",
- "deltaH_Al=0 #Heat of formation of Al\n",
- "deltaH_Fe2O3=-822.2 #Heat of formtion of Fe2O3 kJ/mol\n",
- "M_Al=26.98 #Molar mass of Al\n",
- "\n",
- "#Calculation\n",
- "deltaH_rxn=(deltaH_Al2O3+2*deltaH_Fel)-(2*deltaH_Al+deltaH_Fe2O3)\n",
- "ratio=deltaH_rxn/2.0\n",
- "heat_released=ratio/M_Al\n",
- "\n",
- "#Result\n",
- "print\"Heat released per gram of Al is\",round(heat_released,2),\"kJ/g\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Heat released per gram of Al is -15.25 kJ/g\n"
- ]
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_7.ipynb b/Chemistry/Chapter_7.ipynb
deleted file mode 100755
index ebd9568b..00000000
--- a/Chemistry/Chapter_7.ipynb
+++ /dev/null
@@ -1,312 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 7:Quantum theorem and electronic structure of Atoms"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:7.1,Page no:27"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "lamda=522*10**-9 #wavelength, m\n",
- "c=3*10**8 #speed of light in vacuum, m/s\n",
- "\n",
- "#Calculation\n",
- "v=c/lamda #frequency, Hz\n",
- "\n",
- "#Result\n",
- "print\"The frequency of the wave is :%.2e\"%v,\"Hz\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The frequency of the wave is :5.75e+14 Hz\n"
- ]
- }
- ],
- "prompt_number": 58
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:7.2,Page no:280"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "c=3*10**8 #speed of light in vacuum, m/s\n",
- "h=6.63*10**-34 #planck's constant, J s\n",
- "lamda1=5*10**-5 #wavelength, m\n",
- "lamda2=5*10**-11 #wavelength, m\n",
- "\n",
- "#Calculation\n",
- "#(a)\n",
- "E1=h*c/lamda1 #energy, J\n",
- "#(b)\n",
- "E2=h*c/lamda2 #energy, J\n",
- "\n",
- "#Result\n",
- "print\"(a) the energy of the photon is :%.2e\"%E1,\"J\"\n",
- "print\"(b) the energy of the photon is :%.2e\"%E2,\"J\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) the energy of the photon is :3.98e-21 J\n",
- "(b) the energy of the photon is :3.98e-15 J\n"
- ]
- }
- ],
- "prompt_number": 59
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:7.3,Page no:281"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "W=3.42*10**-19 #Work function of cesium in J\n",
- "h=6.63*10**-34 #planck's constant in J.s\n",
- "v2=10**15 #Freq for irridation in s-1\n",
- "\n",
- "#Calculation\n",
- "#part a\n",
- "KE=0\n",
- "#hv=KE+w\n",
- "v=W/h\n",
- "#part b\n",
- "KE=h*v2-W\n",
- "\n",
- "#Result\n",
- "print\"(a)Minimum frequency of light is %.2e\"%v,\"s**-1\"\n",
- "print\"(b).Kinetic energy of ejected electron is\",KE,\"J\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a)Minimum frequency of light is 5.16e+14 s**-1\n",
- "(b).Kinetic energy of ejected electron is 3.21e-19 J\n"
- ]
- }
- ],
- "prompt_number": 60
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:7.4,Page no:287"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "c=3*10**8 #speed of light in vacuum, m/s\n",
- "h=6.63*10**-34 #planck's constant, J s\n",
- "Rh=2.18*10**-18 #rydberg's constant, J\n",
- "ni=5.0 #initial orbit\n",
- "nf=2.0 #final orbit\n",
- "\n",
- "#Calculation\n",
- "deltaE=Rh*(1/ni**2-1/nf**2) \n",
- "lamda=c*h/-deltaE \n",
- "\n",
- "#Result\n",
- "print\"The wavelength of the photon is :\",round(lamda*10**9),\"nm\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The wavelength of the photon is : 434.0 nm\n"
- ]
- }
- ],
- "prompt_number": 61
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:7.5,Page no:291"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "h=6.63*10**-34 #planck's constant, J s\n",
- "m1=0.06 #mass, kg\n",
- "u1=68.0 #speed, m/s\n",
- "m2=9.1094*10**-31 #mass, kg\n",
- "u2=68 #speed, m/s\n",
- "\n",
- "#Calculation\n",
- "# (a)\n",
- "lamda1=h/(m1*u1) #wavelength, m\n",
- "#(b)\n",
- "lamda2=h/(m2*u2) #wavelength, m\n",
- "\n",
- "#Result\n",
- "print\"The wavelength of the tennis ball is :\",lamda1,\"m\"\n",
- "print\"The wavelength of the electron is :%.1e\"%lamda2,\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The wavelength of the tennis ball is : 1.625e-34 m\n",
- "The wavelength of the electron is :1.1e-05 m\n"
- ]
- }
- ],
- "prompt_number": 62
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:,7.7,Page no:299"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "n=3 #Principal quantum no\n",
- "\n",
- "#Calculation\n",
- "#The possible values of l are 0,1,2\n",
- "s=1 #One 3s orbital,n=3,l=0,ml=0\n",
- "p=3 #Three p obitals\n",
- "d=5 #five 'd' orbital\n",
- "total=s+p+d\n",
- "\n",
- "#Result\n",
- "print\"The total no of orbitals is:\",total"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total no of orbitals is: 9\n"
- ]
- }
- ],
- "prompt_number": 63
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:7.9,Page no:306"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "n=3 #Principal quantum number\n",
- "l=[0,1,2]\n",
- "n=[0,0,0]\n",
- "\n",
- "#Calculation\n",
- "print\"Value of l \\t\\t No of orbitals(2l+1)\"\n",
- "print\"--------------------------------------------\"\n",
- "total=0\n",
- "for i in range(0,3):\n",
- " n[i]=2*l[i]+1\n",
- " print l[i],\"\\t\\t\\t\\t\",n[i]\n",
- " total=n[i]+total\n",
- "max=2*total\n",
- "\n",
- "#Result\n",
- "print\"The maximum number of electrons that can reside is\",max\n",
- " \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Value of l \t\t No of orbitals(2l+1)\n",
- "--------------------------------------------\n",
- "0 \t\t\t\t1\n",
- "1 \t\t\t\t3\n",
- "2 \t\t\t\t5\n",
- "The maximum number of electrons that can reside is 18\n"
- ]
- }
- ],
- "prompt_number": 64
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/Chapter_9.ipynb b/Chemistry/Chapter_9.ipynb
deleted file mode 100755
index a6cb1698..00000000
--- a/Chemistry/Chapter_9.ipynb
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 9:Chemical Bonding I\n",
- "Basic Concepts"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:9.13,Page no:397"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#Type of bond broken:\n",
- "hh_no=1 #No.of bonds broken\n",
- "hh_be=436.4 #Bond enthalpy in kJ/mol\n",
- "hh_ec=436.4 #Energy Change in kJ/mol\n",
- "cl_no=1 #No.of bonds broken\n",
- "cl_be=242.7 #Bond enthalpy in kJ/mol\n",
- "cl_ec=242.7 #Energy Change in kJ/mol\n",
- "#Type of bonds formed\n",
- "hcl_no=2 #No.of bonds formed\n",
- "hcl_be=431.9 #Bond enthalpy in kJ/mol\n",
- "hcl_ec=863.8 #Energy Change in kJ/mol\n",
- "#data:\n",
- "Hf_hcl=-92.3 #Heat of formation of Hcl in kJ/mol\n",
- "Hf_H2=0 #Heat of formation of H2 in kJ/mol\n",
- "Hf_Cl2=0 #Heat of formation of Cl2 in kJ/mol \n",
- "\n",
- "#Calculation\n",
- "energy_in=hh_ec+cl_ec #Total energy input in kJ/mol\n",
- "energy_rlsd=hcl_ec #Total energy released\n",
- "delta_H=energy_in-energy_rlsd #enthalpy change in kJ/mol\n",
- "delta_Ho=2*(-92.3)-(Hf_H2+Hf_Cl2) #Ethalpy change from eq 6.18\n",
- "\n",
- "\n",
- "#Result\n",
- "print \"Using equation 9.3,delta_H=\",delta_H,\"kJ/mol\"\n",
- "print\"Alternatively:\"\n",
- "print\"Enthalpy change is:\",delta_Ho,\"kJ/mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Using equation 9.3,delta_H= -184.7 kJ/mol\n",
- "Alternatively:\n",
- "Enthalpy change is: -184.6 kJ/mol\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:9.14,Page no:398"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable declaration\n",
- "#Type of bond broken:\n",
- "hh_no=2 #No.of bonds broken\n",
- "hh_be=436.4 #Bond enthalpy in kJ/mol\n",
- "hh_Ec=872.8 #Energy Change in kJ/mol\n",
- "oo_no=1 #No.of bonds broken\n",
- "oo_be=498.7 #Bond enthalpy in kJ/mol\n",
- "oo_Ec=498.7 #Energy Change in kJ/mol\n",
- "#Types of bond formed\n",
- "nn_oh=4 #No.of bonds formed\n",
- "nn_be=460 #Bond enthalpy in kJ/mol\n",
- "bb_Ec=1840 #Energy Change in kJ/mol\n",
- "#data:\n",
- "Hf_h2o=-241.8 #Heat of formation of H2O in kJ/mol\n",
- "Hf_h2=0 #Heat of formation of H2 in kJ/mol\n",
- "Hf_O2=0 #Heat of formation of O2 in kJ/mol\n",
- "\n",
- "#Calculation\n",
- "energy_in=hh_Ec+oo_Ec #Total energy input in kJ/mol\n",
- "energy_rlsd=bb_Ec #Total energy released\n",
- "delta_h=energy_in-energy_rlsd #enthalpy change in kJ/mol\n",
- "delta_Ho=2*(Hf_h2o)-(2*Hf_h2+Hf_O2) #Ethalpy change from eq 6.18\n",
- "\n",
- "#Result\n",
- "print\"Enthalpy change is\",delta_Ho,\"kJ/mol\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enthalpy change is -483.6 kJ/mol\n"
- ]
- }
- ],
- "prompt_number": 5
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Chemistry/README.txt b/Chemistry/README.txt
deleted file mode 100755
index 28f143a5..00000000
--- a/Chemistry/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Kiran Bala
-Course: btech
-College/Institute/Organization: Ideal Institute of Technology,Ghaziabad
-Department/Designation: Electrical & Electronics Engg
-Book Title: Chemistry
-Author: Raymond Chang
-Publisher: McGraw Hill
-Year of publication: 2010
-Isbn: 9780073511092
-Edition: 10 \ No newline at end of file
diff --git a/Chemistry/screenshots/screen1.png b/Chemistry/screenshots/screen1.png
deleted file mode 100755
index 7bd5aa06..00000000
--- a/Chemistry/screenshots/screen1.png
+++ /dev/null
Binary files differ
diff --git a/Chemistry/screenshots/screen2.png b/Chemistry/screenshots/screen2.png
deleted file mode 100755
index 414d13ea..00000000
--- a/Chemistry/screenshots/screen2.png
+++ /dev/null
Binary files differ
diff --git a/Chemistry/screenshots/screen3.png b/Chemistry/screenshots/screen3.png
deleted file mode 100755
index 43e67e0d..00000000
--- a/Chemistry/screenshots/screen3.png
+++ /dev/null
Binary files differ
diff --git a/Concepts_Of_Modern_Physics/Chapter_3.ipynb b/Concepts_Of_Modern_Physics/Chapter_3.ipynb
index 749a4c27..16cf08ee 100755
--- a/Concepts_Of_Modern_Physics/Chapter_3.ipynb
+++ b/Concepts_Of_Modern_Physics/Chapter_3.ipynb
@@ -162,7 +162,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#Variable declaration\n",
"m= 9.1*(10**(-31)) #mass, kg\n",
"L= 0.10 #length of box, nm\n",
diff --git a/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter10-checkpoint.ipynb b/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter10-checkpoint.ipynb
new file mode 100755
index 00000000..de5013c9
--- /dev/null
+++ b/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter10-checkpoint.ipynb
@@ -0,0 +1,364 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10: Introduction to Power Electronics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.5, Page number: 508"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "from pylab import *\n",
+ "import numpy as np\n",
+ "from math import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "w=2*pi*60 #frequency of voltage(Hz)\n",
+ "R=10 #ohm\n",
+ "C=0.01 #F\n",
+ "Vo=120*sqrt(2) #maximum voltage(V)\n",
+ "Nmax=800\n",
+ "tau=R*C #time constant(s)\n",
+ "\n",
+ "#Calculations:\n",
+ "# diode = 1 when rectifier bridge is conducting\n",
+ "\n",
+ "diode=1\n",
+ "t=[0]*801\n",
+ "vs=[0]*801\n",
+ "vrect=[0]*801\n",
+ "vR=[0]*801\n",
+ "iB=[0]*801\n",
+ "\n",
+ "t=[0]*801\n",
+ "for n in range(1,Nmax+2,1):\n",
+ " t[n-1] = (2.5*pi/w)*(n-1)/Nmax\n",
+ " vs[n-1]=Vo*math.cos(w*t[n-1])\n",
+ " vrect[n-1]=abs(vs[n-1])\n",
+ "#if the rectifier bridge is ON:\n",
+ " if diode==1:\n",
+ " vR[n-1]=vrect[n-1]\n",
+ " if (w*t[n-1])<=(pi/2):\n",
+ " iB[n-1]=vR[n-1]-Vo*C*w*math.sin(w*t[n-1])\n",
+ " elif (w*t[n-1])<=3*pi/2:\n",
+ " iB[n-1]=vR[n-1]/R+Vo*C*w*math.sin(w*t[n-1])\n",
+ " else:\n",
+ " iB[n-1]=vR[n-1]/R-Vo*C*w*math.sin(w*t[n-1])\n",
+ " if iB[n-1]<0:\n",
+ " diode=0\n",
+ " toff=t[n-1]\n",
+ " Voff=vrect[n-1]\n",
+ " else:\n",
+ " vR[n-1]=Voff*exp(-(t[n-1]-toff/tau))\n",
+ " iB[n-1]=0\n",
+ " if (vrect[n-1]-vR[n-1])>0:\n",
+ " diode=1\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "iR=(1/R)*np.array(vR)\n",
+ "plot(1000*np.array(t),vR)\n",
+ "xlabel('time [msec]')\n",
+ "ylabel('voltage [V]')\n",
+ "xlim(0,22)\n",
+ "ylim(0,180)\n",
+ "plot(1000*np.array(t),vrect,'--')\n",
+ "grid()\n",
+ "print \"The required plots are shown below:\"\n",
+ "show()\n",
+ "plot(1000*np.array(t),iR)\n",
+ "xlabel('time [msec]')\n",
+ "ylabel('source current [A]')\n",
+ "xlim(0 ,22)\n",
+ "ylim(-50,250) \n",
+ "plot(1000*np.array(t),1.5*np.array(iB),'--')\n",
+ "grid()\n",
+ "show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n",
+ "The required plots are shown below:"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEPCAYAAACk43iMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XdcFGf+B/DP0q0B6U1ArJQFBFFR7IViL7FEc4hJvBhj\n1JiYX3I5TLnYgkajJiZGyemZaJSLBSXGsooVpCjYFVCWoiCCCFL3+f3hsRGVsrAzz7O7z/v18nXO\nssx8/N5kvzvPzDwjIYQQcBzHcTpJj3YAjuM4jh7eBDiO43QYbwIcx3E6jDcBjuM4HcabAMdxnA7j\nTYDjOE6HCdYEwsPDYW1tDU9PT+Vrp0+fhre3Nzw8PODl5YUzZ84of7Zs2TK4ubnB09MThw8fFioW\nx3Ec9wzBmsCsWbMQGxtb57UlS5ZgxYoVSEtLw/Lly7FkyRIAQGJiIqKjo5GamorY2FjMmTMHlZWV\nQkXjOI7j/kewJhAYGAgzM7M6rzk6OqK4uBgAUFRUBCcnJwBATEwMpk6dCn19fdjb28Pd3R3x8fFC\nReM4juP+x0DMjS1fvhz9+/fH4sWLoVAocPbsWQBAdnY2hgwZonyfg4MD5HK5mNE4juN0kqgnhmfP\nno1169bh7t27WLNmDcLDw8XcPMdxHPccUY8Ezp07hyNHjgAAJk2ahFmzZgF4+s0/KytL+T65XA5H\nR8cXft/e3h45OTnihOU4jtMSXl5eSElJeenPRD0ScHJywokTJwAAx44dg4uLCwAgJCQEO3fuRHV1\nNeRyOdLS0uDv7//C7+fk5IAQwv+o8CciIoJ6BnX98fcnOHeO14ulP7xemlGvixcv1vu5LNiRwLRp\n03DixAkUFBTA0dERn3/+OX788UfMnTsXVVVVMDY2xk8//QQA8PX1xfjx4yGVSqGnp4dNmzbB0NBQ\nqGg6JTMzk3YEtamsBIyMhN2GNtVLDLxeqmGxXoI1gV9++eWlr9d3SPLxxx/j448/FioOpwXEaAIc\np2v4HcNaLiwsjHYEtRGjCWhTvcTA66UaFuslIYRozENlJBIJNCgup2ZOTsDJk0//l+O4pmvos5Mf\nCWg5mUxGO4LaiHEkoE31EgOvl2pYrBdvApzGqKjg5wQ4Tt34cBCnMdq2BXJzgXbtaCfhOM3Ch4M4\nrcCvDuI49eNNQMuxOAbZHIQAVVWA0LePaEu9xMLrpRoW6yXqtBHqIM9/BAfL9rRjcCJRKAiuywvw\noLgcBq0soKfXinYkjtMqGndOAB+3hkGFDbyMxmHlq3MxxNuVdixOAOt+P4XIuA3IMjwMSAgk1a1B\nTB4g+8N02LazpR2PE0iNogZ7r+9FfHY8lg9b/sLPSytLoa+nDxMDEwrpNJdWnROo+rwEv4z9Lwz1\njTDs197w/XgR7j8spR2LU5Nbt4DgYOCfv+5Bb7t+iA+/BMWyQtSskqNi6SPYtLWhHZETSHx2PLw3\neWPF6RXoadvzpe+JvhqNLt92QfTVaJHTaTGiQZ6Pm5qeR3q8t5h09yomV69SCsW448eP047QZLt3\nE2JhQciqVYRUVNDJoEn1YoE66qVQKMjyuOXEepU1+SX1F6JQKBp8f9ydOOK61pW8ue9NUlFNaUdp\nJlr7V0Mf9Rp3JPAsDxdrXF6zCgvntsegQUBiIu1EXHNt2AAsXAgcPAgsXtz0q4BqFDWYf2g+soqz\nGn8zx6Q9V/fgl7RfcOGtC5jqMfXpsG8D+nfsj+Q5ybhXeg+jfxmNx5WPRUqqnTTunEB9cX//HXjr\nLeDQIcDXV+RgXIus+bYc364xwdGjwP9mF1fJqtOrsClxE06Hn4Z1W2v1B+QEpSAKPKl6gjZGbVT6\nvWpFNd7Y9wacXnHCZ4M/Eyiddmjos1NrmgAAREcD8+cDZ84AlpZP7zA1MAD09f/6Xz2NPvbRPkt+\n3oNvzn6D6x+dhLNzw98AG7JUthQHbhyALEyGtkZt1ZiQY1mNogYEBAZ6Gneho6h0pgkAwMqvqxGZ\n8AUUJz9CRWkr1NQA1dVATc3TPxLJ02bwbGN4/n+16WfJyTL06TOoWets5Ki8xfadu4Jxvw9E1LBY\nvD6sZYdvhBCE7wtHeXU5dkzY0eiQQn1kMhkGDRrUoiy6hNdLNbTq1dBnp9a1z8WL9LHhw2uoGbMY\n+Zs21PkZIYBCgTqN4dkG8fxrDf1M1fc3tq4nT4TJVVwMmJiovi6F4ulRk1BNihiU4Q/nCfhbx69b\n3ACApzv5xpCN6PtTX+y6vAtTPKa0eJ0cpwsEOxIIDw9HTEwMrKyskJqaqnz922+/xebNm6FQKBAU\nFIRVq1YBAJYtW4Zt27ZBX18fkZGRGDFixIthmzh30IPHxfD90Qdrg9dgbPex6vtH6ZDahqnORvfs\naz9mLUAp8nHsnf+o9YgjtyQX5q3NYaTP55dgkYIoMO/gPPxjwD9g186Odhyd0eBnp1CXJJ08eZIk\nJSURDw8P5WsHDhwgoaGhpKqqihBCSEFBASGEkAsXLhA/Pz9SXV1N5HI5cXZ2JhUvuUZQlbgnM08S\n+0h7UvSkqIX/Ek7dbj64Sewj7cmDsge0o3AiW39+PemzuQ+prqkWZP3yYjnZGL9RkHVrsoY+OwU7\nTRoYGAgzM7M6r23evBlLliyBgcHTUShzc3MAQExMDKZOnQp9fX3Y29vD3d0d8fHxLdu+UyBCuoTg\n46O6/chKFucq6dyhM9LmpqFDqw60o7yAxXqxTJV63S2+iwhZBKLGRkFfT1+QPG2M2uDLuC8RdydO\nkPW3FIv7l6jXyly7dg1//PEHvL290bdvX5w5cwYAkJ2dDQcHB+X7HBwcIJfLW7y9FcNWwMTAhE8/\nzSBTE1PaETiRffjnh3jX/110s+gm2DZMTUzxbfC3+HvM31GtqBZsO9pE1BPDCoUCJSUlSElJQUJC\nAiZOnIjMzEyV1hEWFgZnZ2cAgKmpKby9vZVn22u7bO3yxfMXMdp4tPJKked/rivLtVjJI+ZydU01\nhg0dptLv12IhvyYs12ro/XF34nDs+DGEjQ9r0vtbsjx+4Hisj1+PD3/8EGO6jaFeHxr7l0wmQ1RU\nFAAoPy/rJeQ4VEZGRp1zAkOHDiUymUy57OrqSnJycsjnn39OVq1apXw9NDSUnDp16oX1CRyX0zI1\nihriudGTpN1Lox1F5+29tpf89+p/RdteUk4SsV5lTYrLi0XbJssa+uwUdTgoNDQUx44dAwDcuHED\nZWVlsLa2RkhICHbu3Inq6mrI5XKkpaXB399fzGha6/lvH7QoiEL0bepJ9BDuE44Pj3zY5N9hpV6a\noqn1GtNtDMZ1HydsmGf42PpgktskxGe37NyiurG4fwnWBKZNm4aAgADcuHEDjo6O2Lp1K+bNm4f0\n9HR4eHhgwoQJiIqKgp6eHnx9fTF+/HhIpVIEBQVh06ZNMBT66SGcqKbtmYZDNw+Jvt25veYi7X4a\nzsvPi75tjq71IesxrNMw2jGYp3V3DDfkQs4FSK2l/BpykaXkpSD4P8G4Pf82Whu2Fn373yV8hwM3\nDyBmeozo2+Y4FmjV8wRa4qMjH+E/l/5DO4bO+ezEZ1jSbwmVBgAA4T7huHTvEhKyE6hsn+NYplNN\n4B8D/oGvTn2FGkUN7SiioT0GeTX/Ks5kncEc3znUMhgbGGN98HroSRrf3WnXS9M0VK+7xXdRWVMp\nXhgNwOL+pVNNYKDTQFi3scZvV36jHUVnrDm3Bm/7vY1WhnSfDTy2+1j42vE5xsVCCMGrv71K5TxQ\nfWhcnKAJdKoJSCQSfBDwAdacW0M7imhqryGmxdTEFHN7zaWaQRW066Vp6qvXmawzKCgrwKiuo8QN\nVI+PjnyETRc20Y7B5P6lU00AAEZ1HYX80nyck5+jHUUnrBy+ElZtrGjH4EQWeTYSC/osEGx6CFWF\ndgnFmnNr+NHAS+hcE9DX08euybvQzVy4W9dZwuIYJMt4vVTzsnrdKryFuLtxmOU9S/xA9ejfsT/a\nG7dHzA26V4ixuH/pXBMAAD87P5i1Mmv8jZxWelD2gM8rI6AN8Rsw22e2yo+LFJJEIsGCPguwLn4d\n7SjM0an7BDgOAAZFDcLCPgv5syYEEnMjBp7Wnuj4SkfaUeoory6H4xpHnH/jPDqZdaIdR1T8PgFO\nVKx/y57lPQs/JP1AO4bWCu0aylwDAAATAxN8GPAh7hbfpR2FKbwJaDkaY5ALYxfih0R2P2Qnu0/G\nOfm5l34YsDhmyzJNq9cH/T7AIOdB1LbPYr10ugnUKGpwIecC7RhapayqDDvSdiCocxDtKPVqbdga\nr3m+hs1Jm2lH4TjqdPqcQElFCTp+0xFX37kKm7Y2aluvLotKicLuK7txYPoB2lEalHY/DSO3j8Sd\nBXdgoCfqYzU4TnT8nEA92hm3w8QeExGVEkU7itbYkrwFs31m047RKA8rD8z1m4tHFY9oR9EKVTVV\nKC4vph2DawadbgIAMNtnNrambNXaq47EHIPMLMrElfwrCO0aKto2W+KTAZ+88JxjFsdsWVZbr9hb\nsRi/czzdMBqAxf1L55tAH4c+qFHUIDE3kXYUjXen6A7e6/0en6pbB21P3Y4p7lNox2iy7EfZGP3L\naK398qcKnT4nUOufx/+JkooSrAnSnTmFOE5disuL4fSNE9LfS3/hyIpVCqKA6zpXRL8aDR9bH9px\nBEflnEB4eDisra3h6en5ws8iIyOhp6eHwsJC5WvLli2Dm5sbPD09cfjwYaFivdQs71no37G/qNvk\nOG2x5+oeDHEZojENAHj66NEZnjOw/dJ22lGoE6wJzJo1C7GxsS+8npWVhT///BNOTk7K1xITExEd\nHY3U1FTExsZizpw5qKwUbx5yFzMXTHSbKNr2xMTiGCSLar8l8XqpRiaTYdulbZgpnUk7ispmSGdg\nR9oOUW9uZHH/EqwJBAYGwszsxfl5Fi1ahJUrV9Z5LSYmBlOnToW+vj7s7e3h7u6O+Hi2HhDNaa/I\nM5FYfXY17RgaqUZRgy4duiCkSwjtKCrrZtENju0dcSzjGO0oVIl6Ynjv3r1wcHCAVCqt83p2djYc\nHByUyw4ODpDL5WJG01oszl/OGm8bb/x6+VcAvF6qGjpkKH4Y/QOMDYxpR2mWaR7TcOruKdG2x+L+\nJdpdMmVlZfjqq6/w559/Kl9rzknesLAwODs7AwBMTU3h7e2tLGztoRZfFnf5vMF5BDoFovJ2JRN5\nVF0eOGAg7hTdwS/7f4FtO1vqefiyeMtexAtDBg9hJo+6lmUyGaKiogBA+XlZH0GvDsrMzMTo0aOR\nmpqK1NRUDBs2DK1bP33YuFwuh729Pc6fP48ffvgBrVq1wuLFiwEAo0aNwv/93/+hX79+dcOKMIuo\ngiia9CxaTSGTyZQ7iRBqFDWwW22H0+Gn0blDZ8G2I7S39r+FLh26oFdVL0HrpW2E3r+0Da16MXHH\nsKenJ+7du4eMjAxkZGTAwcEBSUlJsLa2RkhICHbu3Inq6mrI5XKkpaXB399frGhKJRUl6LS2Eyqq\nK0TftqY6dfcU7NrZaXQDAIDJbpP5s6c5nSRYE5g2bRoCAgJw48YNODo6YuvWrXV+LpFIlH/39fXF\n+PHjIZVKERQUhE2bNsHQ0FCoaPVqZ9wODu0dcDTjqOjbForQ3zp2X9mNST0mCboNMQxyHoQn1U/g\n00f7rxlXJ34UoBoW68VvFnvOmrNrkHY/DT+N/UnQ7WgDBVHAYbUDjv/tOLpZaP7jOgkhdb6ccPXL\nLcnF+4ffx46JO2hH4ZqAieEgTTGhxwTsu7GP+QejNFXtySIhJGQnwLy1uVY0AODpfyhC1kub/Pfa\nf6En0dOaemU/ykb01WjBt8NivXgTeI6TqROcTZ1xIvME7SjM87f3h+xvMtoxOAr2XN2DSW6aPwxY\nq7y6HHNj5kJBFLSjiI4PB73EmrNrYGJggrd7vS34tjhO0zwoe4BO6zoh7/08tDJsRTuO2rhvdMeW\nMVvQ26E37Shq19BnJ3+axkss7LuQdgSOY9ahW4cw2HmwVjUAABjTdQz2Xd+nlU2gIXw4SMuxOAbJ\nMplMhu8SvkNpZSntKMw6fPswRncdDUC79q8x3cZg3419gm6DxXrxIwGOe87uq7th184OY7uPpR2F\nST+N+Qk1pIZ2DLXzt/fH/dL7SH+Yjk5mnWjHEQ0/J8CprKi8CNmPsuFu5U47iiDWnluLS/cu8cuE\nddAft/6Ar50vLFpb0I6iVvwSUU6toq9G47MTn9GOIZjR3UbjwM0DqFFo37ddrmEjO4/UugbQGN4E\nGnA26yxkmTLaMVpEiDHI/Tf2K8eEtY1MJkMns06wamOF+Gw+nXljWBzjZhmL9eJNoAHpD9Pxzblv\naMdgSnl1OY5lHNPI+eNVMabrGOy9vpd2DI4THD8n0IDa66HvLb4HEwMT0bbLskM3D+GrU18hblYc\n7SiCyniYgQdPHsDPzo92FGak3kuFXTs7mLc2px2FUxE/J9BM5q3NIbWWavyQkDrF3IzBqC6jaMcQ\nnIuZC28Az5l7cC4SchJoxxAFIURnLkLhTaARo7qMwv7r+2nHaDZ1j0G6W7pjXPdxal0nS1gcs2VB\ncXkxUvJSMNBpYJ3XtbVeQ/49BEm5SWpfL4v14k2gEcFdghF7O5Z2DGa83ettrZkwjmu6YxnHEOAY\noHV3CdfH29obsbd04797fk6gEYQQ7L2+F2O6jdGqJ45xnCr+fuDv6GreFYv6LqIdRRR/3PoDX8Z9\nqTXnvvg5gRaQSCQY130cbwA6TBdnlnwWIQR/3P4DI11H0o4imgFOA5CSl4Ki8iLaUQQn2CdbeHg4\nrK2t4enpqXxt0aJFcHNzg5ubG0aNGoUHDx4of7Zs2TK4ubnB09MThw8fFiqWzmFxDJJlz9dr9dnV\n+EymvTfGNUVFTQVedXsVbpZuL/xMW/evVoat0L9jfxxNV+9TBlmsl2BNYNasWYiNrTumNnr0aKSl\npeHKlSvw8PDAl19+CQBITExEdHQ0UlNTERsbizlz5qCyslKoaBzXZD42Pjh06xDtGFSZGJhgxfAV\nOvfUtdAuobj+4DrtGIITrAkEBgbCzMyszmuDBw+Gnt7TTfbr1w/Z2dkAgJiYGEydOhX6+vqwt7eH\nu7s74uP53ZrqoK5nmm6I34CYGzFqWRfLnq9Xv479cP3BdeSX5tMJxDgWn5mrLvP85+HjwI/Vuk4W\n60VtoPuHH37A2LFPZ2nMzs6Gg4OD8mcODg6Qy+W0otVLg86hq93WlK1oa9SWdgzRGekbYZDzIBy+\nzYcoOe1EZSrpf/3rXzAyMsJrr72m8u+GhYXB2dkZAGBqagpvb29ld60dbxNi+WLeRcxcMxPrgteJ\nsj11LaekpGDBggUtWp97L3fcLLyJytuVkGXKmPr3qXv5ZfUa0WkEjmQcgX2hPfV8rC2rY//SpWWx\n6iWTyRAVFQUAys/LehEBZWRkEA8PjzqvRUVFkb59+5InT54oX/v888/JqlWrlMuhoaHk1KlTL6xP\n4LgNqqiuIO2XtSf5pfnUMjTH8ePHW7yOHZd2kDG/jGl5GA3wsnpdy79GBm4dKHoWTaCO/UuX0KpX\nQ5+dog4HxcbGYuXKldi3bx9MTP6aiyckJAQ7d+5EdXU15HI50tLS4O/vL2a0RhnpG2Gg00AcST9C\nO4pKar8ltIQuXR74snp1s+gGWZhM9CwseGv/W8gpyan35+rYv3QJi/USrAlMmzYNAQEBuH79Ohwd\nHbFlyxa8++67ePz4MYYPHw4fHx/MnTsXAODr64vx48dDKpUiKCgImzZtgqGhoVDRmm1Yp2E4lnGM\ndgxREUJwNOMohnUaRjsKJ7KCsgLsvLwTlq0taUeh6kzWGaQ/TKcdQzD8jmEVpN1Pw7hfx+HW/FvU\nMqhKJpO1+NtHVnEWHNo76MQlguqol7bYfWU3tqZsRcz0+q8K04V6LfpjETq06oB/DPhHi9dFq178\njmE1cbd0h76ePh6UPWj8zVrE8RVHnWgAXF3HMo5hiPMQ2jGoG+oyFEcz1HvTGEv4kYCKCCH8A5HT\nCT029MCOCTvgY+tDOwpVJRUlsI20Rf4H+Ro7gR4/ElAj3gB0V8bDDCRk68Z8+jklObhfeh9eNl60\no1DXzrgdvGy8cDrrNO0oguBNQMvVXjvMNU1D9UrKTUKELEK8MBRZt7HGhTcvNDpxoq7sX0Ndhqpl\nHiEW68WbAFevgrIC1ChqaMdgxmCXwTh19xQqa7R/Xit9PX24mLnQjsGMV91fRR+HPrRjCIKfE+Dq\nNe7XcZjqMRVTPabSjsIM3x98sTZoLfp37E87Csc1WUOfnfVOG7Fnz55GP3RbtWqFkJCQlifUMMXl\nxUjOS8Yg50G0owimRlGDk3dO4vtR39OOwpTaYQHeBDhtUe+RgLm5OcaMGVPvLxJCEBcXh9u3bwsW\n7nmsHAncKbqDXj/2wr3F95g/Udzc65ITcxLx+u+v4/Lcy+oPxbDG6nXo5iGsOL1CZ+8gfp4u3Ceg\nTizeJ1DvkUBQUBC2bt3a4IqbMwGcNnAydUI743a4nH8ZHlYetOMI4ljGMQx2Hkw7BnP6deyHUfmj\naMcQVOGTQnRo1YF2DE4k9R4JVFZWwsjISOw8DWLlSAAA3tz3JqTWUrzb+13aUQQR8p8QvNHzDUzo\nMYF2FE5EhBA4rHHAqVmn+IlhLdKs+wQcHBzwxhtv4OjRo8x88LJksMtgHM88TjuGYIwNjDHQaSDt\nGJzIbhXegp5ED86mzrSjMOnLk1+q/ZGTtNXbBK5cuQI/Pz988cUXcHBwwHvvvYdz586JmY1pgR0D\nceruKeYbZHOvS/7vlP/CvLW5esNoABav4xbTyTsnMcBpQJPPdelavRREgT9u/9Hs32exXvU2AQsL\nC/z973+HTCZDQkICXFxcsHDhQri6uuLjj9X7yDVN5PiKI972extPqp/QjsJxahN3Nw4DOg6gHYNZ\nA5wG4OSdk7RjqFWT7xMoKSlBdHQ0Vq9ejdzcXNy/f1/obC9g6ZwAx2mjTms74cD0A3CzdKMdhUlP\nqp7AcpUl8hbnadTjVps9d9CTJ0+wa9cuTJgwAZ07d8axY8ewYsUK5OTU/5AJjtMFO9N2YtvFbbRj\nqNXjysfo+EpH9LDoQTsKs1oZtoKPrQ/OZp2lHUVt6m0C06dPR8eOHbFr1y689tpryMzMxM8//4yg\noCAYGDT+aOLw8HBYW1vD09NT+VphYSGGDx8OqVSKkSNHoqioSPmzZcuWwc3NDZ6enjh8mD/UW11Y\nHINkWVPrJZFIsPvqbmHDiKytUVvIwmQq3fuii/vXgI4DcOLOiWb9Lov1qrcJBAUFIT09Hbt378bE\niRPRqpVqU6jOmjULsbGxdV6LiIhAaGgoLl26hODgYEREPJ2MKzExEdHR0UhNTUVsbCzmzJmDykrt\nn5+FRafvnsZ5+XnaMZgX2DEQcXfioCAK2lE4kS3quwgf9f+Idgy1qbcJmJmZoV27dg3+8oEDB+r9\nWWBgIMzMzOq8dvDgQcycORMAMGPGDMTEPH1iUUxMDKZOnQp9fX3Y29vD3d0d8fHxTf5HcPVT9e7E\n7y58h9T7qcKE0QBNrZdtO1tYtLZA2v00YQMxThfvFjZvbd7s8wEs1qvecZ0PPvgA9vb29T5EhRCC\n//u//8OoUU2/ezI/Px/m5k8vO7SwsFCeXM7OzsaQIX89wcjBwQFyubzJ66XpbNZZnJOfw8K+C2lH\nUYuTd07inwP/STuGRqi9UkRqLaUdheOard4mYGNjg/fff7/BX+7atavaA2kaYwNj/Jj0I7NNQJW5\nSu4U3UFlTSW6dOgibCiGqVKvAU4DsP/GfszznydsKIbxuYNUw2K96m0CQpzAsLS0REFBASwsLJCf\nnw8rKysAT7/5Z2VlKd8nl8vh6Oj40nWEhYXB2dkZAGBqagpvb29lUWszi7lco6hBdkk28kvzcTnh\nsujbb2w5JSWlye/ftHsTuj3upjzyYyG/2Muq1Mv8njmmtJmCWizkb+7y4duHUXClAHbt7ASrF18W\nr14ymQxRUVEAoPy8rBcRUEZGBvHw8FAuz5s3j6xZs4YQQsjq1avJu+++Swgh5MKFC8TPz49UVVWR\nrKws4uTkRCorK19Yn8Bxmy1oexCJvhJNO0aLvbnvTbLu3DraMTgK/H/0J7IMGe0YGqXoSRGprqmm\nHaNJGvrsFOzJYtOmTUNAQACuX78OR0dHbN26FZ999hliYmIglUpx6NAhfP755wAAX19fjB8/HlKp\nFEFBQdi0aRMMDQ2FiqZ2gR0DEXc3jnaMFhvbbSxGdxtNOwYnsseVj5F2Pw3+9v60o2iUwK2BSM5L\nph2jxfiTxdQg7k4cFh1ehIQ32XsIuYzBMUiW6WK9jqQfQYQsAqfDVX+Qui7Wq9ac/XPgbuWO+b3n\nN/l3aNWr2XcMA0+ni/jHP/6B8PBwAMDt27exf/9+9SbUcP72/vhpzE+0Y3Bcs8Td4fMFNUe/jv1w\nOkv1xsmaRo8Exo4di4CAAPz73//G5cuXUV5eDn9/f1y6dEmsjEqsHglwuq1aUQ1CCAz1NWcI81lD\n/z0Ui/osQmjXUNpRNMqtwlsY/PNgZC3MavzNlLXoSCA9PR1LlixRPmDGxMQEenqCnUrgOI0z7tdx\niL0V2/gbGTXVfSoCHANox9A4rmauqKypxN3iu7SjtEijn+ZGRkZ48uSv6ZLv3tXsf7Cuqb1sjGua\n5tTLz84PZ7LOqD+MSN70fRNmrcwaf+NL6PL+JZFIMLHHRMgfNf3GVhbr1WgTiIiIwNChQyGXy/H6\n66+jX79+WLZsmRjZOJEkZCdg/qGmn9zi6gpwDNCKsWFOdRtDN2r8UVSTrg66d+8e4uKeXgIZGBgI\na2trwYO9DOvnBAghUBAF9PX0aUdRyddnvsadojv4NuRb2lE00qOKR7CLtEPhkkIY6bP1XG6OA1p4\nTiAxMRHZ2dlwcXGBi4sLsrOzcfXqVVRVVak9qKZ799C72JK8hXYMlZ3JOqPx32Zoam/cHq4dXJGc\nq/nXjHO6p9Em8M4776B3795466238NZbb6FPnz6YPn06XFxcsHfvXjEyagwPKw+ckbM1NtzYGCQh\nBGflZ3kb8O1GAAAgAElEQVQT+J/mjtkGuQZp/AnC5mBxjJtlLNar0Sbg6OiI1NRUJCYmIjExEamp\nqejSpQtOnDiBJUuWiJFRY/R16KtxTxzKLMqEnkQPHV/pSDuKRlsxfAUmu0+mHUMlR9OPYtXpVbRj\ncJQ12gSuXLmC7t27K5e7deuGK1euwNXVVXnZKPeUh5UHckpyUFBWQDuKUmN3J56Vn0Vfh74qPU1K\nm+nS3a+Hbx9GeXV5i9ahS/Wqz8MnD/H7td+b9F4W69VoE+jUqRPmzZuHEydOQCaT4d1334WzszMq\nKyt5E3iOvp4+/O39cU5+jnaUJpvkNgkbQzfSjsFRcEbOzwWpQ5WiCmG/h2nsU+YabQK//vorbG1t\nsXLlSqxatQo2NjbYuXMnDAwMcOzYMTEyapTAjoFIf5hOO4ZSY2OQRvpGsGpjJU4YDcDimK0QKmsq\nkZyb3OJJ43SlXg2xamMFqzZWuHz/cqPvZbFejT4xvk2bNvjkk09e+rP27durPZCm++fAf/KhFY55\nKXkp6NyhM9oZN/wIWa5pAhwDcCbrDDytPWlHUVmTzgmMHj0aXbt2VV4m2qlTJzGyaSTWGgCLY5As\na0m9yqvLEXMjRn1hBHQm6wz6OvRt8Xr4/vVUgGNAk64MZLFejTaBmTNn4r333oOJiQlkMhnCw8Px\n2muviZGN4zSKBBK8uvtVlFaW0o7SqDDvMHw68FPaMbRGH4c+OC8/TztGszTaBKqrqzFs2DAoFAo4\nOTnh008/RWys5k6WpWsaGoMsLi8WL4iGaMmYrbGBMTytPHEh54L6AgnE1MQUdu3sWrweFse4aXC3\ndMc0j2mNzmjAYr0abQKtW7cGIQROTk7YuHEjoqOj8eDBgxZtNCIiAl27dkX37t0xadIklJWVobCw\nEMOHD4dUKsXIkSNRVFTUom1wDVMQBTqt64R7j+/RjqJVetv3xvlszfxGyDWfvp4+IgZFMDcc3BSN\nzh2UkJCAHj16ID8/H5988gnKy8uxePFiBAQ079KyW7duYcSIEbh27RqMjIwwZcoUjBgxAikpKXB1\ndcWCBQvwzTffICMjA2vXrq0blvG5g2rVKGoQdzcOg5wH0Y5Sr2sF1xD8n2BkvJdBO4pW2ZG6A7uv\n7Eb0lGjaUThOqUVzB2VkZKBt27ZwcXHBjh07EB0dDbm86VOnPq9Dhw4wNDREaWkpqqurUVZWho4d\nO+LgwYOYOXMmAGDGjBmIidGME2wvI5FIMHHXROSW5NKOUi91nRjk6urj0Afn5Oc04ssKxwFNaAIv\nmzb6X//6V7M32KFDB7z//vvo2LEj7OzsYGpqiuHDhyM/Px/m5uYAAAsLC9y/f7/Z26BNT6IHf3t/\nxGfH045S7xhkfHY8+jj0ETeMBmjpmK2LqQume05HZU2legIJQJ3ZWBzjZhmL9ar3PoFDhw7h4MGD\nyM7Oxvz585XfbMrKylo07nX79m188803yMzMxCuvvILJkydj+/btzV4fq2rHhsd2H0s7ykudzz6P\nWd6zaMfQOhKJBF+P+Jp2jHpV1lTCcpUl8t7PQyvDVrTjcAyotwnY2dnB19cXe/fuha+vr7IJtG7d\nGsuXL2/2BuPj4xEQEKD81j9hwgScPn0alpaWKCgogIWFBfLz82Fl9fK7WMPCwuDs7AwAMDU1hbe3\nt/La29ouy8Kyv70/Pt3yKUboj6Cep1btcuCAQOhL9FF8vRiyWzLq+VhbrsVKHnUuXy+4DqdXnNDK\nsBWvlwDLh24ewuDBgxHUOYhqvWQyGaKiogBA+XlZn0ZPDFdVVcHQUH0P0E5ISMCsWbOQkJAAExMT\nhIWFwdPTE3fu3FGeGF6zZg0yMjKwbt26umE15MQwABSUFaDzus4oXFIIPQl/JjPHhg3xG5Ccl4zN\nYzbTjqKVVp9djfSH6Vgfsp52lDoa+uys90jA07P+258lEgkuXbrUrDC9evXCpEmTIJVKoaenBx8f\nH8ybNw9lZWWYMmUKtmzZAhsbG+zatatZ62eFRWsLzJTORElFCV4xeYVaDpnsr2/6XOO0vV7xOfHo\n79hfbevT9nqpqrd9b/yS9ku9P2exXvU2gf379wu20aVLl2Lp0qV1XjMxMcGff/4p2DZp4I9r5FgT\nnx2PRX0W0Y6htXra9sTl+5fxpOqJxpxzadIzhnNycnDmzBlIJBL07dsXdnYtv9OwOTRpOIjTbfuu\n74OBngFCuoTQjqJUXl0Oz+88cfWdqzDQa3TuSK6Z/H7ww7rgdUxN092i+wT+/e9/o1evXti3bx9+\n//13+Pv7Y9u2bWoPyXHaJLckF7suszWkaWJggpvv3uQNQGC97Xtr1DNFGj0ScHNzw6lTp9ChQwcA\nQGFhIfr3748rV66IEvBZ/EhAdc+PQd4qvIXSylJ42XjRC8UwdY3ZXsy7iCm7p+DavGstD8UwFse4\nact4mAFjA+OXzs1Eq17NOjH8rNoGAABmZmb8g1iD/ZzyMwDwJiAwdyt3ZJdk4+GThzBrZUY7Dici\nFzMX2hFU0uhw0NChQxEUFISoqChs3boVoaGhGDZsmBjZtIIsU4bYW/RmXX3+W0d8TnyLnyalzdT1\nLc1AzwA9bXsycde4kPhRgGpYrFejTWDdunV4/fXXER8fjwsXLuD1119/4fp9rn53iu7g54s/044B\n4OnMofHZvAmIpY99Hz6jKMe8RpvA6tWrMXDgQGzcuBEbNmzA1KlTNXK6VFpozyH07F2Ktwpv4RXj\nV2Dd1ppaHtY9f1dnS7zp+yZedX9VbetriYyHGYI8+1qd9dIFLNar0SZQUlKCESNGoH///li/fj3u\n3ePzz6uim0U3FJQVIL80n3YUnJef50cBIurcoTO6W3SnHQMAsDFhI35N+5V2DJ2iKedOG20CS5cu\nxeXLl7Fhwwbk5uZiwIABGDp0qBjZtIKeRA+97HohISeByvafHYO0bWeLmdKZVHJoChbHbNXhfLYw\nXwC0tV4t9ajiEVzWukBBFHVeZ7FeTZ7UxsrKCjY2NjA3N0d+Pv1vtZrE396fieePDus0DKO7jaYd\ngxNZtaIayXnJ8LPzox1FZ7Q3bg8CgluFt2hHaVSjTWDjxo0YNGgQhg4dioKCAmzevLnZ8wbpqpnS\nmRjVdRSVbbM4BskybazX5fuX4dDeAaYmpmpftzbWS1162fV64XnTLNar0fsEsrKy8M0338Db21uM\nPFqph2UP2hE4HcavCKOjl10vJGQnYLrndNpRGtSkuYNYwe8Y5jRNaWUpArYEIHlOMrUpxfdc2QMD\nPQNmH3CkrY6mH0WELAKnwk/RjtLyO4Y5jmueNkZtUFxejJsPbqKbRTcqGSa6TaSyXV3na+eLGw9u\nQEEUTD9ThN1knFrUjkF+dOQjFJUX0Q2jAYQYs+1lT+/qMKGxOMbNClMTU+S+n1unAbBYL94EdEBx\neTHWx69HW6O2tKPopJedIOR0g76ePu0IjaLSBIqKijB58mR4eXmhR48eOHfuHAoLCzF8+HBIpVKM\nHDkSRUXa9a21qqYKA7YOQLWiWtTtDho0CMl5yfCy8eJTCDeBENdx07xPRGgsXvfOMhbrRaUJvPnm\nm5gwYQIuXryIy5cvw83NDREREQgNDcWlS5cQHByMiIgIGtEEY6hviLzHebhWIP7UwhdyLsDPll8j\nTouvnS8u3buEGkUN7Sgc9wLRm8CDBw+QkpKCadOmPQ2gp4f27dvj4MGDmDnz6d2sM2bMQExMjNjR\nBOdn5yf6sIBMJnvaBPiNQk0ixJhte+P2yFmUQ2VoYPmp5XhU8Uiw9bM4xs0yFuslehO4efMmLC0t\n8eqrr8LDwwOvv/46SkpKkJ+fD3NzcwCAhYUF7t+/L3Y0wfnZ+SExJ1H07fImQF8743aib/NRxSN8\ncfILtDZsLfq2ub/kluSi8Ekh7Rj1En2QWKFQICEhAWvXrkWvXr2wYMECfPHFF03+/bCwMDg7OwMA\nTE1N4e3trRxnq+2yrC7r39HH0cSjwP8eOyvW9teMXIOu5l2p//s1ZbkWK3mau7zlv1vg9NBJeS6I\n14vO8rbibfC184VbqRueJeT2ZTIZoqKiAED5eVkf0W8Wy8rKQmBgIDIzMwEAp06dwueff4709HSc\nO3cOFhYWyM/PR9++fXHrVt15NzT9ZrGSihLYRNqgaEkRDPUNacfhtFzkmUhkFmXi25BvaUfRad9f\n+B7ns89j69it1DK06EHz6ubo6AgLCwvcuHEDAHDkyBH06NEDwcHB2L59OwBg+/btCAkJETua4NoZ\nt8P1eddFvUrn+W9rXMO0qV6JuYmCDwNqU72E8uwlwizWi8o1gz/99BNee+01lJWVwcnJCf/5z39A\nCMGUKVOwZcsW2NjYYNeuXTSiCc6hvQPtCBwlpZWlUBCFaOcHLuRcwCeBn4iyLa5+ntaeuF14G6WV\npbSjvBSfO4jjRPLmvjfhbeONd/zfEXxbhBD8fPFnzJTO1IgblrSd/4/+iBwRiUCnQCrbZ2o4iON0\nlZ+dn2g3jUkkEoR5h/EGwIiJPSbiSfUT2jFeijcBLXY0/SjGLRtHO4ZGEXLMVhvnEGJxjJtFS/ov\nwQjXEUzWizcBChREgYrqCsG3c05+DiaGJoJvh2saTytPZBZl4nHlY9pROE6JNwEK3j7wNn6++LPg\n27mQewHjg8YLvh1tUnvNtRAM9Q3haeWJpNwkwbYhNiHrpY1YrBdvAhR42XiJMn0Ev1OYPcGdg5m+\ne5TTPbwJUCDGHEL3Ht/D48rHuHvxrqDb0TZCj9lGDIrAuO7CnqeJuxOHj49+LOg2arE4xs0yFuvF\nmwAFUmsprhVcQ3l1uWDbqL1RSCKRCLYNjk2n7p5CZU0l7Rjcc3JKchB3J452jBfwJkCBiYEJull0\nw6V7lwTbRlDnIOyatIvJMUiWaUO9LuSKNwyoDfUSS3F5MX4uFv5coKp4E6BkoNNA3C0WbqhGT6IH\ns1Zmgq2fYxc/F8SmruZdca/0HnOPeeVNgJJvgr7BJLdJgm+HxTFIlml6ve6X3kdxeTFczVxF2Z6m\n10tM+nr6cH7ozNzVYbwJcJzI8kvzcTzjuCDrTsxJhK+dLz8XxKiu5l2ZawJ87iCOE1lKXgpei34N\nl+deVvu6y6vLUVBWwCcqZNTPKT8j9nYsfpn4i6jbbeizkz95XAsVlRfhFeNX+LdBRrlbuiOzKBOl\nlaVoY9RGres2MTDhDYBhg5wHgYCtL7J8OEgLTd8zHfuu7wPAx2xVJUa9DPUN4WbphpS8FMG3JTS+\nf6kmIyUDYd5htGPUwZsARcXlxWq/aYwQgsTcp+PCHLt8bX2ZGxvmdBNvAhSlP0xH2O9hal2n/JEc\nEkhg384eAL+OW1Vi1aunbU8k5iaKsi0h8f1LNSzWi1oTqKmpgY+PD0aPHg0AKCwsxPDhwyGVSjFy\n5EgUFbF1La0Q3K3ckf4wHWVVZWpb54WcC/zqEA0w0GkgfG3Ve7RWVVOl1vVxuoFaE1i7di3c3NyU\nH1YREREIDQ3FpUuXEBwcjIiICFrRRGOkb4Qelj3UeudwUm5SnQ8XPmarGrHq1c2iG97t/a5a1znp\nt0nYf32/WtfZGL5/qYbFelFpAnK5HAcPHsQbb7yhvGzp4MGDmDlzJgBgxowZiImJoRFNdD1teqp1\nbLisqgy97XurbX2c5kjKTYK7lTvtGFwTzNk/h5nnSlBpAgsXLsSqVaugp/fX5vPz82Fubg4AsLCw\nwP3792lEE11PW/U2gciRkQjtGqpcZnEMkmWaWq/80nyUVJTAxdRF1O1qar1oqa1Xcl4yM1eHiX6f\nwIEDB2BlZQUfH59mHRqFhYXB2dkZAGBqagpvb29lYWvXp0nLxoXGcLFwYSYPX9bM5eS8ZDgXOePE\niRNM5OHLDS/72vri1wO/otqtWpD1y2QyREVFAYDy87I+ot8x/PHHH2Pbtm0wMDBAeXk5Hj16hAkT\nJuDMmTM4f/48LCwskJ+fj759++LWrVt1w/I7hlUmk8mUOwnXOE2t1/JTy5Ffmo/IkZGibldT60VL\nbb02J21G3N04/DxOnFlFG/rsFH046KuvvkJWVhYyMjLw66+/YsiQIdi2bRtCQkKwfft2AMD27dsR\nEhIidjSOE92SP5eo5bkS2Y+y0dO2pxoScWLoadsTiTlsXCJMde6gEydOIDIyEvv27UNhYSGmTJmC\ne/fuwcbGBrt27YKpqWmd9/MjAU7beH3vhc2jN6OXfa8Wr4sQwi8N1hCVNZUwXW6Kgg8L0NqwteDb\na+izk08gp0UO3z6MIS5DYKDHp4TSFOF7w+Fv74+/+/2ddhROZHF34uBv7w9jA2PBt8XUcBAnjIdP\nHmLironQk9T9v7T2ZBHXNGLXS9Onj+D7l2qerVegU6AoDaAxvAkwgBCC5aeWo1pR3ex1JOclw8va\n64UmwLFNW6aP4DQXHw5iRLf13bDn1T3wsPJo1u9HnonEneI7WBe8Ts3JOCGVVZXBYqUFij4qgpG+\nEe04nJbiw0EaoKU3jSXlJfGrQzRQa8PW2DFxBxRE0ex1JOUmtegoktNtvAkwoqXTRyTlvrwJ8DFb\n1dCo17ju42BiYNKs3y2rKkO/Lf1Qo6hRc6qm4fuXalisF28CjGjJkQAhBAM6DkAPix5qTsWxLvVe\nKrpbdGfiBCOnus9PfI6fkn6imoGfE2BE4ZNCOH/jjKKPivjJXa7Jvr/wPRKyE/DTWLofJFzzbEzY\niOTcZPw45kdBt8PPCWiADq064OsRX6OyppJ2FE6D1DcMyGkGFq4O402AIW/5vtXsseH6sDgGyTJN\nq1dyXjJ8bH2obV/T6kXb8/XysvbCtYJrqKiuoBMIvAlwHBNWnl6JXZd3qfQ7hBB0MusEL2svgVJx\nQmtl2AquHVyRej+VWgZ+ToDjGLD67GpkPMzAtyHf0o7Ciexvv/8NA50GItwnXLBt8HMCWux24W1s\nTd5KOwbXQj42PkjOS6Ydg6NgY8hGzPKeRW37vAloOFmmDMczj9f/cz5mqxJa9fKx9cHFexepXe/f\nXHz/Us3L6tXGqA3V2V95E2BM5JlIHEk/0uT386tDtIOpiSksW1viVuGtxt/McWrEmwBjHlU8gixT\n1uT3NzZdBH/qk2po1svHVvOGhPj+pRoW68WbAGNUuXO4RlGD1Hup8LbxFjgVJ4aNIRsxvvv4Jr03\npyQHv13+TeBEnC4QvQlkZWVhwIAB8PT0RLdu3bBy5UoAQGFhIYYPHw6pVIqRI0eiqKhI7GhMqL15\npClXQV1/cB227WzR3rh9ve/hY7aqoVkv67bWTZ7+4UTmCfx6+VeBEzWO71+qqa9eNYoaPCh7IG6Y\n/xG9CRgZGWHjxo1ITU1FYmIiNm/ejIsXLyIiIgKhoaG4dOkSgoODERERIXY0Jji0d4CCKJD7OLfR\n95qZmGH1iNUipOJYk5SbhJ42/FyQtjiSfgSTf5tMZduiNwFra2t4eDydM79t27aQSqXIzs7GwYMH\nMXPmTADAjBkzEBMTI3Y0JkgkkiYPCdm2s8XobqMbfA+LY5As05R6JeclM3FBgKbUixX11av2fBCN\n+6ConhPIzMxEQkIC+vfvj/z8fJibmwMALCwscP/+fZrRqNoQsgGBHQNpx+AYRQjhV4VpGas2Vmht\n2BqZRZmib5vaE8kfP36MSZMmYe3atWjfvv4x7eeFhYXB2dkZAGBqagpvb29ld60db+PLfy2npKRg\nwYIFzORhfZmFegUEBsBI36jen7t4u8DEwARXL1zFVVzV+Xpp0nJD9er4sCO27duGf/7tny3enkwm\nQ1RUFAAoPy/rRSiorKwkI0aMIKtXr1a+1qlTJ5Kfn08IIeT+/fvE1dX1hd+jFFejHT9+nHYEjUK7\nXvuu7SOjd4xu8D3yYjnZkrRFpEQNo10vTdNQvT499in55Ogngmy3oc9O0YeDCCGYPXs23NzcsHDh\nQuXrISEh2L59OwBg+/btCAkJETuaVqr9lsA1De16uVu5N3qvgH17e8zyoTfNwLNo10vTNFSvPg59\nqMwmKvoEcqdOncKAAQMglUqVt0ovW7YM/v7+mDJlCu7duwcbGxvs2rULpqamdcPyCeSU1sevh107\nO0zoMYF2FE6NCCEwW2GGm+/ehGUbS9pxOC3B1ARy/fv3h0KhQEpKCpKTk5GcnIygoCB06NABf/75\nJy5duoTDhw+/0AB0UUMNL+ZmDAz0Gj+lUztOyDUN7XpJJBKNunOYdr00DYv14ncMM2r/9f14/ffX\nX/ozQggScxL51SFaysfGp9nPm+Y4VfEmwCgXMxecl59/6c9ySnJAQGDfzr7R9fAxW9WwUC8/Oz/k\nPc6jHaNJWKiXJmGxXtQuEeUa1t2iO+SP5HhU8eiFaSFqbxSiOf0sJ5zpntMx3XP6S3+2I3UH2hm1\na/QmQY5rKn4kwCgDPQN4WnviYt7FF36WlJsEH5umPVeWxTFIlrFer+ir0Xhc+Zh2DCXW68WaxupV\nVVOFQzcPiRPmf3gTYFh9T5t62+9tLOizgEIijjZ+p7B205PoYfJvk1FcXizeNkXbEqcyHxsfXC+4\n/sLrlm0sYdPWpknrYHEMkmUs1+vhk4fIL8tHF/MutKMosVwvFjVWL309fUitpUjJSxEnEPg5AabN\n7jkb+hJ92jE4RqTkpcDbxht6Ev7dTZvVTiA50HmgKNvjexPDDPQMWnzyl4/ZqoaVelXVVCEhO6HO\na6qcCxILK/XSFE2pV33DwELhTYDjGFRDajAwamCdaQQmuU3Ce73fo5iKE4PYNwuKPm1ES/BpI57e\nKMYvDdUN0u+k2Dp2K3ztfGlH4URUUV2BRX8swvqQ9Wr7b52paSO4lvH63gu3Cm/RjsGJQJXnTXPa\nw9jAGBtCN4j2ZY83AcbVKGqQ8TADAPCo4hFuP7wNZ1PnJv8+H7NVDUv1EntsuDlYqpcmYLFevAkw\nrqSyBJ7feaJGUYOLeRfhYeXRpInjOM2nSRPJcZqLNwHGmZqYwrqtNW4W3nw6XYSKDxfn13GrhqV6\nedt4w9XMlXaMBrFUL03AYr14E9AAPjY+SM5N5neL6pj2xu2xfcLTBy2N2DbipTcOclxLMdUEYmNj\n4enpCTc3N6xYsYJ2HGbUjg3fKrwFH1vVrhNncQySZSzWq6K6AqfunkLHVzrSjvICFuvFMlXq9UPi\nD8rzgUJipglUVFTg7bffRmxsLC5duoTdu3cjOZmPhwJ/XSUSNysOvraqXS6YkiLe7efagMV6Xc6/\nDNcOrmhl2Ip2lBewWC+WqVKv45nHEXc3TsA0TzHTBM6fPw93d3fY29vDwMAAU6ZMQUxMDO1YTOhp\n2xPtjdtDIpGofNlYUVGRQKm0E4v1Ss5NZu5O4Vos1otlqtRLrIcLMdME5HI5HB0dlcsODg6Qy+UU\nE7HDuq01oqdE047BUcLPBekmsS4RZqYJ8LtghZGZmUk7gkZhsV4Hbx2Em6Ub7RgvxWK9WKZKvXxs\nfcSZLJAw4uTJkyQ0NFS5vHLlSvLll1/WeY+rqysBwP/wP/wP/8P/qPDHy8ur3s9eZuYOKi8vR/fu\n3XH69GlYWVkhICAAmzZtQs+e/DCY4zhOKMzcempiYoLvvvsOI0eOhEKhwMyZM3kD4DiOExgzRwIc\nx3Gc+Jg5MdwYfiOZapydnSGVSuHj4wN/f3/acZgTHh4Oa2treHp6Kl8rLCzE8OHDIZVKMXLkSH75\n4zNeVq+lS5fCwcEBPj4+8PHxQWxsLMWEbMnKysKAAQPg6emJbt26YeXKlQAY3ccEOcurZuXl5cTZ\n2ZnI5XJSVVVF/Pz8SFJSEu1YTHN2diYPHjygHYNZJ0+eJElJScTDw0P52rx588iaNWsIIYSsWbOG\nzJ8/n1Y85rysXkuXLiWRkZEUU7ErLy+PpKamEkIIKSkpIV26dCEpKSlM7mMacSTAbyRrHsJH+uoV\nGBgIMzOzOq8dPHgQM2fOBADMmDGD72PPeFm9AL6P1cfa2hoeHh4AgLZt20IqlSI7O5vJfUwjmgC/\nkUx1EolEedi5fv162nE0Qn5+PszNzQEAFhYWuH//PuVE7NuwYQN69OiBGTNmoLCwkHYcJmVmZiIh\nIQH9+/dnch/TiCbAbyRT3blz55CUlISjR49i69atOHLkCO1InJZ55513cPv2bVy5cgWurq6YP38+\n7UjMefz4MSZNmoS1a9eiffv2tOO8lEY0AQcHB2RlZSmXs7Ky6hwZcC+ysrICAFhaWmLSpElISEig\nnIh9lpaWKCgoAPD0qKC2htzLWVhYKOezmjNnDt/HnlNVVYWJEyfitddew7hx4wCwuY9pRBPo1asX\n0tLSkJ2djaqqKuzatQvBwcG0YzGrrKwMZWVlAIDS0lLExsbC3d2dcir2hYSEYPv2p/P3b9++HSEh\nIZQTse3ZoYw9e/bwfewZhBDMnj0bbm5uWLhwofJ1Jvcxyiemm+zgwYPE3d2d9OjRg3z11Ve04zAt\nPT2dSKVS4uXlRbp06UI+/fRT2pGYM3XqVGJra0sMDQ2Jg4MD2bJlC3nw4AEZNmwY8fT0JMOHDycP\nHz6kHZMZz9frp59+IjNmzCBSqZR0796djBw5ksjlctoxmREXF0ckEgnx8vIi3t7exNvbmxw6dIjJ\nfYzfLMZxHKfDNGI4iOM4jhMGbwIcx3E6jDcBjuM4HcabAMdxnA7jTYDjOE6H8SbAcRynw3gT4DiO\n02G8CXBap7i4GN99951yOScnB5MnT1b7dmrn01+6dKna192YwYMHo127dkhMTBR925x24U2A0zoP\nHz7Exo0blct2dnb47bff1L4diUSCRYsWUWkCx48fh5+fH59ckWsx3gQ4rfPRRx/h9u3b8PHxwZIl\nS3Dnzh3lE7GioqIwbtw4BAcHw8XFBevXr8fXX38NPz8/9OzZUzm51/Xr1zF48GB4eXmhd+/euHz5\n8ku39ewN90uXLsXf/vY3DB48GM7OzoiOjsbixYshlUoxdOhQVFRUAAA++OADuLu7w9vbG4sWLQIA\n5L3GSVMAAALhSURBVOXlYdSoUfDy8oK3tzdOnDgBACgpKcHUqVPh7u4OLy8v7N69W7C6cTqK8rQV\nHKd2mZmZdZ6AlZGRoVzeunUr6dy5M3ny5AnJz88n7du3J5s3byaEELJw4UKyatUqQgghAQEB5ObN\nm4QQQs6dO0f69ev3wnaWLl1Kvv76a+VyREQEGTBgAFEoFOTixYukVatW5PDhw4QQQsaPH09+++03\ncu/ePeLu7q78ncePHyt/furUKUIIIXfu3CGurq6EEELmz59PFi9erHx/cXGx8u+DBg0iiYmJzS0T\nxxFCCDGg3YQ4Tt1II9NhDR48GCYmJjAxMYGpqalyJkdPT0+kpKTgwYMHSEpKqnMe4cmTJ41uVyKR\nICgoCBKJBB4eHlAoFBg+fLhy3VlZWTA3N4ehoSFmz56NkJAQjB49GgBw5MgRZGRkKNdVUVGBR48e\n4ejRo9i7d6/ydVbnpOc0F28CnM4xNjZW/l1PT0+5rKenB4VCAUIILC0tkZycrPK6jYyMlOsyNDSs\nsx2FQgF9fX2cP38eR48exZ49e7BhwwYcO3YMEokECQkJMDB48T/Jxpoax7UEPyfAaZ1WrVopn6eg\nitoPWwsLC1haWuLAgQPK1+s7J6Cq0tJSlJSUIDg4GJGRkUhKSgIADBs2DN9//73yfbXbGz58ODZt\n2qR8/dGjR2rJwXG1eBPgtI61tTW8vb3h5uaGJUuWKJ9+BaDO32uXn/177fLOnTsRGRkJqVQKDw+P\nJp+QrW/dtcuPHj1CUFAQfHx8EBgYiDVr1gAAvv/+e/z555/w9PSEh4cH1q5dCwD44osvcPfuXbi5\nucHb2xtHjx5tRkU4rn78eQIc10yfffYZ2rZti/fff5/K9gcPHozIyEj07NmTyvY57cCPBDiumdq2\nbYsffviB2s1iGRkZdc47cFxz8CMBjuM4HcaPBDiO43QYbwIcx3E6jDcBjuM4HcabAMdxnA7jTYDj\nOE6H/T8o9Q6nwzgdWAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f054c060710>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nEREB+P84YbaUtpWtuAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x2986d90>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.6, Page number: 522"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "from math import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "w=2*pi*60 #Angular freq of voltage(rad/sec)\n",
+ "Vo=230*sqrt(2) #volt\n",
+ "R=5.6 #Resistance(ohm)\n",
+ "\n",
+ "#Calculations:\n",
+ "Ls=[0]*101\n",
+ "tc=[0]*101\n",
+ "Idc=[0]*101\n",
+ "for n in range(1,101,1):\n",
+ " Ls[n-1]=n*10**-3\n",
+ " Idc[n-1]=2*Vo/(pi*R+2*w*Ls[n-1])\n",
+ " tc[n-1]=(1/w)*acos(1-(2*Idc[n-1]*w*Ls[n-1])/Vo)\n",
+ "\n",
+ "#Results:\n",
+ "plot(1000*np.array(Ls),Idc,'g.')\n",
+ "xlabel('Commutating inductance Ls [mH]')\n",
+ "ylabel('Idc [A]')\n",
+ "title('Load current,Idc vs Commutating inductance,Ls')\n",
+ "show()\n",
+ "plot(1000*np.array(Ls),1000*np.array(tc),'g.')\n",
+ "xlabel('Commutating inductance L [mH]')\n",
+ "ylabel('tc [msec]')\n",
+ "title('Commutating Inductance,Ls vs time,tc')\n",
+ "show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['fmod', 'sinh', 'trunc', 'tan', 'gamma', 'cosh', 'radians', 'modf', 'expm1', 'ldexp', 'linalg', 'random', 'frexp', 'ceil', 'isnan', 'copysign', 'cos', 'degrees', 'tanh', 'fabs', 'sqrt', 'hypot', 'power', 'log', 'log10', 'info', 'log1p', 'floor', 'fft', 'pi', 'exp', 'isinf', 'e', 'sin']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x2c18b90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x2981fd0>"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.7, Page number: 528"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "from math import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "R=12.5*10**-3 #ohm\n",
+ "L=1.2 #H\n",
+ "Vo=15 #volt\n",
+ "w=120*pi #angular freq(Hz)\n",
+ "Idc=35 #DC current(A)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "#for part (a):\n",
+ "theta=[0]*1301\n",
+ "t=[0]*1301\n",
+ "vL=[0]*1301\n",
+ "vs=[0]*1301\n",
+ "\n",
+ "Vdc_a=R*Idc #Dc voltage(V)\n",
+ "P=Vdc_a*Idc #Power\n",
+ "alpha_da = acos(pi*R*Idc/(2*Vo)) ; #delay angle\n",
+ "for n in range(1,1301,1): #loop for calculating load voltage\n",
+ " theta[n-1]=2*pi*(n-1)/1000\n",
+ " t[n-1]=theta[n-1]/w\n",
+ " vs[n-1]=Vo*sin(theta[n-1])\n",
+ " if theta[n-1]<alpha_da:\n",
+ " vL[n-1]=-vs[n-1]\n",
+ " elif (theta[n-1]<pi+alpha_da):\n",
+ " vL[n-1]=-vs[n-1]\n",
+ " elif theta[n-1]<2*pi+alpha_da:\n",
+ " vL[n-1]=vs[n-1]\n",
+ " elif theta[n-1]<3*pi+alpha_da:\n",
+ " vL[n-1]=vs[n-1]\n",
+ " elif theta[n-1]<4*pi+alpha_da:\n",
+ " vL[n-1]=-vs[n-1]\n",
+ " else:\n",
+ " vL[n-1]=vs[n-1]\n",
+ "\n",
+ "figure(1)\n",
+ "plot(1000*np.array(t),vL,'g.')\n",
+ "xlabel('time [msec]')\n",
+ "ylabel('Load voltage [V]')\n",
+ "grid()\n",
+ "show()\n",
+ "\n",
+ "\n",
+ "#part(b):\n",
+ "alpha_db=0.9*pi #delay angle\n",
+ "Vdc_b=(2*Vo/pi)*cos(alpha_db) #new dc voltage(V)\n",
+ "tau=L/R #time constant(s)\n",
+ "imo=Idc #Initial curent(A)\n",
+ "tzero=-tau*log((-Vdc_b/R)/(imo-Vdc_b/R))\n",
+ "for n in range(1,1301,1):\n",
+ " theta[n-1]=2*pi*(n-1)/1000\n",
+ " t[n-1]=theta[n-1]/w\n",
+ " vs[n-1]=Vo*sin(theta[n-1])\n",
+ " if theta< alpha_db:\n",
+ " vL[n-1]=-vs[n-1]\n",
+ " elif (theta[n-1]<pi+alpha_db):\n",
+ " vL[n-1]=vs[n-1]\n",
+ " elif theta[n-1]<2*pi+alpha_db:\n",
+ " vL[n-1]=-vs[n-1]\n",
+ " elif theta[n-1]<3*pi+alpha_db:\n",
+ " vL[n-1]=vs[n-1]\n",
+ " elif theta[n-1]<4*pi+alpha_db:\n",
+ " vL[n-1]=-vs[n-1]\n",
+ " else:\n",
+ " vL[n-1]=vs[n-1]\n",
+ "\n",
+ "#Results:\n",
+ "figure(2)\n",
+ "plot (1000*np.array(t), vL,'g.')\n",
+ "xlabel('time [msec] ')\n",
+ "ylabel('Load voltage [V]')\n",
+ "print \"part (a):\"\n",
+ "print \"\\n Vdc_a=\",round(1000*Vdc_a,2),\"mV\"\n",
+ "print \"\\n Power=\",round(P),\"W\" \n",
+ "print \"\\n alpha_d=\",round((180/pi)*alpha_da,1),\"degrees\"\n",
+ "print \"\\n part (b):\"\n",
+ "print \"\\n alpha_d=\",round((180/pi)*alpha_db,1),\"degrees\" \n",
+ "print \"\\n Vdc_b=\",round(Vdc_b,1),\"V\"\n",
+ "print \"\\n Current will reach zero at\",round(tzero,1),\"sec\"\n",
+ "grid()\n",
+ "show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['fmod', 'cosh', 'sinh', 'trunc', 'tan', 'gamma', 'degrees', 'radians', 'sin', 'expm1', 'ldexp', 'isnan', 'frexp', 'ceil', 'copysign', 'cos', 'tanh', 'fabs', 'sqrt', 'hypot', 'log', 'log10', 'pi', 'log1p', 'floor', 'modf', 'exp', 'isinf', 'e']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nhNj0/wELMsFZawmOEgAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x1e16bd0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "part (a):\n",
+ "\n",
+ " Vdc_a= 437.5 mV\n",
+ "\n",
+ " Power= 15.0 W\n",
+ "\n",
+ " alpha_d= 87.4 degrees\n",
+ "\n",
+ " part (b):\n",
+ "\n",
+ " alpha_d= 162.0 degrees\n",
+ "\n",
+ " Vdc_b= -9.1 V\n",
+ "\n",
+ " Current will reach zero at 4.5 sec\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEPCAYAAAC3NDh4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8U2W+P/BP0oUWC54utEhb0lrASGnayiIDBYpQgSqo\nMy5sKsv9FeaqgIrDeGfmZQszI4zyErxFwY3eO6gjXJaZsnQEtRUGQehCUe6tLC1SEChd2Fra0J7f\nHzUnOSdJ0ywnZ/u+Xy9e5jltkofHQ755nu+z6FiWZUEIIYQ4oJe6AoQQQuSLggQhhBCnKEgQQghx\nioIEIYQQpyhIEEIIcYqCBCGEEKckDRLz5s1DTEwMUlJSuGu5ubmIi4tDeno60tPTUVRUJGENCSFE\n2yQNEnPnzrULAjqdDi+99BLKy8tRXl6OyZMnS1Q7QgghkgaJMWPGIDw83O46re8jhBB5kGVOYt26\ndbj33nsxe/ZsNDQ0SF0dQgjRLNkFieeeew6nT5/GiRMnkJSUhEWLFkldJUII0axAqSsgFBUVxT1e\nsGABxo8fb/c7sbGxuHDhgj+rRQghipeUlIRTp0659RzZBYnLly8jOjoaALB161YkJyfb/c6FCxcU\nm7cw5htRVV/lk9faP3c/9n20D7m5uT55PaXLzc2ltvgZtYUVtYWVTqdz+zmSBokZM2agpKQEV65c\nQXx8PPLy8vDVV1+hsrISbW1tMBgM+PDDD6Wsok8xKxlcbb3qs9cbs3EMIv4ZgSW/XQImhPHZ6ypV\nTU2N1FWQDWoLK2oL70gaJD799FO7a/PmzZOgJuILXhEMc4fZ4c8y+megcEah0w/6ykuVGLp+KG7j\ntt3PGloaEP1GNE6+cBIGxuDTOhNCiOwS12rErGQcBojhdw1H47JG7J+7v8uegCnGBPNrZhxbeAyB\nwrieBpg7zBj4nwPRdKvJ11VXlDlz5khdBdmgtrCitvCOTomHDul0OsXkJJz1IPbP3Y+M/hkeveae\nk3uQ/Um23fUgfRD1KAghTnny2Uk9CRE56kEEIAA1i2s8DhAAMGXgFBxbeKyzUG29rvUeRXFxsdRV\nkA1qCytqC+9QkBCJMd9ol6TWQ4/Ti0/75Ju+KcZkDRQ2zB1mPLn5Sa9fnxBCABpuEkVOYQ7eL3uf\ndy0AAT4LELYqL1UidX2q3XVvhrMIIerkyWcnBQkRBC4PRDvbzrtWs7hGtFyBs0Ah5nsSQpSHchIy\nELwi2C5A7J+7X7QP6+LiYqdDT4lrE3G26awo7ytHNPZsRW1hRW3hHQoSPmTMN9olqjc/vtkvwz6m\nGBPuj72fd40FixHvjxD9vQkh6kXDTT7iKA8xtO9QHF1w1G91aLrVhOg3ou0C1bGFx2CKMfmtHoQQ\neaKchIQc5SEalzX6fbuMs01nkbA2we465ScIIZSTkEhOYY5dgDi28JhfAoRwvNXAGBzmJ0Z+MFL0\nukiNxp6tqC2sqC28Q0HCBz4q/4hXHh03WtLhHVOMCaPjR/OuXbp5SVNJbEKIb9Bwk5cc7ewqxTCT\nUNOtJoSv4h8NG6wPxqVXLkleN0KINGi4SQLCAOFqsz5/YUIYjDOM411r62jDrK2zJKoRIUSJKEh4\ngVnJDwZMD8bvq5y7Gm/dMX0HgvRBvGt7z+xV7d5ONPZsRW1hRW3hHQoSHsopzLHrRVQsrJCoNo4x\nIQxOvnCSd83cYabeBCGk2ygn4SHhlNfRcaNxYP4BCWvkXMSqCDTeauTKOuhQvbiapsQSojGUk/AT\nY77Rbsrrzlk7JaqNa+ULynllFqwmpsQSQrxHQcIDVfVVvLKUyerujLcaGINdEluNU2Jp7NmK2sKK\n2sI7FCTcZMw38soBCFDEltw7pu/glak3QQjpDspJuEmfpwcL63sraV+kzIJMlJwt4cqUmyBEWygn\nITJjvpEXICJCIhQTIAD7KbHUmyCEuEJBwg3CXETZgjKJamLlzniroymxaspN0NizFbWFFbWFdyhI\ndJMwFxGIQEUO0xgYAwJ0AVyZehOEkK5QTqKblJyLEKLcBCHaRDkJkSg9FyFEuQlCSHdRkOiGH+p/\n4JXlkIuw8GS81VFuor6lXvF7OtHYsxW1hRW1hXcoSLiQU5hj14tQw7CMMDdBezoRQhyRNEjMmzcP\nMTExSElJ4a41NDQgKysLJpMJkyZNQlOTtN9uN1Vu4pVHxslrWCYzM9Pj5woXAe47s0/RvQlv2kJt\nqC2sqC28I2mQmDt3LoqKinjXXnvtNTz00EOorKzElClT8Nprr0lUu85eRMvtFq6shx4f/+pjyerj\na8JV2HTeBCFESNIgMWbMGISH809P2717N55++mkAwOzZs7Fr1y4pqgbAvhcxIXGCLA4UsuXNeKuj\ng4mU3JugsWcragsragvvyC4nUVdXh8jISABAVFQULl++LFldhL2IzU9ulqwuYqHeBCGkK7ILEnIh\nXDwX1TNKdr0IwPvxVke9iaMXjnr1mlKhsWcragsragvvBEpdAaE+ffrgypUriIqKQl1dHaKjox3+\n3pw5c5CQkAAAYBgGaWlp3M1g6V56U646WgUk/vxm1cDax9dy7+2L15dTeWm/pSgpLuH+vpe/v4y/\n7fwbpj88XRb1ozKVqexZubi4GAUFBQDAfV66S/IV1zU1NZg6dSqOHz8OAHjhhReQlJSEJUuW4K23\n3kJ1dTXefvtt3nPEXnGdU5iD98ve58pRoVGo+02daO/njeLiYu7m8Ibw9Lp+Yf1w/uXzXr+uP/mq\nLdSA2sKK2sJKcSuuZ8yYgVGjRqGqqgrx8fHYuHEj8vLysGvXLphMJuzZswfLly/3e72ECeujOcoc\nfnGH8PS61vZWxSawCSG+I3lPwhNi9yR0eTrucURoBOp/Uy/ae8kJs5LB1darXDl7QDZ2zZJudhkh\nxLcU15OQI2HCOlgfLFFN/G947HBeWakJbEKI71CQEBDu03To3w5JVJPusSSpfGHLE1t45brmOkWd\nNeHLtlA6agsragvvUJCwIdztNSo0ShX7NHUXE8IgPMS6uJF2hyWEUE7CRvCKYJg7zFy5ZnGNpoIE\nAJxtOouEtQlcOTggGJeWXpLlGhFCiHsoJ+El2wBxf+z9mgsQQOfusLa9ibZ2WoFNiJZRkPiZMGF9\n7uo5iWriHjHGW4XTYZWSwKaxZytqCytqC+9QkPiZMGF9cP5BiWoiPWEPSmkJbEKI71BOAspaYe0v\naliBTQjho5yEh7S4wtoVWoFNCAEoSADgbwkeEaqs40nFGm81MAbc2eNOrlzfUi/7BDaNPVtRW1hR\nW3hH80EipzCHV9bSCmtXhCuwy34qk6gmhBCpaD4n0fNPPXk9CS2ujXCm6VYTwldZp8NGhkbi1KJT\ntGaCEIWinISbhGdYa22FtStMCKO4ISdCiG9pOkgUVhXyyiNiR0hUE8+JPd6qpCEnGnu2oraworbw\njqaDxOWb1vOzwwLD8PGvPpawNvIk3PSvvqWe1kwQoiGazUkI10ZE94zGpVcueVs1VcosyETJ2RKu\n3PeOvvhp6U8S1ogQ4gnKSbhBONQ0rN8wiWoifzum7+CVO9AhUU0IIf6m2SChlqEmf4y3MiEMAnQB\nXLmxpVGWQ0409mxFbWFFbeEdTQaJnMIc3rfhsB5hNK3ThYz+Gdxjc4cZoz4cJWFtCCH+osmchO3a\nCB10qF5cTVNfXaA1E4QoH+Ukusl2bUR4aDgFiG6gNROEaJPmgoTatuHw53ir3NdM0NizFbWFFbWF\ndzQXJIQ7vh76t0MS1UR5hGsmzB1m2hmWEJXTXE5Cn6cHi87n0rkR7mNWMrjaepUrP3LPI3ZTZAkh\n8kQ5CReM+UYuQADK3IZDasIhp+a2ZolqQgjxB00FiTONZ7jHAQhQ7NoIW/4ebxUOOX3949eyGXKi\nsWcragsragvvaCpImDvM3OOR8SNp+qYHmBAGkaGRXLm1vZVmORGiYprJSRjzjaiqr+LKdGaz5842\nnUXC2gSuTPteEaIMlJPogu1QEwAcnH9Qopoon3BdSVNrk2yGnAghviXbIJGQkACTyYT09HSMGOFd\ngjmnMIc31DQ6brRqFtBJNd4aHmJdfd3W3iaLIScae7aitrCitvBOoLMfbN261WXXJDQ0FNnZ2aJU\nTKfTobi4GBEREV6/lnDH16g7orx+Ta0rX1DOG3KS28I6QohvOM1JREZGYtq0aU6fyLIs9u/fj9On\nT4tSscTERBw9ehSRkZF2P3N3XC0gL4Db0K9XUC/8+NKPlLT2gaDlQbjN3u58rA/CyRdOqqaHRoga\neZKTcNqTmDx5MjZu3Njlk2fNEm+IQafTISsrC7dv30ZOTg6ef/55j1/LdsfX0KBQChA+Mrr/aO4w\nIsvOsDQZgBB1cRokXAUIAPj4Y/HWGRw6dAjR0dGoq6vD5MmTYTQaMXHiRO7nc+bMQUJCAgCAYRik\npaUhMzMTgHUMMjMzE8Z8I1D985MSOw8Xsv258PeVVrYdb/X3+++YvqNzZ9if23dQ5iC///1ty5Zr\ncvr/I1W5oqICS5YskU19pCyvWbPG6eeD2svFxcUoKCgAAO7z0l1Oh5uio6Mxbdo0zJgxAw888AB0\nOp1Hb+ALr7/+OgDg1VdfBeBelyl4RTCXtA5AAK4su6KqnkRxcTF3c0ghcHkg2tl2AECPgB64uPSi\nZO0rdVvICbWFFbWFlU+nwJ44cQLDhg3DihUrEBcXh8WLF+PQIf9shtfc3Izm5s7tHm7evImioiIk\nJye7/TrCWU1j+o9RVYAAIPnNb9ueUi+sk7ot5MSdtjDmG8GsZNDnjT6yPHHQW3RfeMdpkIiKisLC\nhQtRXFyMI0eOIDExES+++CKSkpLwH//xH6JW6tKlS/jFL36BtLQ0pKenY9y4cV0m0Z0Rzmq6M/RO\nJ79JPFWaU8or0ywn5TnTeAZXW6/iSvMVOnGQ2OnWOol+/fph/vz5WLhwIcLCwvDBBx+IWqnExEQc\nO3YMFRUV+OGHH7B8+XKPXsf2HOteQb1Q8GiBj2ooH7bj8VIwMAYE6qyprfqWesm+jUrdFnLiTlvY\n9rYHRQ4SoTbSovvCO10GiZaWFmzevBm//OUvMWDAAHz55ZdYtWoVLly44K/6eYVmNfnH6P6jucd0\n/rXyBOgCuMff1H5Dq+cJj9PE9cyZM7F3716MGzcOM2bMQHZ2NkJDQ/1dP4e6k3wR7tWUPSAbu2bt\nErtqmiQ8/zrTkImv5nwlYY2IO6L+EoX6lnquTP9W1Mvn6yQ2bNiAXr16eV0xKahxW3C5YkIYBOgC\nuFlOlm+j1HNThtKcUlo9T5xyOtwUHh7uMkDs3LnT5xXyBS3MarKQy3irHGY5yaUt5MCdtpBTXkkM\ndF94x2lP4pVXXkFsbCxYlnW4RoJlWbz66qt4+OGHRa2gJ2hWk//Rt1Flo9XzxBmnOYnMzEyXC+gi\nIiKwdetWUSrWFVfjarRXkzRoLyflorySNvg0J6HkLhrNapIGfRtVLsorEWdke56Ep3IKc3jlYf2G\nSVQT/5BTMN8xfQevnBzt/ip5b8ipLaTmSVsI80pzdszxXYUkRPeFd1QXJDZVbuIe9wrqRbOa/IgJ\nYRCkD+LKFRcraM69gghXzze3NUtUEyInqjvjWp+nB4vOn9HZy/4XvjIcTa3WwPDIPY/Y9TCIfMlp\nw0bie6KccX39+nX8/ve/x7x58wAAp0+fRmFhoYtnScOYb+QCBKD+oSY5GhbLb3P6NqoscpjKTOTF\nZZCYPXs2evXqhcOHDwMAYmNj8bvf/U70inlCiwvo5DbeuuWJLbzy1z9+7bchJ7m1hZQ8bQs1bthI\n94V3XAaJM2fOYNmyZQgODgYAhISEQK+XXypDSwvo5IwJYRAZaj1ylr6NKouBMUAH69R3c4eZ8koa\n5/LTPjg4GC0tLVz5xx9/FLVCntLqAjo57pUv1bdRObaFVLxpi949enOP61vqFT/Lie4L77gMEq+9\n9homTJiA2tpaPPPMMxg9ejR3UpycaGFbcKWgb6PKNjx2OK9MeSVtcxkkpk2bhu3bt+Pdd9/FtGnT\ncPToUUyZMsUfdXOLVhfQyXW8VYpvo3JtCyl40xZS5pXEQPeFd1wGidLSUpw/fx6JiYlITEzE+fPn\n8b//+78wm82unuo3WltApwTCb6PmdvncL6RrjvJKSh9yIp5zuU5i5MiRKC0thclkAgAcP34cycnJ\nqKurw7p16/DII4/4paK2hHN9e/6pJ1pud+ZNaK8meWi61YSIVRHclOQ+Pfvghxd+oP8vCnG26Sxv\nw8asxCx8/szn0lWI+IQo6yTi4+Nx/PhxlJaWorS0FMePH8fAgQNRUlKCZcuWeVxZX7p1+xb3WEtD\nTXLGhDC4s4d18kBdcx19G1UQYV7p+OXjEtaGSMllkDhx4gSMRiNXvueee3DixAkkJSVx02KlpPUF\ndHIeb/X3wjo5t4W/+aItbI81VfIZE3RfeMdlkLj77rvx/PPPo6SkBMXFxXjhhReQkJCAtrY2WQQJ\nLS6gUwphApS+jSoLnV1OgG7kJG7evIk1a9bg4MGDAIBRo0ZhyZIlCA0NxY0bN9C7d++uni4K23E1\nXZ61Szw6fjQOzDvg9/oQ5+iMCeUSnjERGRqJU4tO0XCugnmSk1D0Bn85hTl4v+x97nq/sH50foHM\nZBZkcmdMAPT/SGmYlQyutl7lyrRho7KJkrg+ceIEpk6dikGDBnHTYO+++26PK+lLttuC66DDwfkH\nJayNNOQ+3ir8QGltbxVtzr3c28KffNUWalhYR/eFd1wGiaeffhqLFy9GSEgIiouLMW/ePMyaJY+9\neGxnNUWGRtIwhgwJZzmpYZsHLaG8EnEZJG7fvo2JEyeio6MDBoMBf/jDH1BUVOSPunUppzCHN6tp\nROwICWsjHSXsS+OvhXVKaAt/8VVbMCEMAnXWU47b2XbFrb6m+8I7LoNEz549wbIsDAYD3nnnHWzb\ntg319fX+qFuX6AQ65djyxBbenPsjF44o7oNGy2xnOdU119GuvhrjMki8/fbbuHnzJvLz83HgwAFs\n2rQJmzZtcvU00dECuk5KGG/118I6JbSFv/iyLYR5JaWdMUH3hXdcBonq6mqEhYUhMTERn3zyCbZt\n24ba2lpRK1VUVISUlBQMHjwYq1atcvg7tkNNqTGpotaHeI9OrFMu4ZCTkhfWEfe5nAKbnp6O8vJy\n3rXU1FQcO3ZMlAq1trbCaDTiwIEDiImJwS9+8Qu89957SE9Pt1ZapwNyrc+haXnyJ5xz3/eOvvhp\n6U8S1oi4g6Yyq4MnU2ADnf1gz5492L17N86fP49FixZxL9zc3Nz5IS2Sw4cPIzk5GbGxsQCAp556\nCrt27eIFCVt0doQyWL6NWhbWWb6N0ow0ZdgxfQcvyA+KHCRhbYg/OR1u6tevH4YOHYqQkBAMHTqU\n+zNp0iTs3btXtArV1tYiPj6eK8fFxXU5vHVH8B2azUcAyhpvFXubByW1hdh83RZMCMPby+mb2m8U\nM/mA7gvvOO1JpKamIjU1FbNmzUJQUJDfKtTtXsp2AAzw1MinsGbNGqSlpXFT3Sw3BZXlVea+jVYD\nAJA8Idmnr28hl7+vlOWKigqfvz4TwqC+pR6oBlrRecbEjuk7ZPH37apcUVEhq/r4s1xcXIyCggIA\nQEJCAjzhNCeRkpLi/Ek6HSorKz16Q1f279+PVatWYefOnQCAN954A21tbfjd737He3/kAvvn7kdG\n/wxR6kHEYbvNA+3lpCx0xoTy+XTvppqami6f6GlUcuXWrVswGo3417/+hejoaIwaNQobNmzAfffd\nx/2OTqdDTWMNfbgoUNZfs7DvzD6uTAlQZQlcHoh2th0A0COgBy4uvajp4V6l8eneTQkJCdyf4OBg\nHD16FKWlpQgODhYtQABASEgI3n33XUyaNAmpqan45S9/yQsQFhQgOgmHWuROuM2DLxOgSmsLMYnV\nFrYBobW9VREL6+i+8I7LdRL//d//jeHDh+Mf//gHduzYgREjRuCvf/2rqJWaMmUKvvvuO5w4cQKv\nvvqqqO9F/EvJCVAClOaU8spKW1hH3OdyncTgwYNx4MABREREAAAaGhqQkZGBEydO+KWCjnjSZSLy\nEfWXqM4E6M9onYuy6PP03GLWrLuz8PnTlJdQClG2CgfABQgACA8Ppw9o4hXht1Fafa0svXtYDxor\nrimm1dcq5zJITJgwAZMnT0ZBQQE2btyIhx56CBMnTvRH3Ug3KHG81cAYeENOX//4tU+GnJTYFmIR\nsy1sd/VVwrGmdF94p1sb/D3zzDP49ttvcfToUTzzzDN4++23/VE3omJKTICSTsLJB2IeJEWk5zIn\nsXr1akyfPp3bJkMOKCehfMI597SXk7LQsabKJEpO4vr163jwwQeRkZGB/Px8XLp0yeMKEmJhYAy8\nMybMHWb6NqogajjWlHSPyyCRm5uL77//HuvWrcNPP/2EsWPHYsKECf6oG+kGJY+32iZAfXGsqZLb\nwtfEbgslHWtK94V3ujW7CQCio6PRt29fREZGoq6uTsw6EY2gb6PKRWdMaIfLnMQ777yDzZs34/Ll\ny3jiiSfw1FNPYfDgwf6qn0OUk1AH4RkTtM2DstAZE8rj0/MkLM6dO8ftskqILzEhDCJDI7mFda3t\n1p1FifwJz5hIjk6WsDZELC6Hm15//XUKEDKm9PFWXy6sU3pb+JI/2kJ4drlcF9bRfeGdbuckCBGD\ncJaTnBOgxJ7SFtYR97nMScgR5STUJWh5EHesKZ0xoSzCvFKmIRNfzflKwhqRroi2dxMhYhL7WFMi\nHtrVV/2cBomwsDD06tXL4Z/evXs7exrxMzWMtwoT1Z5u86CGtvAVf7aF3LdYofvCO05nN924cQMA\n8Pvf/x79+/fH9OnTAQCfffYZzp0755/aEU2wJEAt2zxYFtbRLCdlKM0p5W2xQmdMqIvLnMTQoUNR\nWlrq8po/UU5CfYTHmtL5ycpCeSVlECUn0dHRgU8//RTt7e3o6OjA3/72N/qAJj6npG0eiD3KK6mX\nyyDx2WefoaCgAOHh4WAYBgUFBfjss8/8UTfSDWoZbxVu89DOtrudl1BLW/iCv9tCODQop4V1dF94\nx2WQGDRoEP75z3/i2rVruHbtGoqKijBw4EB/1I1ojO230brmOtklQIlzTAiDIH0QV664WEGznFTC\nZU7ixo0b2LBhA6qqqnD79m3u+kcffSR65ZyhnIQ6Cefc0xkTyhK+MhxNrdbAQGdMyI8oOYkZM2ag\nqakJ+/btw7hx41BbW4uwsDCPK0mIM7SzqLINix3GK9OuvurgMkicOXMGK1asQK9evfDss89iz549\nOHr0qD/qRrpBbeOt3iRA1dYW3pCiLYSTD3x1drm36L7wjssgcccddwAAQkND8f3336OhoQG1tbWi\nV4xok3B4YlDkIIlqQtxl2dXXQo4L64j7XOYkNmzYgBkzZuDw4cN49tln0dbWhry8PDz33HP+qqMd\nykmoW+DyQLSz7QDojAmlobPL5c2Tz07a4I/ITtRforgzJgAge0A2ds3aJWGNiDv0eXqw6Pz3GRka\niVOLTlGQlwlREtcNDQ349a9/jSFDhmDIkCF47rnn0NjY6HEliW+pcbxVeMZEd7d5UGNbeErKtvD1\n2eXeovvCOy6DxKxZs3DXXXfhH//4B/7+97+jb9++mDlzpj/qRjTKwBholpOC0dnl6uJyuCklJQXH\nj/O3SDCZTKisrBSlQrm5ufjggw/Qp08fAJ0n402ePJn3OzTcpH50frJy0dnl8iXKcFNgYCAOHjzI\nlb/55hsEBro8GttjOp0OL730EsrLy1FeXm4XIIg20Cwn/8gpzEFmQSayP8722XRVmuWkLi6DxIYN\nGzB37lwYDAYYDAbMnTsXGzZsELVS1EvoPrWOt3pymI1a28IT3W2LwqpClJwtwZ5TezB3x1yfvb+n\neSUx0H3hHZdBYsSIEaiqqsKRI0dw5MgR/N///R/+9a9/iVqpdevW4d5778Xs2bPR0NAg6nsR+ZL7\nYTZqcPnmZe7xTfNNn72u8Oxyc4dZFgvriPs8mgIbHx/v1cFDWVlZuHjxot31P/3pTxg1ahQiIzu7\nqrm5uTh9+jQ2bdrE+z2dTodnn30WCQkJAACGYZCWlobMzEwA1m8OVFZ2OTEtsXPOfTUAAH2HdM65\nl0v9lF7+5PoneL/sfa59+6V05n189fqPHnq08yCpn1//kcmdeznJ5e+vhXJxcTEKCgoAAAkJCcjL\ny/PPOglvg0R3XbhwAePHj0dVVRXvOiWutYMOsxFPzz/1RMvtFgCADjpUL672advSQVLyI0ri2t8u\nX7Z2f7du3YrkZPnsSy9Hlm8NauXOXk5qbwt3dKctbt2+xT2ODI30efCVy15OdF94x+k0pbCwMOh0\nOoc/a24Wb97zyy+/jMrKSrS1tcFgMODDDz8U7b2I/O2YvoM3nZJmOfmGMd/IrYoGgBGxI3z+HpZZ\nTpbV85a8Eq2eVxbaloPIHu3l5HvBK4Jh7jADAAIQgCvLrojSprSXk7yoYriJECGa5eR7lgABACPj\nR4oWdGn1vPJRkFA4LYy3dnfOvRbaoru6aoucwhxeubqxWtS6eHNGiC/QfeEdChJE9ujbqG9tqrRO\nKddBh4PzD3bx296j1fPKRjkJogjCvZxobNszOYU5nWsjfhYVGoW639SJ/r62eSUxptuS7qGcBFEt\n4bfRDnRIVBNlK6wq5JXFmNXkiG3OgwXr9yEn4jkKEgqnlfFW4V5OjS2NdkNOWmmL7nDWFrbbcIQF\nhuHjX33sl/oI80qt7a1+WzNB94V3KEgQxcjon8E9liIBqga2PbCewT39NpXYwBhwZ487ubIcDiMi\n3UNBQuEs+7VogXDISfhtVEtt4YqjtjDmG3nlYf2G+ak2naQ6jIjuC+9QkCCKwYQwdt9Gac1E9/1Q\n/wP3WA+934aaLITbdJScLaGdYRWAgoTCaW28Vfht1HbNhNbaoivCtsgpzOFtwxHVM8rvq9aZEIY3\nlbmto80vQ050X3iHggRRFOG3UTqnoHts10YAwLf/71tJ6mG7sA6g86+VgNZJEMVhVjKd5xT87JF7\nHrHLVxCnRcWkAAATWElEQVQ+fZ6e60n4a22EI3T+tbRonQTRBKkSoEolHGpK75suWV3o/GvloSCh\ncFocbxUOOe2r3oezTWc12RbO2LaFcKipZ3BPP9eGT7hm4uiFo6K+H90X3qEgQRRH+G2UVvB2zfZw\noQBdAAoeLZCuMoDddhxNrU2UV5IxChIKp9U54MJvo4MiB2m2LRyxtIXwcKEHEh6Qxfh/eIg1L9HW\n3ibqkBPdF96hIEEUycAYeNt0lJwtoZ1hHRCujdj85GYJa2NVvqCcV953Zh/1JmSKgoTCaXm8Vbhp\n3NBXh0pYG3mx3Be2vYiI0AhZ9CIA++3fxVwzoeV/I75AQYIolnDIidZM8Am34fDXjq/dRWsmlIHW\nSRBFE66ZyB6QjV2zdklYI/mwXRuhhx71y+pl05MA7NdMBOuDcemVS7Kqo9rQOgmiOV1t06FlctiG\nwxWptukg7qEgoXBaH2/lrZmopiEni//a8V+8slTbcLjijyEnrf8b8RYFCaJotDOsY23tbdzjiNAI\n \ No newline at end of file
diff --git a/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter3-checkpoint.ipynb b/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter3-checkpoint.ipynb
new file mode 100755
index 00000000..22fca9a1
--- /dev/null
+++ b/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter3-checkpoint.ipynb
@@ -0,0 +1,460 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Electromechanical-Energy-Conversion-Principles "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.1, Page number: 114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "I=10 #current in the coil(A)\n",
+ "Bo=0.02 #magnetic field (T)\n",
+ "R=0.05 #radius of the rotor(m)\n",
+ "l=0.3 #rotor length(m)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "q=symbols('q') #Direction of torque\n",
+ "F1=-2*I*l*Bo*sin(q) #Force on the coil(N)\n",
+ "T=F1*R #Torque scting in theta direction(Nm)\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print \"Force per unit length:\",T,\"Nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force per unit length: -0.006*sin(q) Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.2, Page number: 121"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from sympy import *\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "N=1000 #No of winding turns\n",
+ "g=2 #Air gap width(mm)\n",
+ "d=0.15 #Magnetic core width,d (m)\n",
+ "l=0.1 #thickness of core(0.1)\n",
+ "x,d=symbols('x d') #where h is height of plunger(m) \n",
+ " #Lx is inductance as a function of x(H)\n",
+ "i=10 #Current in the winding(A)\n",
+ "uo=4*3.14*10**-7 #permeability of free space(H/m)\n",
+ "\n",
+ "#Calculations:\n",
+ "Lx=(uo*N**2*l*d)/(2*g*10**-3)*(1-x/d)\n",
+ "Wfld=(1./2)*Lx*i**2\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print \"The magnetic energy stored, Wfld:\",\"236*(1-x/d) J\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The magnetic energy stored, Wfld: 236*(1-x/d) J\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.3, Page number: 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "\n",
+ "#Variable declaration:\n",
+ "xdata=[0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0] #(cm)\n",
+ "Ldata=[2.8, 2.26, 1.78, 1.52, 1.34, 1.26, 1.20, 1.16, 1.13, 1.11, 1.10] #(mH)\n",
+ "I = 0.75 #(A)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "x=0.01*np.array(xdata)\n",
+ "L=0.001*np.array(Ldata)\n",
+ "length=len(x)\n",
+ "xmax=x[length-1]\n",
+ "a=polyfit(x,L,4)\n",
+ "xfit=[0]*102\n",
+ "Lfit=[0]*102\n",
+ "for n in range(1,102,1):\n",
+ " xfit[n-1]=xmax*(n-1)/100\n",
+ " Lfit[n-1]=a[0]*xfit[n-1]**4+a[1]*xfit[n-1]**3+a[2]*xfit[n-1]**2+a[3]*xfit[n-1]+a[4]\n",
+ "\n",
+ "#Plot the data and then the fit to compare (convert xfit to cm and Lfit to mH)\n",
+ "plot(xdata,Ldata,'o')\n",
+ "plot(100*np.array(xfit),1000*np.array(Lfit),'g.')\n",
+ "xlabel('x [cm] ')\n",
+ "ylabel('L [mH] ')\n",
+ "title('Inductance,L vs length,l')\n",
+ "grid()\n",
+ "print \"The required plots are shown below:\"\n",
+ "show()\n",
+ "\n",
+ "#set current to 0.75 A\n",
+ "I=0.75\n",
+ "F=[0]*102\n",
+ "for n in range(1,102,1):\n",
+ " xfit[n-1]=0.002+0.016*(n-1)/100\n",
+ " F[n-1]=4*a[0]*xfit[n-1]**3+3*a[1]*xfit[n-1]**2+2*a[2]*xfit[n-1]**1+a[3]\n",
+ " F[n-1]=(I**2/2)*F[n-1]\n",
+ "plot(100*np.array(xfit),F,'b.')\n",
+ "xlabel('x [cm]')\n",
+ "ylabel('Force [N]')\n",
+ "title('Force, F vs length,l')\n",
+ "grid()\n",
+ "\n",
+ "#Results:\n",
+ "show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n",
+ "The required plots are shown below:"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['Polygon', 'poly', 'sign', 'flatten', 'conjugate', 'diff', 'tan', 'Circle', 'roots', 'plot', 'eye', 'trace', 'floor', 'diag', 'invert', 'nan', 'sqrt', 'source', 'add', 'zeros', 'take', 'var', 'pi', 'plotting', 'product', 'seterr', 'power', 'multinomial', 'transpose', 'test', 'beta', 'ones', 'sinh', 'vectorize', 'cosh', 'trunc', 'cos', 'prod', 'tanh', 'mod', 'det', 'sin', 'binomial', 'solve', 'log', 'exp', 'reshape', 'gamma', 'interactive']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x3dc9590>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x48a36d0>"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.4, Page number: 128"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "Lo=10.6*10**-3 #Initial inductance(H)\n",
+ "L2=2.7*10**-3 #H\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "theta,i=symbols('theta i')\n",
+ "L=Lo+L2*cos(2*theta)\n",
+ "i=2 #Coil current,A\n",
+ "def T(theta):\n",
+ " return i**2*diff(L,theta)/2\n",
+ " \n",
+ "\n",
+ "#Results:\n",
+ "print \"Torque,Tfld =\",T(theta),\" N.m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque,Tfld = -0.0108*sin(2*theta) N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.6, Page number: 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration:\n",
+ "r1=2.5*10**-2 #radius of rotor(m)\n",
+ "h=1.8*10**-2 #Axial length(m)\n",
+ "g=3*10**-3 #Air gap length(m)\n",
+ "Bag=1.65 #Magnetic field(T)\n",
+ "uo=4*pi*10**-7 #permeability of free space(H/m)\n",
+ "\n",
+ "#Calculations:\n",
+ "H=Bag/uo\n",
+ "Ni=2*g*H\n",
+ "T=uo*(Ni)**2*h*(r1+0.5*g)/(4*g)\n",
+ "\n",
+ "#Results:\n",
+ "print \"The maximum torque:\", round(T,2),\"Nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum torque: 3.1 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.7, Page number: 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "from matplotlib import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "i1=0.8\n",
+ "i2=0.01\n",
+ "\n",
+ "\n",
+ "#Calculations & Results:\n",
+ "def df(f,x,h=0.1e-10):\n",
+ " return ( f(x+h/2) - f(x-h/2) )/h\n",
+ "\n",
+ "\n",
+ "\n",
+ "def l11(x):\n",
+ " return (3+cos(2*x))/1000.0\n",
+ "\n",
+ "def l12(x):\n",
+ " return (0.3*cos(x))\n",
+ "\n",
+ "def l22(x):\n",
+ " return (30+10*cos(2*x))\n",
+ "\n",
+ "def g(x):\n",
+ " return ((i1**2)/2)*df(l11,x) + ((i2**2)/2)*df(l22,x) + (i1*i2)*df(l12,x)\n",
+ "\n",
+ "def r(x):\n",
+ " return ((i1**2)/2)*df(l11,x) + ((i2**2)/2)*df(l22,x)\n",
+ "def s(x):\n",
+ " return (i1*i2)*df(l12,x)\n",
+ "\n",
+ "x=linspace(-pi,pi,100000)\n",
+ "\n",
+ "\n",
+ "plot(x,r(x))\n",
+ "plot(x,s(x))\n",
+ "plot(x,g(x))\n",
+ "grid()\n",
+ "annotate(\"Total torque\",xy=(-0.5,0.003))\n",
+ "annotate(\"Reluctance torque\",xy=(-2,-0.0015))\n",
+ "annotate(\"Mutual Interaction torque\",xy=(1.6,-0.0026))\n",
+ "xlabel(\"Theta [radians]\")\n",
+ "ylabel(\"Torque [N.m]\")\n",
+ "xlim(-pi,pi)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print \"Tfld = -1.64*10**-3*sin(2*x)- 2.4*10**-3*sin(x)\"\n",
+ "show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n",
+ "Tfld = -1.64*10**-3*sin(2*x)- 2.4*10**-3*sin(x)"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['vectorize', 'prod', 'plotting', 'Circle', 'diag', 'sinh', 'trunc', 'plot', 'eye', 'det', 'tan', 'product', 'gamma', 'roots', 'sin', 'zeros', 'cosh', 'interactive', 'conjugate', 'take', 'trace', 'beta', 'exp', 'ones', 'multinomial', 'cos', 'transpose', 'solve', 'diff', 'invert', 'pi', 'tanh', 'Polygon', 'reshape', 'sqrt', 'floor', 'source', 'add', 'poly', 'mod', 'sign', 'power', 'binomial', 'log', 'var', 'seterr', 'flatten', 'nan', 'test']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nsnBS5cppXq8416qwDLMYhsS3iei1txcujLuAzyp+BoClULxwgU07/f67msrDh7NpUA0MoD510hcl\nWaesLPYCFvSBAAAgAElEQVSCM3484OKS9zO+62Vhwabphw9n2c40+W3xXSdtotYALl26FF988UW+\nlRcUI+u1pmtiqgywthg7dizMzMwAADVq1ICNjY3ywucY1MIcn449jZ2vdyLULRQxV2MKXV+Xx1G7\ndgH//gvH6dN5IU/u48REYORIKRYuBIyNC1c/B33JO9txNmRvZPhi0RdY1WMVenzZA4aGwMSJUkyY\nAHTr5ogePVTUNzEBTp6E48uXwGef8er718dxVFQUr+QpzPHcucD791I4OABA3s9z4JO8Hx9PmQLs\n3y/F6NGAt3fh6uf8/9GjRxAkXM29njt3jvr06aM89vDwoKVLl+YpM27cODqYK7ieRCIhmUymUV1H\nPa8Bno49TbVX1qYbT29otV2t8O4dy81S5Pw+uiM7m8jZmWjhQq4l0ZxsRTYNPTiUBvsMpmzFfzlp\nzpxhGSTUpmf66iui7dv1I6SIVvDzYy4FRU25xReSk1kapaCg4rXDocnQCQXuAr148SL69u0La2tr\nWFpawtLSElZWVsU2vG3btkV0dDQSEhIgl8vh4+OD3r175ynj4uKCffv2AQAiIiJgZGSEBg0aaFT3\ng3EvtpyacDvpNob7DYf3YG9Y1rHUS5+FYulSFqqigBE9F2zcCLx5w2ZmSwqGBobYNXAXkt4nYVbQ\nLOV95uTENnxOnKhm5524G7REER/PAjH4+ADGxlxLUzxq1QJ27wbc3IBnz7iWhkcUZCHNzMzI39+f\nHjx4QA8fPlT+aYPAwECSSCTUunVrWr58OREReXp6kmcuD9Np06aRubk52dra5hnRqapLRHTo0CEy\nNTWlChUqUJ06dahXr14q+85P9cLELXz27hk1WduEdkbu1LiOXomJITI2phA/P64l+YToaKJatZiv\neFHhMsZkjqP8ygsrlefS01le4b/+UlEhNZXtBi0g9qoQ42aWNJ2ys4m+/JLoo4mlTyhpes2dS9Sr\nV/7JdEtTLNACtenatas+5NA72jCAafI06ri9I807PU9LUmmZ7GyiLl2INm7k3Q81M5MFo9m6tXjt\ncK3X41ePyfQPU9p3Y5/y3I0bLEWNyvfEsWOJ/vgj3za51kkXlDSdNmwg6tCh4AA+JU2vzEymV363\n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\ns/T/jVWB3070t1UAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x3dbe950>"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.9, Page number: 148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "\n",
+ "#Variable declaration:\n",
+ "W=4.0*10**-2 #width of plunger lower arm(m)\n",
+ "W1=4.5*10**-2 #width of plunger upper arm(m)\n",
+ "D=3.5*10**-2 #depth of plunger (m)\n",
+ "d=8*10**-3 #length of magnet(m)\n",
+ "go=1*10**-3 #air gap length(m)\n",
+ "uo=4*pi*10**-7 #Permeability of free space(A.turns/m)\n",
+ "ur=1.06*uo #Relativity permeability\n",
+ "Hc1=-940 #Magnetising force(kA/m)\n",
+ "Bt=1.25 #Magnetic field induction(T)\n",
+ "N=1500 #No of turns\n",
+ "x=3*10**-3 #Position of plunger(m)\n",
+ "\n",
+ "#Calculation:\n",
+ "Ni=-Hc1*d*10**3\n",
+ "Rx=x/(uo*W1*D)\n",
+ "Ro=go/(uo*W*D)\n",
+ "Rm=d/(ur*W*D)\n",
+ "f=-((Ni)**2)/(uo*W1*D*(Rx+Ro+Rm)**2)\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print \"The x-directed force:\",round(f,1),\"N\"\n",
+ "print \"Current in the excitation winding:\",round(Ni/N,2),\"A\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The x-directed force: -703.3 N\n",
+ "Current in the excitation winding: 5.01 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter5-checkpoint.ipynb b/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter5-checkpoint.ipynb
new file mode 100755
index 00000000..3f99f735
--- /dev/null
+++ b/ELECTRIC_MACHINERY/.ipynb_checkpoints/chapter5-checkpoint.ipynb
@@ -0,0 +1,609 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5: Synchronous Machines"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.1, Page number: 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import cmath\n",
+ "\n",
+ "#Varaible Declaration:\n",
+ "pf=0.95 #Lagging power factor\n",
+ "Vl=460 #Terminal voltage(V)\n",
+ "I=120 #Terminal current(A)\n",
+ "If=47 #Field current(A)\n",
+ "X=1.68j #Line syncchronous reactance(ohm)\n",
+ "\n",
+ "\n",
+ "#Calculation:\n",
+ "#Choosing motor reference direction:\n",
+ "Va=Vl/math.sqrt(3)\n",
+ "theta=math.acos(0.95)\n",
+ "Ia=I*cmath.exp(-theta*1j)\n",
+ "Eaf=Va-X*Ia\n",
+ "wc=120*math.pi\n",
+ "Laf=math.sqrt(2)*abs(Eaf)/(wc*If)\n",
+ "P=3*Va*Ia*pf\n",
+ "\n",
+ "#Results:\n",
+ "print \"Generated emf:\",round(abs(Eaf),1),\"V line to line\"\n",
+ "print \"Fied to armature mutual inductance:\",round(Laf*1000,1),\"mH\"\n",
+ "print \"Three phase power:\",round(abs(P/1000),1),\"kW or\",round(abs(P)/746),\"hp\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Generated emf: 278.8 V line to line\n",
+ "Fied to armature mutual inductance: 22.3 mH\n",
+ "Three phase power: 90.8 kW or 122.0 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.2, Page number: 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import cmath \n",
+ "from math import *\n",
+ "\n",
+ "#Variable Declaration:\n",
+ "Pin=90.6*10**3 #Input power(kW)\n",
+ "Va=265.6 #Terninal voltage(V)\n",
+ "X=1.68j #Synchronous reactance(ohm)\n",
+ "Laf=22.3*10**-3 #Mutual inductance(H)\n",
+ "wc=120*pi #Angular frequency(rad/sec)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "Ia=Pin/(3*Va)\n",
+ "Eaf=Va-X*Ia\n",
+ "delta=degrees(cmath.phase(Eaf))\n",
+ "I=sqrt(2)*Eaf/(wc*Laf)\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print\"The phase angle,delta:\",round(delta,1),\"degrees\"\n",
+ "print\"Required field current:\",round(abs(I),2),\"A\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The phase angle,delta: -35.7 degrees\n",
+ "Required field current: 55.04 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.3, Page number: 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "Eafl=13.8*10**3 #Open circuit voltage(V)\n",
+ "If1=318 #Field current(A)\n",
+ "If2=263 #Field current after extrapolation(A)\n",
+ "wc=120*pi #Angular frequency(Hz)\n",
+ "\n",
+ "#Calculations:\n",
+ "Eaf=Eafl/sqrt(3)\n",
+ "La1=sqrt(2)*Eaf/(wc*If1)\n",
+ "La2=sqrt(2)*Eaf/(wc*If2)\n",
+ "\n",
+ "#Results:\n",
+ "print \"Saturated Laf1:\",round(La1*1000,0),\"mH\" \n",
+ "print \"Unsaturated Laf1:\",round(La2*1000,0),\"mH\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Saturated Laf1: 94.0 mH\n",
+ "Unsaturated Laf1: 114.0 mH\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.4, Page number: 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "Ia=[118, 152] #Armature current from SC Characteristics(A)\n",
+ "If=[2.20, 2.84] #Field current from SC Characteristics(A)\n",
+ "Vll=220 #Line-to-line Voltage(V)\n",
+ "V=202 #Line-to-line air voltage(V) \n",
+ "P=45*10**3 #Power roted to motor(W) \n",
+ "Is_sc=1 #per unit rated current(A)\n",
+ "\n",
+ "#Calculations:\n",
+ "Va_ag=V/sqrt(3) #At field current of 2.20A,at air gap,(V)\n",
+ "Ia_ag=Ia[0]\n",
+ "Xs_u=Va_ag/Ia_ag\n",
+ "Ia_rated=P/(sqrt(3)*Vll)\n",
+ "Xa_g=Va_ag/1\n",
+ "Xs_u_pu=Va_ag/Is_sc\n",
+ "Xs=Vll/(Ia[1]*sqrt(3))\n",
+ "Ia_pu=Ia[1]/Ia[0]\n",
+ "SCR=If[1]/If[0]\n",
+ "Xs=1/SCR\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print \"'All quantities are in per unit values'\"\n",
+ "print\"Unsaturated value of synchronous reactance:\",round(Xs_u,3),\"ohm\"\n",
+ "print \"Satureted value of synchronous reactance: \",round(Xs,3),\"ohm\"\n",
+ "print\"Short circuit ratio:\",round(SCR,3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "'All quantities are in per unit values'\n",
+ "Unsaturated value of synchronous reactance: 0.988 ohm\n",
+ "Satureted value of synchronous reactance: 0.775 ohm\n",
+ "Short circuit ratio: 1.291\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.5, Page number: 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration:\n",
+ "P_rated=45*10**3 #Rated power(KV)\n",
+ "Pl=1.80*10**3 #Short circuit load loss(W)\n",
+ "Ia_pu=1 #Per unit armature current\n",
+ "Ia=118 #rated armature current(A)\n",
+ "Ra_dc=0.0335 #Dc resistance(ohm/phase)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "Pl_pu=Pl/P_rated \n",
+ "Ra_eff1=Pl_pu/Ia_pu**2 #in per unit basis\n",
+ "Ra_eff2=Pl/(3*(Ia)**2)\n",
+ "\n",
+ "#Results:\n",
+ "print \"Armature resistance in per unit:\",round(Ra_eff1,3),\"per unit\" \n",
+ "print \"Armature resistance in ohms/phase:\", round(Ra_eff2,3),\"ohms/phase\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature resistance in per unit: 0.04 per unit\n",
+ "Armature resistance in ohms/phase: 0.043 ohms/phase\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.6, Page number: 269"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "import cmath\n",
+ "import math\n",
+ "\n",
+ "\n",
+ "#Variable declaration:\n",
+ "Veq=1.0 #Externalsupply(p.u) \n",
+ "Eaf=1.0 #Internal voltage(p.u)\n",
+ "Xeq=0.23 #Eqv.resistance of external system(p.u)\n",
+ "Xs=1.35 #Saturated synchronous reactance(p.u)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "#for part (a):\n",
+ "P_max=Eaf*Veq/(Xs+Xeq)\n",
+ "\n",
+ "\n",
+ "#for part (b):\n",
+ "delta=[0]*500\n",
+ "Ia=[0]*500\n",
+ "Va=[0]*500\n",
+ "degree=[0]*500\n",
+ "for n in range(1,101,1):\n",
+ " delta[n-1]=(pi/2)*(n-1)/100\n",
+ " Ia[n-1] = (Eaf *exp(1j*delta[n-1]) - Veq)/(1j*(Xs + Xeq))\n",
+ " Va[n-1] = abs(Veq + 1j*Xeq*Ia[n-1])\n",
+ " degree[n-1]=180*delta[n-1]/pi\n",
+ "plot(degree,Va,'r.')\n",
+ "xlabel('Power angle,delta(degrees)')\n",
+ "ylabel('Terminal voltage(per unit)')\n",
+ "title('Terminal voltage vs. power angle for part (b)')\n",
+ "show()\n",
+ "#for part (c):\n",
+ "Vterm=1.0\n",
+ "P=[0]*500\n",
+ "deltat=[0]*500\n",
+ "Ia=[0]*500\n",
+ "Eaf=[0]*500\n",
+ "\n",
+ "for n in range(1,101,1):\n",
+ " P[n-1]=(n-1)/100\n",
+ " deltat[n-1]=math.asin(P[n-1]*Xeq/(Vterm*Veq))\n",
+ " Ia[n-1]=(Vterm*exp(1j*deltat[n-1])-Veq)/(1j*Xeq)\n",
+ " Eaf[n-1]=abs(Vterm+1j*(Xs+Xeq)*Ia[n-1])\n",
+ "plot(P,Eaf,'r.')\n",
+ "xlabel('Power [per unit]')\n",
+ "ylabel('Eaf [per unit]')\n",
+ "title('Eaf vs. power for part (c)')\n",
+ "show()\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print \"(a) Maximum power supplied to external system:\",round(P_max,2),\"p.u\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['prod', 'Circle', 'power', 'diag', 'sinh', 'trunc', 'binomial', 'plot', 'eye', 'det', 'tan', 'product', 'roots', 'vectorize', 'sin', 'plotting', 'zeros', 'cosh', 'conjugate', 'linalg', 'take', 'solve', 'trace', 'beta', 'draw_if_interactive', 'random', 'ones', 'transpose', 'cos', 'interactive', 'diff', 'invert', 'tanh', 'Polygon', 'reshape', 'sqrt', 'floor', 'source', 'add', 'multinomial', 'test', 'poly', 'mod', 'sign', 'fft', 'gamma', 'log', 'var', 'info', 'seterr', 'flatten', 'nan', 'pi', 'exp']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4TPf+B/D3RGRBEtllIwQJkZUgBFE0qPCrhqC0pUpz\ndbnVS91eWy9arvZ2uW2JW8ttLa2lC0WqJLFEBRVVqrGGJASxJWSffH5/RE6NLJOJzEyk79fz5DFn\n5pwzn3NmnPec7/csKhEREBHRn56JsQsgIqL6gYFAREQAGAhERHQPA4GIiAAwEIiI6B4GAhERAWAg\n1HsxMTGYP3/+Q88nLS0NJiYmKC0trYOq/jB37lyMGzeuTudJ9cPDfGfUajXGjBkDKysrdO/eXQ/V\nGca1a9fQoUMHFBYWAgDCw8OxfPnySse9cuUKOnbsiKKiIkOWWKcYCDXUrFkzWFlZwcrKCiYmJmjS\npIkyvG7dOr2975IlSzBz5ky9zf9hqVQq5bG+QocePbt378bevXtx7do1HDhwwNjlVMrExATnzp2r\ndpyFCxdi/PjxMDc3B1D2fb//O38/Z2dn9O3bF8uWLavzWg2FgVBDd+7cQW5uLnJzc9GqVSt8//33\nyvDo0aNrNI+SkhI9V2l4lZ3XyHMd9UNEHpl1m5GRAU9PT1hYWOg8rb7/n6jVauVxdeuzsLAQn3/+\nOcaOHVvjeT/99NOIjY19qPqMiYHwkEpLSzFr1iy4ubnBxsYGQ4cORXZ2NoA/fjGvWLECrVu3Rv/+\n/fG///0PPXv2xNSpU2FnZ4e2bdti//79WLlyJTw9PWFra4v//ve/yvyfe+45zJo1CwCQmJgId3d3\n/Pvf/4aLiwscHBywdOlSZdwtW7bA398f1tbWcHZ2xowZM2q0DIsWLcKIESM0nnv11Vfx6quvKssx\nYMAAWFlZwd3dHR9++KHGuOW/mHr37g0AaN68OaysrJCcnIyzZ8+iV69esLOzg42NDZ566incvHlT\nmXb//v3w8fGBjY0NRo4ciejoaGV5AeCrr76Cj48PrK2tERwcjEOHDlW6DDExMZg2bZrGc8OGDcMH\nH3wAoKxpy9nZGVZWVmjXrh127dpVo3Xj6emJhQsXws/PD1ZWVhg1ahTy8/OV1z/44AO4u7vD2toa\njz/+OC5cuAAAmDNnDl555RUAQHFxMZo2bYrp06cDAPLz82FhYYFbt24BAOLj4xEUFARra2v4+Pgg\nLi5OmX94eDhmzpyJnj17wsrKCufPn69Q4/z589G6dWs0a9YMbdu21dhjXbVqFcLCwjBt2jTY29vD\nzc0N3333nfJ6amoqQkJCYG1tjQEDBmDKlClVNgFev34do0ePhp2dHRwcHPD6669Xuje4fPlyTJ48\nGT/99BOsrKzw1ltvVbuugLJf659++im8vb3h4+NTYZ7l/5f++9//wsPDA3Z2dhpNqcnJyQgJCYGN\njQ3s7OwwceJEpZnn/vn7+Pigffv26NOnDwAgICAAVlZW2LBhQ4X3TE5ORvPmzeHq6qrx/JkzZ9C9\ne3dYWVnh8ccfx7Vr15TXunbtinPnziE9Pb3SdVjvCenM09NTdu3aJSIiCxYskB49esjVq1elpKRE\n/vKXv8iwYcNEROT8+fOiUqlk0qRJUlhYKAUFBbJy5UoxNTWV1atXi4jI7Nmzxc3NTf76179KSUmJ\n7Nq1SywtLSU3N1dERJ577jmZNWuWiIgkJCSIqampzJs3T0pLS2Xbtm1iZmYmN27cEBGRPXv2SGpq\nqoiInDx5UlxdXWXdunUatajV6grLc+HCBWnSpInyniUlJeLi4iLJyckiItK5c2eZOnWqlJSUyO+/\n/y4tWrSQLVu2iIjInDlzZOzYsSIikpaWVuE9zp49K3v27BERkZs3b0q/fv1k8uTJIiKSn58vzs7O\nEhsbKyIiW7duFXNzc2V59+7dK46OjvLLL7+IiMiaNWvExcVF8vPzKyzDnj17xMPDQxm+ceOGWFpa\nyuXLl+XYsWPi4eEhly9fFhGRzMxMOX/+vJZPuUyrVq0kKChIrl69Kjk5OdK3b1+ZOnWqiIhs2bJF\nnJyc5OTJk1JSUiJ/+9vfpHPnziIiEh8fL35+fiIikpSUJF5eXtKtWzcREdm1a5cEBgaKiMiZM2ek\nefPmsnPnThERSUxMFBsbG7l06ZKIiPTp00fatGkjZ8+eldLSUikpKalQ47fffivZ2dnKY3Nzc8nI\nyBARkZUrV0rjxo1l1apVIiKyZMkScXR0VKYNCAiQmTNnSmlpqRw+fFhsbW1l3LhxIlLxOzNgwACZ\nMmWKFBYWyo0bN6Rbt27y/vvvV7reVq1aJWFhYcpwdetKRESlUklkZKTk5uZKYWFhhfmV1zJ+/Hgp\nKiqS06dPS4sWLWTz5s0iIpKSkiJHjhwRkbLP18/PT955551q569SqeTs2bOV1i8i8vHHH8sTTzyh\n8VyfPn3Ew8NDzp49K4WFhTJmzBgZPny4xjj+/v5KXY8aBkIt3B8IrVu3Vh6LiFy6dEkaNWok+fn5\nype4/D+nSNl/0Hbt2inDx48fF5VKJVevXlWec3R0lMOHD4tIWSDMnDlTRMoCwdLSUmOD6+TkJPv2\n7au0ztdff11iYmJEpPpAEBEJCwuTzz//XEREduzYIV5eXiIicurUKTEzM5O8vDxl3NmzZ8uoUaNE\nRDMQtL2HSNmGoUOHDiIi8sMPP0irVq00Xu/bt68SCPeHYTlvb2/54YcfKsy3tLRUWrZsqYTPsmXL\npF+/fiIicvr0aXFycpJdu3ZJUVFRlbVVxtPTU1asWKEM79y5U9zc3EREZMyYMcpnI1IWcBYWFpKa\nmip5eXliYWEh169fl4ULF8rbb78t7u7ucufOHZk9e7a8+uqrIiIyd+5cZQNcLiIiQgnJ8PBwmT9/\nvk41d+nSRb766isRKfu+tW3bVnnt7t27yncyNTVVzM3NNTbA48ePr/TzTEtLE3Nzc40wXrt2rYSG\nhlZaw8qVKzUCobp1JVK2ca7qe3x/LefOnVOemzlzpjz99NOVjv+f//xHBg0apAxXNn9tgTB//nzl\ne14uPDxcZs+erQyfOXNGTE1NpaCgQHmuZ8+e8sUXX1Q53/qMTUYPKT09HU8++SRsbW1ha2uLjh07\nwszMDNevX1fGcXFx0ZjG2dlZeVzeWeXo6Kjx3P27u/ezt7eHickfH1uTJk2Ucffu3YuePXvCzs4O\ntra2+OSTT3D37t0aLceYMWOUpoa1a9fi6aefBlB25IS9vT0sLS2VcT08PHDlypUazTcjIwPDhw+H\ns7MzmjdvjtGjRys1Xb16tcLuuLu7u8a07733nrJubW1tkZGRobFuy6lUKowaNarSZWjbti3ee+89\nzJo1C87OzoiKikJGRkaN6n+wJjc3N2XZr169ipYtWyqvWVhYwMHBAVeuXIGlpSW6dOmC3bt3Y8+e\nPejTpw969OiBpKQkZbh8GTds2KCxjElJSbhx44Yy3we/Pw9atmwZOnXqBBsbG9ja2uLo0aMan3uL\nFi2Ux02aNAFQ1j5+9epV2NnZwczMrNJlvV9GRgaKi4vh4uKi1Pniiy/i9u3bWteftnVV0+V8sL77\nP4sTJ07g8ccfh4ODA5o3b4433nijwne/JvO/n52dHXJzc7XWoFarNb6Tubm5aN68uU7vVV8wEB6S\ni4sLdu3ahZs3byp/eXl5cHNzq7P3qOqohgeNHj0aY8eOxdWrV3Hz5k289NJLNT7iJyoqComJicjM\nzMS3336LMWPGACgLr+vXr2u0m6enp2tsZKqrc8aMGbC2tsaZM2dw69YtrFu3TqnJyckJly5d0hj/\n/rZXFxcXzJ07V2Pd3rlzp8pO/NGjR2Pjxo24cOECDh48iKeeekp5bezYsUhKSsLFixdhbm5eob+h\nOveHR0ZGhrLszs7OGu3gBQUFyM7OVgK/T58+2LVrF1JSUhASEoI+ffogLi4OBw8eVPpbXFxcMGHC\nBI1lzM3NrXH/z+nTp/HXv/4VK1euxO3bt3Hz5k0EBgbWqPPZyckJN27c0PjxUVXbd4sWLdCsWTPc\nuHFDqfP27ds4ceJEjerUtq5qqqrPYvLkyQgJCUFGRgZu3bqFRYsWPfTRbv7+/jh16pTWGho1agR7\ne3sAZR3iZ86cQUBAwEO9t7EwEB7SpEmT8I9//AOXL18GANy8eRPbt2+vs/mLDkeW5OXloWnTpjA1\nNUVKSgrWrFlT4zBxdHREeHg4nnvuObRp0wbe3t4AgHbt2qFTp06YNWsW1Go1UlNT8d///rfSjXLz\n5s2hUqk0Oj7z8vJgZmaGpk2b4sqVK3j33XeV13r16oWCggJ89tlnAIC4uDiNQxQnTpyIJUuWICUl\nBUDZRmTHjh24c+dOpcsQGBgIBwcHTJw4EQMHDoS1tTWAso3m3r17UVJSAjMzM5ibm2vsZVVHRPDJ\nJ5/g2rVryM3NxTvvvIORI0cCAKKjo/HZZ5/h999/R0lJCWbPng1fX1+0b98eQFkgfP755/D19UXj\nxo0RHh6Ozz77DG3atFE2IOPGjcM333yDhIQEiAiKi4uRlJSkEZTVff55eXkQEdjY2EBEsHbtWvzy\nyy81Wrb27dvD29sbCxYsQGlpKY4cOYLNmzdX+p3x8vJCSEgI3nzzTeWX94ULF5CUlFSj99K2rmpq\nwYIFKCoqwpkzZ7BixQrls8jLy4OFhQXMzc1x7tw5LFmyROu87OzsKu2kLxcSEoJbt25V+CxWrVqF\nc+fOobCwEHPnzsXQoUOVPf2DBw/C09MTHh4eOi1XfcFAeEj/+Mc/EBYWhm7duilHwuzZs0d5/cH/\nXJUdx1zdRvvB8asb9+OPP8bf//532NjYYPbs2YiKiqrx+wBlzUa7du1S9g7Kbdy4EUePHkXz5s3x\n2GOPYfr06YiMjKxQn42NDaZOnYouXbrAzs4OBw8exNy5c3HgwAFYWVlh8ODBGDp0qDK+paUlNm3a\nhHfffRc2NjZYsWIFIiMjlY117969sXjxYjz77LOwsrJCq1attB7SN2bMGMTHx2ssQ0FBAV577TXY\n2trCwcEBly5dwqJFiwAAa9asQadOnaqcn0qlwogRI/DYY4/B1dUVDg4OytEtkZGRmD59Ovr16wdb\nW1ukpKRg06ZNyrShoaEoKChQ9gY6dOgAS0tLZRgoC9x169bhzTffhI2NDVq0aIH58+dr/Lqt7nML\nCAjAlClT0KVLF7Ro0QI///wzevbsqTFtdd+3r776Ctu2bVOaWaKjozXC8v5xN2zYgEuXLqFVq1aw\ntrZGZGQkLl68WOV6u39abeuqpj9cunfvroTTiy++qHwPFy9ejFWrVsHa2hrPPfccoqKitP6/mTlz\nJqKjo2Fra4uNGzdWeN3MzAzPPfccVq9erTGfsWPHYsyYMUqT1/1H+q1ZswYxMTE1WpZ6SZ8dFOPH\njxcnJyfp1KlTleO8/PLL0rFjRwkKClKOEqA/r7CwMFm6dKmxy1DcfwDBn8HYsWNlxowZxi6jgpoc\nsKAP165dEx8fH41O46pcuXJFOnToUOlRUo8Kve4hjB8/XuOY6gdt2rQJFy9exIkTJ7B8+XKMHz9e\nn+VQPbR//35kZ2dDRLBu3TocPnwYAwcONHZZfxopKSlKv0F8fDy+/vpr5Vc3AQ4ODjh58qTSJFQd\nJycn/Pbbbxqd9I8aU33OvFevXkhLS6vy9W3btiknwQQFBaGkpAQZGRlVHulADc+vv/6KJ598Enfu\n3IG7uztWr16NVq1aGbusP4309HQMGTIEt2/fhp2dHRYvXowePXoYu6xK1bRZiWpPr4GgTUZGhkbn\ni7u7OwPhT2by5MmYPHmyscuoUnWdjg3B0KFDMXToUGOXoZWnp6fGJSdIP4zeqSwPHEHBXwFERMZh\n1D0Ed3d3pKeno1u3bgBQ5d5BW5UKZw1dHBHRI87Lywtnzpyp8fhG3UMYPHgw1qxZAwA4cuQIGjVq\nVOkJXWcBSJcukP79IeWPb96EDBr0x/D9rxlgvDkPM78HX+vZs+wxAHFw+OPxiBGQPn0qf62S8eZU\n9lrr1mXzGDSo7H1feOGP4WeeqfxxdePdvKmcG1HTvzlz5ug8jb7/WBNr+jPUdfasjj+lRY9GjRol\nLi4u0rhxY3F3d5fly5fL0qVLNQ4rnDJlinLY6c8//1zpfACI3LxZ9jdiRNm/IprDVT3W03hzOnas\n/fwefG3QIBFApEsXkf79/3hc3WuVjDenstd69ix7DJS9X58+fww7OFT+uLrxWrcue23QoLL3feGF\nP4afeabSx3PeeKPuvlR1ZM6cOcYuoQLWVDP1sSaR+lmXrpt4vQZCXdFzbtVKnX74+gyp+wNFx4Cp\n9LVaBMycjh1rFBzVBkz5ctaR+viflzXVTH2sSaR+1sVAMJCEhARjl1BBpTXV9d5SLQImYcuWh98z\nGTGi5qFS23VlZKypZupjTSL1sy5dt52qexPVayqVCo9AmX8Ot24BkyYBy5YBzZtrDgOVP27eHBg8\nGNi+HejSpWx4586Kj3/8ERgzpvLxfvwR+L//A3bvLpu3gwNw70ZEGo9HjCib7tQpoEkTwNERuHCh\n4uO1a4Hp0/8Yb+3asumIGhBdt50MBDKMmgZHVePpEio1DY6rV/8Yr3VroGVLBgc1KAwEarj0uTdi\nbg6UX7mTwUENBAOBqDZ7I9U1VTE46BHFQCCqjeqaqhgc9IhiIBDpE4ODHiEMBKL6oD4Ex4Nh8WCQ\nMDgaPAYC0aNEn8HxYFjcHyTVBQfDosFgIBA1RLUJjurO66guONg81WAwEIj+zGp64mB1wVEX/RoM\ninqBgUBE2lUXHHXRr1HV2eIMC4NiIBDRw6mLfo2qzhZnp7dBMRCIyDBqc5kRdnobFAOBiIyvNn0X\nddHpzaDQwEAgovpL353e7LvQwEAgokdfbTu9a9N30YDDgoFARA1bXfddNOCObgYCEf15PWwTVAPr\n6GYgEBE9qKZNUA2so5uBQESkiwbc0c1AICLSh0ewo5uBQERkaPrs6H6IvQoGAhFRfWLEJigGAhHR\no0DfTVDNmzMQiIgeeXXRBLV+PQOBiKhBq2kTFPcQiIj+pB5sggL7EIiI6B5dt50meqyFiIgeIQwE\nIiICwEAgIqJ7GAhERASAgUBERPcwEIiICAADgYiI7tFrIMTFxcHPzw8dO3bEokWLKryelZWFfv36\nwdfXF97e3oiNjdVnOUREVA29nZhWWFgIHx8f7Nu3D87OzggNDcWyZcsQFBSkjDNz5kyo1Wq88847\nyM7ORrt27ZCVlQVzc3PNInliGhGRzurNiWnJycnw9fWFm5sbTE1NER0dja1bt2qM4+HhgZycHABA\nTk4OHB0dK4QBEREZht4CISMjAx4eHsqwu7s7MjIyNMZ54YUXcOLECbi6uiIgIAAffvihvsohIiIt\nTPU1Y5VKpXWct99+G4GBgUhMTMTZs2cxYMAA/PLLL7Cysqow7ty5c5XH4eHhCA8Pr8NqiYgefYmJ\niUhMTKz19HoLBHd3d6SnpyvD6enpGnsMALBv3z7MmjULAODl5YXWrVvj5MmT6Nq1a4X53R8IRERU\n0YM/lt966y2dptdbk1FISAiOHz+OzMxMFBcXY/369Rg0aJDGOF5eXti5cycA4MqVK/jtt9/g6emp\nr5KIiKgaettDsLCwwJIlSxAREYHS0lKMGzcOwcHByqGlkydPxuzZszF27Fh07NgRarUa8+fPh5OT\nk75KIiKialR72GlxcTF27NiBPXv2IC0tDSqVCq1atULv3r0REREBU1O95YlmkTzslIhIZ3V2g5x5\n8+Zh06ZNCA0NRdeuXeHq6orS0lJcvnwZBw8exIEDBxAVFYWZM2fWWfFVFslAICLSWZ0FwubNmxEZ\nGVnl0UKlpaX4/vvvMXTo0NpVqgMGAhGR7ursxLShQ4dCpVJhw4YNFV7bsGEDTExMDBIGRERkGFov\nXREUFISUlBSN5wICAvDLL7/otbD7cQ+BiEh3um47q+wV3r59O7Zt24bMzEy88sorykzz8vJqdNIZ\nERE9WqoMBFdXV3Tu3BnfffcdOnfurARCkyZNsHDhQoMVSEREhqG1yai4uBiNGzc2VD2VYpMREZHu\n6qzJaMSIEdiwYQOCg4MrfZNjx47VrkIiIqqXqtxDuHTpElxdXZGWllbphIa8xAT3EIiIdFdn5yHU\nJwwEIiLd1fkNctauXQtPT080a9YMVlZWsLKygrW19UMVSURE9Y/WPYSWLVvihx9+QIcOHQxVUwXc\nQyAi0l2d7yF4enoaNQyIiMgwtF6uNCgoCKNHj8bQoUNhZmYGoCx1hg8frvfiiIjIcLQGwu3bt2Fu\nbo4dO3ZoPM9AICJqWHiUERFRA1VnJ6aVGz9+fIU3AIAVK1boWBoREdVnWgPhiSeeUEIgPz8f3377\nLVxcXPReGBERGZbOTUYigl69emHfvn36qqkCNhkREemuzg87fVBqairS09N1nYyIiOo5rU1GzZo1\nU5qMRAT29vZ455139F4YEREZFo8yIiJqoPTeZERERA0TA4GIiAAwEIiI6J5qA0GtVqNjx46GqoWI\niIyo2kBo1KgRvL29kZmZaah6iIjISLQedpqdnQ1vb2907doVTZs2BVDWc71582a9F0dERIajNRDm\nzZsHQPPwpfLzEoiIqOGo0XkIp0+fxrlz5xAREYH8/HwUFxcb9DaaPA+BiEh3dX4ewkcffYRRo0bh\nL3/5CwAgKysLQ4cOrX2FRERUL2kNhCVLlmD//v3KHkHr1q1x8+ZNvRdGRESGpTUQzMzMYG5urgyX\nlpaiqKhIr0UREZHhaQ2EXr16YcGCBcjLy0NCQgLGjBmDwYMHG6I2IiIyIK2dyiUlJfj000+VeypH\nRERgypQpMDEx3EnO7FQmItKdrtvOGh1llJ+fj+PHj0OlUsHPz0+jCak6cXFxmDZtGtRqNZ599lm8\n8cYbFcZJTEzE9OnTUVRUBBsbG+zevbtikQwEIiKd1XkgfPPNN3jxxRfh4+MDoOwGOUuWLMGTTz5Z\n7YwLCwvh4+ODffv2wdnZGaGhoVi2bBmCgoKUcbKystC/f3/Ex8fDyckJN27cgJ2d3UMvFBER6b7t\n1Hpi2t/+9jckJyfD09MTAHD+/Hn0799fayAkJyfD19cXbm5uAIDo6Ghs3bpVIxC+/PJLREdHw8nJ\nCQAqDQMiIjIMrR0Bjo6OShgAZYedlm/Aq5ORkQEPDw9l2N3dHRkZGRrjpKam4tKlSwgNDYW/vz8+\n++wzHUonIqK6pHUPISgoCEOGDEFUVBQAYNOmTQgMDMTXX38NABg+fHil09Xk8hZqtRrHjx9HfHw8\n8vLy0L17d4SGhsLX11eXZSAiojqgNRDy8/Ph6OiodPba29ujoKAAW7ZsAVB1ILi7uyM9PV0ZTk9P\n19hjAICWLVvC1dUVlpaWsLS0RJ8+fXDs2LFKA2Hu3LnK4/DwcISHh2tdOCKiP5PExEQkJibWenq9\n3VO5oKAAPj4+SEpKgpOTE3r06IHY2FgEBwcr46SkpGDatGn44YcfUFhYiJCQEKxZswaBgYGaRbJT\nmYhIZ3V2LaO5c+fiypUrVU54+fJlzJkzp8rXLSwssGTJEkRERCAgIADDhw9HcHAwYmNjERsbC6Cs\nOWrgwIHw9/dHYGAgnn322QphQEREhlHlHsL333+P9957D0VFRQgODoaLiwtEBFlZWThy5AjMzc3x\nt7/9zSBnLXMPgYhId3V+HkJ6ejqSkpJw4cIFqFQqtGrVCj169KjQH6BPDAQiIt3p5UxlAMjJyTHo\nPRDux0AgItJdnd8PYffu3Wjbtq1y5M/x48cxadKk2ldIRET1ktZAePXVVxEfHw8HBwcAQKdOnbB/\n/369F0ZERIalNRBEBC1bttR4jvdUJiJqeLSemObh4YGkpCQAZZfCXrp0Kdq0aaP3woiIyLC0dipn\nZWXhL3/5C3bu3AmVSoX+/ftj6dKlcHR0NFSN7FQmIqoFvR1lZEwMBCIi3dX55a9ffvnlCn0GFhYW\n6NKlC0aMGMH+BCKiBkJrp3JBQQF++eUXtGvXDm3btsWxY8dw9epVrF69GjExMYaokYiIDEBrk1HP\nnj2xd+9e5R7KarUavXv3xu7du9G+fXucO3dO/0WyyYiISGd1fmLalStXcPfuXWU4Ly8PWVlZMDU1\nRfPmzWtXJRER1Tta+xCmTp0KX19fPPbYYwCAhIQETJs2Dfn5+cpzRET06KvRUUYXLlxAcnIyVCoV\nunXrVuFENX1jkxERke70ctjptWvXcOrUKZSUlChHFfXu3bv2VeqIgUBEpLs6P+z0o48+wtKlS3H5\n8mUEBgbiwIEDCA0NRXx8/EMVSkRE9YvWTuWPP/4YP//8M1q1aoWEhAQcO3aMnclERA2Q1kCwtraG\npaUl1Go1ioqK0K5dO5w8edIQtRERkQFpbTJydXVFTk4OhgwZgn79+sHW1tagd0sjIiLD0OlaRjt2\n7EBBQQEGDhwIMzMzfdalgZ3KRES6q/MT08aNG6c8fvzxxzF06FA8//zztauOiIjqLa2BcPz4cY1h\ntVqN5ORkvRVERETGUWUgvP3227CyssKvv/4KKysr5c/e3h6DBw82ZI1ERGQAWvsQZsyYgYULFxqq\nnkqxD4GISHd1dqbykSNHAJTdU7myex4EBwfXskTdMRCIiHRXZ4EQHh5e7c1vEhISdK+ulhgIRES6\n4y00iYgIgB6uZVRYWIgPPvgAe/fuBQD06dMHr776qkHPQyAiIv3Tuofw9NNPw9zcHGPHjoWIYN26\ndcjPz8eaNWsMVSP3EIiIaqHOm4x8fX1x4sQJrc/pEwOBiEh3dX6msomJCdLS0pThtLQ05f7KRETU\ncGjtQ1i0aBG6d+8Ob29vAMCpU6ewfPlyvRdGRESGVaOjjPLy8pRLWPj5+cHS0lLvhd2PTUZERLqr\n8yYjf39/fPDBB7C3t0fXrl0NHgZERGQYWgNh8+bNaNSoEUaOHIkuXbrg3XffxcWLFw1RGxERGZBO\nJ6adPn0a8+bNw5o1a6BWq/VZlwY2GRER6a7Om4yAsiOLFi1ahFGjRuH333/Hv/71rxrNPC4uDn5+\nfujYsSPGHNBDAAAX+0lEQVQWLVpU5XiHDh2Cqakpvv7665pVTUREdU7rUUbdunVDUVERRo4ciQ0b\nNqBNmzY1mnFhYSFiYmKwb98+ODs7IzQ0FI8//jiCgoI0xlOr1XjjjTcwcOBA7gUQERmR1kD43//+\nBx8fH51nnJycDF9fX7i5uQEAoqOjsXXr1gqB8J///AdRUVE4dOiQzu9BRER1R2uTUW3CAAAyMjLg\n4eGhDLu7uyMjI0NjnMzMTHz33XeIiYkBgGqvrkpERPqlt1OOa7Jx/+tf/4qFCxcqHR9sMiIiMh6t\nTUa15e7ujvT0dGU4PT1dY48BAH7++WeMGjUKAJCdnY3t27ejcePGGDp0aIX5zZ07V3kcHh6O8PBw\nvdRNRPSoSkxMRGJiYq2nr/Kw002bNlV5yJJKpcLw4cOrnXFBQQF8fHyQlJQEJycn9OjRA7GxsVXe\naW38+PGIjIysdL487JSISHd1dj+ELVu2VNvsoy0QLCwssGTJEkRERKC0tBTjxo1DcHAwYmNjAQCT\nJ0+ucZFERKR/vGMaEVEDVed3TCstLcU333yD1NRUlJSUKM/Pnj27dhUSEVG9pPUoowkTJuC7777D\np59+ChHB+vXrceHCBUPURkREBqS1ycjHxwe///47AgIC8MsvvyA/Px8DBw7E7t27DVUjm4yIiGqh\nzq9lZG1tDQAwNTVFVlYWVCoV9xCIiBogrX0ITzzxBHJycvD666/D398fJiYmGD9+vCFqIyIiA9Lp\nKKM7d+5ArVbDxsZGnzVVwCYjIiLd1flRRiKC3bt3Iz09XWPGzzzzTO0qJCKieklrIIwcORKZmZkI\nDAxEo0aNlOcZCEREDYvWJqP27dsjNTXVqFciZZMREZHu6vwoo+DgYFy9evWhiiIiovpPa5NRVlYW\nvL290bVrV5ibmwMoS53NmzfrvTgiIjIcrYFw/2WniYio4eLF7YiIGqg660Po2bMnAKBZs2awsrLS\n+Cs/e5mIiBoO7iEQETVQdX5iGgBcu3YNmZmZKC0tVZ6r6s5nRET0aNIaCG+88QZWr16Ntm3bwsTk\njxamhIQEvRZGRESGpbXJyMvLCydPnoSZmZmhaqqATUZERLqr8xPTAgMDkZOT81BFERFR/ad1D+HQ\noUMYNmwYOnXqZLQT07iHQESkuzrvVH7mmWcwY8YMdOrUSelDMOZ1jYiISD+07iF0794dBw4cMFQ9\nleIeAhGR7nTddmoNhKlTp8LS0hJDhgxRmowAwx52ykAgItJdnQdCeHh4pU1EhjzslIFARKS7Ou1D\nKC0txbBhw/Daa689dGFERFS/VXvYqYmJCdavX2+oWoiIyIi0Nhm99tprKC0tRVRUFJo2bQoRgUql\nYh8CEVE9xz4EIiICoIdAqA8YCEREuqvzS1dkZmZi7NixGDBgAAAgNTUVy5Ytq32FRERUL2kNhLFj\nxyIyMhJXrlwBUHaxu48++kjvhRERkWFVGQglJSUAgOvXryM6OhqNGjUCAJiamsLUtEa3USAiokdI\nlYHQtWtXAEDTpk2RnZ2tPJ+SkqJxxjIRETUMVf7UL++I+Pe//42BAwfi3Llz6N27Ny5evIgNGzYY\nrEAiIjKMKo8ycnd3x9SpUyEiKC0thYmJifLY1NQUU6dONVyRPMqIiEhndXbpCrVajdzc3DopioiI\n6r8q9xCCgoKQkpLy0G8QFxeHadOmQa1W49lnn8Ubb7yh8foXX3yBxYsXQ0Rgbm6O2NhYdO7cWbNI\n7iEQEemszm+Q8zAKCwsRExODffv2wdnZGaGhoXj88ccRFBSkjOPt7Y2kpCRYWVkhLi4OEydOrJMg\nIiIi3VR5lNHOnTsfeubJycnw9fWFm5sbTE1NER0dja1bt2qM07VrV1hZWQEAevbsiczMzId+XyIi\n0l2VgWBvb//QM8/IyICHh4cy7O7ujoyMjCrHj42NxbBhwx76fYmISHd6bTLS5d7LiYmJWLFiBZKS\nkip9fe7cucrj8PBwhIeHP2R1REQNS2JiIhITE2s9vV4Dwd3dHenp6cpwenq6xh5DuWPHjmHixImI\ni4uDra1tpfO6PxCIiKiiB38sv/XWWzpNr/VaRg8jJCQEx48fR2ZmJoqLi7F+/XoMGjRIY5yLFy9i\n+PDhWL16Ndq2bavPcoiIqBp63UOwsLDAkiVLEBERgdLSUowbNw7BwcGIjY0FAEyePBn//Oc/cfPm\nTcTExAAAGjdujIMHD+qzLCIiqgTvh0BE1EDV+f0QiIjoz4GBQEREABgIRER0DwOBiIgAMBCIiOge\nBgIREQFgIBAR0T0MBCIiAsBAICKiexgIREQEgIFARET3MBCIiAgAA4GIiO5hIBAREQAGAhER3cNA\nICIiAAwEIiK6h4FAREQAGAhERHQPA4GIiAAwEIiI6B4GAhERAWAgEBHRPQwEIiICwEAgIqJ7GAhE\nRASAgUBERPcwEIiICAADgYiI7mEgEBERAAYCERHdw0AgIiIADAQiIrqHgUBERAAYCEREdI9eAyEu\nLg5+fn7o2LEjFi1aVOk4r7zyCnx9fREcHIyUlBR9lkNERNXQWyAUFhYiJiYGcXFxOHbsGDZu3Fhh\ng79p0yZcvHgRJ06cwPLlyzF+/Hh9lVPnEhMTjV1CBfWxJqB+1sWaaoY11Vx9rUsXeguE5ORk+Pr6\nws3NDaampoiOjsbWrVs1xtm2bRvGjRsHAAgKCkJJSQkyMjL0VVKdqo8ffn2sCaifdbGmmmFNNVdf\n69KF3gIhIyMDHh4eyrC7u3uFjX1NxiEiIsPQWyCoVKoajSciNZtOpSr7IyIi/RA92bNnjzzxxBPK\n8L/+9S+ZP3++xjgTJkyQDRs2KMO+vr6SkZFRYV5egIB//OMf//in05+Xl5dO221T6ElISAiOHz+O\nzMxMODk5Yf369YiNjdUYZ/DgwVi9ejWioqJw5MgRNGrUCG5ubhXmdeaBvQgiIqp7egsECwsLLFmy\nBBERESgtLcW4ceMQHByshMLkyZPx1FNPISEhAb6+vjA3N8fKlSv1VQ4REWmhEuHPbyIiqudnKtfk\nxDZDmDBhApydneHn56c8d+PGDQwYMAD+/v6IiIjArVu3DFpTeno6evfuDT8/P3h7e+Nf//qX0esq\nKChASEgIgoKC0L59e7z22mtGr6mcWq1GUFAQIiMj60VNnp6e8Pf3R1BQELp27VovagKAW7duYcSI\nEQgICECHDh1w4MABo9aVmpqKoKAg5c/GxgYfffSR0dfVnDlz0L59e/j4+CAqKgp5eXlGr2nhwoVo\n3749OnXqhA8//BBALb5TOvU4GFBBQYF4enpKRkaGFBcXS5cuXeTIkSNGqWXPnj1y5MgR6dSpk/Lc\nSy+9JO+//76IiLz//vvyyiuvGLSmrKws+fXXX0VEJDc3V9q1aydHjx41el15eXkiIlJcXCzdunWT\n+Ph4o9ckIvLee+/JmDFjJDIyUkSM//l5enrK9evXNZ4zdk0iIlFRUbJ27VoREVGr1XL79u16UVd5\nPS1atJCLFy8atabTp09L69atpbCwUERERo4cKZ999plRazp8+LD4+vpKfn6+lJSUSP/+/eXYsWM6\n11RvA2H37t0aRyktXrxY5s2bZ7R6zp8/rxEIbdq0kezsbBERuXbtms69+XXtqaeekq1bt9abuu7e\nvStdunSR48ePG72m9PR06devn8THx8uQIUNExPifn6enp/L+5YxdU3Z2trRt27bC88auq9wPP/wg\nYWFhRq/p+vXr0r59e7lx44YUFxfLkCFDZMeOHUatac2aNfL8888rw/PmzZP58+frXFO9bTKq7yet\nXbt2Dfb29gAABwcHXL161Wi1pKWl4dChQwgLCzN6XaWlpQgMDISzszP69u0LX19fo9f02muvYfHi\nxTAx+ePrbuyaVCqVsiv/8ccf14uaTp8+DUdHR4wcORKdOnXCM888g9zcXKPXVe7LL7/E6NGjARh3\nXdnZ2eH1119Hy5Yt4erqiubNm2PAgAFGrcnPzw+7d+/GjRs3kJeXh23btiE9PV3nmuptINT0xLY/\nuzt37iAqKgoffvghrK2tjV0OTExMcPToUWRkZGDPnj1ISEgwaj3ff/89nJycEBQUVOEkSGM6cOAA\njhw5gl27dmHlypXYuXOnsUtCaWkpDh06hGnTpuH48eOws7PDvHnzjF0WAKCoqAhbtmzBiBEjjF0K\nzp49iw8++ABpaWm4dOkS7ty5g9WrVxu1Jj8/P0ydOhXh4eHo27cv/Pz8arUNrbeB4O7ujvT0dGU4\nPT1dY4/B2BwdHZGdnQ2g7NeKk5OTwWsoLi7GU089haeffhr/93//V2/qAgAbGxs88cQTSE5ONmpN\n+/fvx+bNm9G6dWuMHj0a8fHxGDdunNHXU/n7OTo6IioqCocOHTJ6TR4eHnBzc0NISAgAICoqCkeP\nHoWTk5PRv1Pbt29H586d4ejoCMC43/ODBw+iR48esLe3h6mpKYYPH46kpCSjf34xMTE4duwYkpOT\n4erqCh8fH51rqreBcP+JbcXFxVi/fj0GDRpk7LIU5SfVAcDq1asxePBgg76/iOD5559Hx44dlaN5\njF3X9evXkZubCwDIz8/Hjz/+CD8/P6PW9PbbbyM9PR3nz5/Hl19+icceewxffPGFUWvKy8tDXl4e\nAODu3buIi4uDr6+v0b9THh4ecHBwwKlTpwAAO3fuRIcOHTBo0CCj1gUA69atU5qLAON+z9u2bYsD\nBw4gPz8fIoKdO3fCy8vL6J9f+YY/KysLX331FaKjo3WvSX/dHA9v27Zt4uvrKx06dJC3337baHWM\nGjVKXFxcpHHjxuLu7i4rVqyQ69evS//+/cXPz08GDBggN2/eNGhNe/fuFZVKJQEBARIYGCiBgYGy\nfft2o9Z17NgxCQwMlICAAPH29pa33npLRMTo66pcYmKicpSRMWs6d+6c+Pv7S0BAgLRr105mzZpl\n9JrKHT16VLp06SIdO3aUQYMGyY0bN4xe1507d8Te3l5ycnKU54xd05w5c6Rt27bSvn17iY6Olvz8\nfKPXFBYWJv7+/tK5c2eJj48XEd3XE09MIyIiAPW4yYiIiAyLgUBERAAYCEREdA8DgYiIADAQiIjo\nHgYCEREBYCBQLTRq1AhBQUHw8fHBsGHDlJPRHlXNmjWr9bSrVq3Cyy+/XONxvv32W5w8ebJG8/74\n44+xatWqCs+npaVpXIq9Pti8eXO9ucwF1R4DgXTWpEkTpKSk4Pfff4eVlRU++eQTvb6fWq3W6/z1\nfd2s++f/7bff4rffftM6jYhg+fLlGDt2rD5LQ2lpaZ3MJzIyEps2bUJxcXGdzI+Mg4FADyUsLAzn\nzp3D9evXERERAT8/P3Tu3BlHjhwBAPj7+yMnJwciAnt7e3zxxRcAgGeeeQa7du2CWq3GSy+9pNyQ\n5aOPPgIAJCYmolevXnjyyScr/TX84osvIiQkBO3bt8eMGTOU5z09PTF37lx07doV3t7eOH78OADg\nypUrCAsLQ2BgICZNmgRPT0/cuHGjwnz/+c9/wt/fHx06dMDf//73Spc5NjYWXl5e6NGjB/bv3688\nn5WVhSFDhiAgIACBgYHYvXu3xnQ//fQTtmzZgmnTpiE4OBjnzp3DsmXL0LVrV/j6+iIyMhJ37twB\nACQlJcHHxwempqbKtB06dEBISAg+/fRTZZ4lJSWVrj+1Wo0JEybA29sbgwYNwhNPPIFNmzYp62jG\njBno1q0bNm7ciM2bN6Nz587w8/PT2OP76aefEBoaCn9/f/Tt2xeZmZkAgPfffx++vr4IDAxEdHQ0\ngLLQCw0NxY4dOypdZ/SI0Pfp1NTwNGvWTETKboIzbNgw+eCDD+SFF15QLi+ye/du6dChg4iIvPji\ni7J161b59ddfJSQkRCZNmiQiIu3atZO8vDz58MMPZf78+SJSdlOk4OBgOXXqlCQkJEjTpk0lIyOj\n0hpu374tIiIlJSUSHh4uhw8fFpGy+wwsWbJEREQ+/fRTefbZZ0VEZOLEibJ48WIREfnxxx9FpVIp\nN6gpX57vvvtOqU+tVsuQIUPkxx9/1Hjfixcvipubm9y6dUtKSkqkV69e8vLLL4uIyJNPPin79u0T\nEZELFy4o155fuXKlvPTSSyIi8txzz8mmTZsqLIeIyMyZM+Xdd98VEZF33nlHeSwi0r59e9m/f7+I\niPz9739X7s1R1fpbvXq1cu+Ha9euia2trfK+np6e8u9//1tEym60FBoaqtzYaOHChfKPf/xDioqK\nJDg4WLmW/pdffilPP/20iIi4urpKUVGRiJRdVqLcihUrZPr06ZV+XvRoMDV2INGjJz8/H0FBQSgu\nLkZYWBhiYmIQFBSEN998EwDQu3dv3LlzB9nZ2ejVqxf27NmDVq1aISYmBsuWLcOlS5dga2sLS0tL\n7NixA6dPn8bGjRsBADk5OTh37hwsLCzQtWtXuLm5VVrD8uXLsWrVKqhUKly6dAmpqano3LkzAGDY\nsGEAgODgYGW++/fvx8yZMwEA/fv3h62tbYV57tixAzt27EBQUBCAsgvPpaWlaYzz008/oX///rCx\nsQEAjBgxAqdPnwZQdjG48+fPK+MWFhYiJyenwvvIfVeLSU5OxqxZs5Cfn4/c3Fz0798fAHDx4kWE\nhYUBAK5evYqCggKEhoYCAEaPHo0tW7YoNT+4/s6ePYv9+/cjKioKQNl18Pv27atRQ/lre/fuxenT\np9GjRw8AZZeZ7tatG44dO4YzZ84o9ajVajg7OwMo2+sbO3YshgwZgieffFKZp6urK+Li4iosLz06\nGAikM0tLS6SkpFR4Xh64LJZKpULv3r3x8ccfw9PTEwsWLMA333yDjRs3onfv3sp4S5curbDBSkxM\nRNOmTSt9/9TUVHzyySc4evQomjVrhvHjx6OkpER53dzcHEBZ5/f9beQP1leZWbNmYcKECVW+bmJi\nojGf+x+rVCocOnRIaea5//mqhp999ln8+OOP8PX1xf/+9z8kJiZWmPeD0z+4HJWtvy1btlRZJwCN\ndTto0CB8/vnnGq8fPnwYAQEB2LNnDx60detW7NmzB99//z3efvttnDhxAiYmJigtLeV9TB5x7EOg\nOtGrVy98+eWXAMp+dVpZWcHe3h7u7u7Izs7GmTNn0Lp1a4SFheHdd99VAiEiIgKxsbHKhvv8+fPI\nz8+v9r0KCgrQrFkzNG3aFNnZ2di+fbvW+nr06KG0oe/atQs3b96sME5ERARWrlyJgoICAGX9DuWX\nFO7Xrx8uX76Mbt26IT4+Hrdv34ZarVZ+mQNlex5Lly5Vhsv7L+7fGFtaWuLu3bvKcFFREZycnKBW\nq7FmzRplg9qqVStkZWUBKLv2f5MmTXDgwAEAwFdffaVRc2Xrr0ePHvjmm28AlF0W+cH+jHJhYWFI\nSEjAxYsXAZSt27Nnz8Lf3x8XL15Ugr+kpASpqakQEWRmZiI8PBzvvPMOcnJylBu3X758Ga1atary\nM6D6j3sIpLPKfgUuWLAAY8aMwbp169C4cWOl8xgAunfvrmywwsLC8OabbyrNIVOmTEFaWhp8fX1h\nZmYGW1tbbN68GSqVqspfmwEBAfDz80O7du3g5eWlzKuyOsvnMW/ePERFReGLL75At27d4OzsDAsL\nC43liYyMxG+//Ybg4GCYmZnB3NwcX375Jezs7HD27FnY2dnB3NwcM2fORHBwMFq0aKHR4b106VJM\nnDgRsbGxEBH06NEDy5Yt06gjOjoaEydOxPvvv4+NGzfirbfeQufOneHu7o4uXbooncphYWHKrTUB\nYOXKlZgwYQKaNWuGvn37KvOrbP1t2bIFo0ePxs6dO+Ht7Y02bdogODgYlpaWFdZRixYtsGzZMgwd\nOhRA2VFHCxYsgJeXFzZs2IAXX3wRhYWFKCkpwSuvvAIvLy+MGjUKd+/ehVqtxpQpU2BnZweg7MYx\nkZGRlX4W9Gjg5a/pT6GoqAimpqYwMTHBTz/9hIkTJ+LEiRM1mvbEiRNYuXIl3n33XT1X+QcRQXBw\nMJKTk2FmZlareeTn58PS0hLXr19H586d8dNPP8HFxaWOKy1TWlqK4OBgHD58uEKTGT06GAj0p3D6\n9GmMHDkSJSUlUKlUiI2NVTpp66tPP/0UlpaWGD9+fK2m7927N3JycnDnzh1Mnz4dkyZNquMK/7B5\n82YcO3ZM6binRxMDgYiIALBTmYiI7mEgEBERAAYCERHdw0AgIiIADAQiIrqHgUBERACA/wct+bjT\na/B03gAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x3794dd0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x3965f10>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Maximum power supplied to external system: 0.63 p.u\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.7, Page number: 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "P_rated=2000*746/3 #per phase rated power of motor(W)\n",
+ "Xsm=1.95 #Synchronous reactance(ohm)\n",
+ "Vl=2300 #Line to line voltage(V)\n",
+ "f=60 #Angular frequency(Hz)\n",
+ "p=30 #No. of poles\n",
+ "Xsg=2.65 #Synchronous reactance of generator(ohm)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "#for part (a):\n",
+ "Vp=2300/sqrt(3)\n",
+ "Ip=P_rated/Vp\n",
+ "Eafm=sqrt(Vp**2+(Ip*Xsm)**2)\n",
+ "Pm=3*Vp*Eafm/Xsm #Max power delivered to motor(W)\n",
+ "ws=2*2*pi*f/p\n",
+ "Tmax=Pm/ws #MAx torque of motor(Nm)\n",
+ "\n",
+ "\n",
+ "#for part (b):\n",
+ "Eafg=sqrt(Vp**2+(Ip*Xsg)**2)\n",
+ "Pm2=3*Eafm*Eafg/(Xsg+Xsm) #Max power delivered to motor(W)\n",
+ "Tmax2=Pm2/ws #Max torque(Nm)\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print\"(a) Max power :\",round(Pm/1000,0),\"kW,3-ph\"\n",
+ "print\" Max torque :\",round(Tmax/1000,1),\"kNm\"\n",
+ "print \"(b) Max power :\", round(Pm2/1000,0),\"kW,3-ph\"\n",
+ "print \" Max torque:\", round(Tmax2/1000,1),\"Nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Max power : 3096.0 kW,3-ph\n",
+ " Max torque : 123.2 kNm\n",
+ "(b) Max power : 1639.0 kW,3-ph\n",
+ " Max torque: 65.2 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.8, Page number: 279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import *\n",
+ "\n",
+ "\n",
+ "#Variable declaration:\n",
+ "P=45 #Power rated(KVA)\n",
+ "Va=220 #Terminal voltage(V)\n",
+ "Pin=45 #Power input to the armature(KVA)\n",
+ "If=5.50 #field current(A)\n",
+ "Rf=35.5 #Field winding resistance(ohm)\n",
+ "Ra=0.0399 #Armature dc resistance(ohm/phase)\n",
+ "Xal=0.215 #Leakage reactance of motor(ohm)\n",
+ "pf=0.80 #Lagging power factor \n",
+ "Pc=1.8 #Core loss(kW)\n",
+ "Pw=0.91 #Friction & windage losses(kW)\n",
+ "Ps=0.37 #Stray load loss(kW)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "Ia=P*10**3/(sqrt(3)*Va)\n",
+ "P1=If**2*Rf/10**3 #Loss in field winding(kW)\n",
+ "P2=3*Ia**2*Ra/10**3 #Loss in armature(kW)\n",
+ "Pl=(Pc+Pw+Ps+P1+P2)\n",
+ "Pi=Pin*pf+P1\n",
+ "Po=Pi-Pl\n",
+ "eff=(Po/Pi)*100\n",
+ "\n",
+ "#Results:\n",
+ "print \"Efficiency of the synchronous machine:\",round(eff,1),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Efficiency of the synchronous machine: 84.3 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.9, Page number: 287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import cmath\n",
+ "\n",
+ "#Variable declaration:\n",
+ "Xd=1 #Direct axis synchronus reactance(p.u)\n",
+ "Xq=0.60 #Quadrature axis synchronous reactance(p.u)\n",
+ "Va=1 #Terminal voltage(p.u)\n",
+ "pf=0.8 #Lagging power factor\n",
+ "Ia=0.8-1j*math.sin(math.acos(0.8)) #Line current(p.u)\n",
+ "\n",
+ "\n",
+ "#Calculations:\n",
+ "phy=-math.acos(pf)\n",
+ "E=Va+1j*Xq*Ia\n",
+ "delta=cmath.phase(E)\n",
+ "Id=abs(Ia)*math.sin(delta-phy)*cmath.exp(1j*(-pi/2+delta))\n",
+ "Iq=abs(Ia)*math.cos(delta-phy)*cmath.exp(1j*delta)\n",
+ "Eaf=Va+Xd*Id*1j+Xq*Iq*1j\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print \"Generated voltage:\",round(abs(Eaf),2),\"p.u Volt\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Generated voltage: 1.78 p.u Volt\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.11, Page number: 291"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from pylab import *\n",
+ "import cmath\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variable declaration:\n",
+ "P_rated=2000*746 #Rated power of motor(W)\n",
+ "Xs=1.95 #Synchronous reactance(ohm/phase)\n",
+ "Xd=1.95 #Direct axis synchronous reactance(ohm/ph)\n",
+ "Xq=1.40 #Quadrature axis synchronous reactance(ohm/ph)\n",
+ "pf=1 #Power factor of the machine\n",
+ "Vl=2300 #Line to line voltage(V)\n",
+ "\n",
+ "#Calculatons:\n",
+ "Va=float(Vl/sqrt(3)) #volt\n",
+ "Ia=float(P_rated/(Va*3)) #ampere\n",
+ "E1=Va-1j*Ia*Xq #From phasor diagram\n",
+ "delta=cmath.phase(E1) #power angle\n",
+ "Id=Ia*sin(abs(delta)) #direct axis current(A)\n",
+ "Eaf=abs(E1)+Id*(Xd-Xq)\n",
+ "r=symbols('r')\n",
+ "def P(r): #Process for finding maximum power\n",
+ " return Eaf*Va*sin(r)/Xd + Va**2*(Xd-Xq)*sin(2*r)/(2*Xd*Xq)\n",
+ "P1=diff(P(r),r)\n",
+ "#On differentiation,\n",
+ "#P1 = 1023732.58489791*cos(r) + 355250.305250306*(2*(cos(r))**2-1)\n",
+ "l = solve(1023732.58489791*cos(r) + 355250.305250306*(2*(cos(r))**2-1),r)\n",
+ "P_max = (P(round(l[0],5)))\n",
+ "\n",
+ "\n",
+ "#Results:\n",
+ "print \"Maximum mechanical power:\",math.ceil(3*P_max/10**3),\"kW,3-phase\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum mechanical power: 3236.0 kW,3-phase\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/ELECTRIC_MACHINERY/chapter8.ipynb b/ELECTRIC_MACHINERY/chapter8.ipynb
index 97079356..d938905f 100755
--- a/ELECTRIC_MACHINERY/chapter8.ipynb
+++ b/ELECTRIC_MACHINERY/chapter8.ipynb
@@ -304,7 +304,10 @@
"input": [
"from __future__ import division\n",
"%matplotlib inline\n",
+<<<<<<< HEAD
"from matplotlib.pyplot import *\n",
+=======
+>>>>>>> 0ee873700378b995b441b1be6652178f741aea5b
"\n",
"#Variavle declaration:\n",
"rpm=2500 #rpm of motor\n",
diff --git a/Electrical_Circuit_Theory_And_Technology/chapter_13.ipynb b/Electrical_Circuit_Theory_And_Technology/chapter_13.ipynb
index 6f69e0f8..3ba11f97 100755
--- a/Electrical_Circuit_Theory_And_Technology/chapter_13.ipynb
+++ b/Electrical_Circuit_Theory_And_Technology/chapter_13.ipynb
@@ -1037,7 +1037,7 @@
"from __future__ import division\n",
"import math\n",
"#from pylab import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#initializing the variables:\n",
"E = 6;# in Volts\n",
"R = 2.5;# in ohms\n",
diff --git a/Electrical_Circuit_Theory_And_Technology/chapter_17.ipynb b/Electrical_Circuit_Theory_And_Technology/chapter_17.ipynb
index 81f680ae..79234c8c 100755
--- a/Electrical_Circuit_Theory_And_Technology/chapter_17.ipynb
+++ b/Electrical_Circuit_Theory_And_Technology/chapter_17.ipynb
@@ -30,7 +30,7 @@
"from __future__ import division\n",
"import math\n",
"#from pylab import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#initializing the variables:\n",
"C = 15E-6;# in Farads\n",
"R = 47000;# in ohms\n",
@@ -113,7 +113,7 @@
"from __future__ import division\n",
"import math\n",
"#from pylab import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#initializing the variables:\n",
"C = 4E-6;# in Farads\n",
"R = 220000;# in ohms\n",
diff --git a/Electrical_Circuit_Theory_And_Technology/chapter_38.ipynb b/Electrical_Circuit_Theory_And_Technology/chapter_38.ipynb
index 68af6e5d..7f5eea8b 100755
--- a/Electrical_Circuit_Theory_And_Technology/chapter_38.ipynb
+++ b/Electrical_Circuit_Theory_And_Technology/chapter_38.ipynb
@@ -491,7 +491,7 @@
"import math\n",
"import cmath\n",
"#from pylab import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#initializing the variables:\n",
"f1 = 50;# in Hz\n",
"f2 = 60;# in Hz\n",
diff --git a/Electronic_Devices/Chapter13.ipynb b/Electronic_Devices/Chapter13.ipynb
index 14a01b6b..8f17a015 100755
--- a/Electronic_Devices/Chapter13.ipynb
+++ b/Electronic_Devices/Chapter13.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter14.ipynb b/Electronic_Devices/Chapter14.ipynb
index 453a369d..c074bc48 100755
--- a/Electronic_Devices/Chapter14.ipynb
+++ b/Electronic_Devices/Chapter14.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter15.ipynb b/Electronic_Devices/Chapter15.ipynb
index 51a03fc9..0f77031d 100755
--- a/Electronic_Devices/Chapter15.ipynb
+++ b/Electronic_Devices/Chapter15.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter16.ipynb b/Electronic_Devices/Chapter16.ipynb
index b082e3ac..7dac7651 100755
--- a/Electronic_Devices/Chapter16.ipynb
+++ b/Electronic_Devices/Chapter16.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter17.ipynb b/Electronic_Devices/Chapter17.ipynb
index a95b29db..af3d8d02 100755
--- a/Electronic_Devices/Chapter17.ipynb
+++ b/Electronic_Devices/Chapter17.ipynb
@@ -26,7 +26,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Electronic_Devices/Chapter2.ipynb b/Electronic_Devices/Chapter2.ipynb
index 3934869f..96323966 100755
--- a/Electronic_Devices/Chapter2.ipynb
+++ b/Electronic_Devices/Chapter2.ipynb
@@ -26,7 +26,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Electronic_Devices/Chapter3.ipynb b/Electronic_Devices/Chapter3.ipynb
index b0f770b6..7f7704ad 100755
--- a/Electronic_Devices/Chapter3.ipynb
+++ b/Electronic_Devices/Chapter3.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter4.ipynb b/Electronic_Devices/Chapter4.ipynb
index 8aaa9760..4d58d816 100755
--- a/Electronic_Devices/Chapter4.ipynb
+++ b/Electronic_Devices/Chapter4.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter5.ipynb b/Electronic_Devices/Chapter5.ipynb
index 1bcf9f83..e4ee1f05 100755
--- a/Electronic_Devices/Chapter5.ipynb
+++ b/Electronic_Devices/Chapter5.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter6.ipynb b/Electronic_Devices/Chapter6.ipynb
index 22b56e17..115b275b 100755
--- a/Electronic_Devices/Chapter6.ipynb
+++ b/Electronic_Devices/Chapter6.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Devices/Chapter7.ipynb b/Electronic_Devices/Chapter7.ipynb
index ac08bd97..1fac10bc 100755
--- a/Electronic_Devices/Chapter7.ipynb
+++ b/Electronic_Devices/Chapter7.ipynb
@@ -22,7 +22,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Electronic_Principles/Chapter_14_New.ipynb b/Electronic_Principles/Chapter_14_New.ipynb
index d16f054a..d4234e3d 100755
--- a/Electronic_Principles/Chapter_14_New.ipynb
+++ b/Electronic_Principles/Chapter_14_New.ipynb
@@ -304,7 +304,7 @@
"input": [
"\n",
"import matplotlib.pyplot as plt\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"print 'Input signal switches from 0 to 15 V at pt. A & 15 to 0 V at pt. B'\n",
"x=[1,2,3,4,5,6,7,8,9,10]\n",
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter2.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter2.ipynb
index 6f35a4a4..c4a79048 100755
--- a/Elementary_Principles_of_Chemical_Processes/Chapter2.ipynb
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter2.ipynb
@@ -289,7 +289,7 @@
"import numpy\n",
"from numpy import linalg\n",
"from matplotlib import pyplot\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"x=numpy.array([10., 30., 50., 70., 90.])\n",
"y=numpy.array([20., 52.1, 84.6, 118.3, 151.0])\n",
"\n",
@@ -367,7 +367,7 @@
"import numpy\n",
"from numpy import linalg\n",
"from matplotlib import pyplot\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"T=[10., 20., 40., 80.]\n",
"M=[14.76, 20.14, 27.73, 38.47]\n",
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb
index 0af298a7..a5a847c8 100755
--- a/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb
+++ b/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb
@@ -1307,7 +1307,7 @@
"input": [
" \n",
"#variation in liquid level with respect to time is given below\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"t=[26,185,456,1336,1958,2810,3829,4822,6385]\n",
"# let Zt-Zo= x;\n",
"x=[.25,1.29,2.32,4.39,5.47,6.70,7.38,9.03,10.48]\n",
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb
index 3a0c3089..c527a037 100755
--- a/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb
+++ b/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb
@@ -443,7 +443,7 @@
" y[i]= a[i]/760.; #mole fraction plotted on y-axis\n",
" i=i+1; \n",
" #mole fraction plotted on x-axis\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from matplotlib.pyplot import *\n",
"\n",
"# Result\n",
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb
index 49994a84..6d856458 100755
--- a/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb
+++ b/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb
@@ -688,7 +688,7 @@
" \n",
"# Variable Declaration \n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"L=2000.; #flow rate of water to be cooled in kg/min\n",
"T1=50.; #temperature of inlet water\n",
"T2=30.; #temp. of outlet water\n",
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb
index 3dc4dd02..2737889e 100755
--- a/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb
+++ b/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb
@@ -81,7 +81,7 @@
"collapsed": false,
"input": [
" \n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
" \n",
"\n",
"Ls=262.5; #mass of bone dry solid ais the drying surface\n",
diff --git a/Elements_of_Physical_Chemistry/Chapter10.ipynb b/Elements_of_Physical_Chemistry/Chapter10.ipynb
index ed29d00c..d07870df 100755
--- a/Elements_of_Physical_Chemistry/Chapter10.ipynb
+++ b/Elements_of_Physical_Chemistry/Chapter10.ipynb
@@ -29,7 +29,7 @@
"input": [
"#Calculate the overall rate constant and hence the overall rate law\n",
"#Initialization of variables\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math\n",
"import numpy as np\n",
"from numpy import linalg\n",
diff --git a/Elements_of_Physical_Chemistry/Chapter6.ipynb b/Elements_of_Physical_Chemistry/Chapter6.ipynb
index f3e0726f..7705b071 100755
--- a/Elements_of_Physical_Chemistry/Chapter6.ipynb
+++ b/Elements_of_Physical_Chemistry/Chapter6.ipynb
@@ -202,7 +202,7 @@
"input": [
"#Calculate the molar mass of the enzyme\n",
"#Initialization of variables\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import numpy as np\n",
"from numpy import linalg\n",
"import matplotlib\n",
diff --git a/Engineering_&_Chemical_Thermodynamics/ch6.ipynb b/Engineering_&_Chemical_Thermodynamics/ch6.ipynb
index f7f5fdcf..10efa0d2 100755
--- a/Engineering_&_Chemical_Thermodynamics/ch6.ipynb
+++ b/Engineering_&_Chemical_Thermodynamics/ch6.ipynb
@@ -38,7 +38,7 @@
"\n",
"# Calculations\n",
"del_h_vap = -R * slop * 10**-3 ;\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"def f(x):\n",
" return -4222.1 * x + 17.556\n",
@@ -146,7 +146,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from numpy import zeros\n",
"from matplotlib.pylab import *\n",
@@ -441,7 +441,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Engineering_&_Chemical_Thermodynamics/ch8.ipynb b/Engineering_&_Chemical_Thermodynamics/ch8.ipynb
index c1f9c289..42f8ec08 100755
--- a/Engineering_&_Chemical_Thermodynamics/ch8.ipynb
+++ b/Engineering_&_Chemical_Thermodynamics/ch8.ipynb
@@ -471,7 +471,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
@@ -661,7 +661,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from matplotlib.pyplot import *\n",
diff --git a/Engineering_&_Chemical_Thermodynamics/ch9.ipynb b/Engineering_&_Chemical_Thermodynamics/ch9.ipynb
index ba9e9ffc..6dffcfff 100755
--- a/Engineering_&_Chemical_Thermodynamics/ch9.ipynb
+++ b/Engineering_&_Chemical_Thermodynamics/ch9.ipynb
@@ -715,7 +715,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from numpy import *\n",
"from scipy.optimize import fsolve \n",
diff --git a/Engineering_Heat_Transfer/CHAPTER1.ipynb b/Engineering_Heat_Transfer/CHAPTER1.ipynb
index 9b33caee..e3bdd6dc 100755
--- a/Engineering_Heat_Transfer/CHAPTER1.ipynb
+++ b/Engineering_Heat_Transfer/CHAPTER1.ipynb
@@ -251,7 +251,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Engineering_Heat_Transfer/CHAPTER10.ipynb b/Engineering_Heat_Transfer/CHAPTER10.ipynb
index b9bac11c..d47a2ad1 100755
--- a/Engineering_Heat_Transfer/CHAPTER10.ipynb
+++ b/Engineering_Heat_Transfer/CHAPTER10.ipynb
@@ -27,7 +27,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Engineering_Heat_Transfer/CHAPTER2.ipynb b/Engineering_Heat_Transfer/CHAPTER2.ipynb
index 6e5857d6..43341b6f 100755
--- a/Engineering_Heat_Transfer/CHAPTER2.ipynb
+++ b/Engineering_Heat_Transfer/CHAPTER2.ipynb
@@ -362,7 +362,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Engineering_Heat_Transfer/CHAPTER4.ipynb b/Engineering_Heat_Transfer/CHAPTER4.ipynb
index a15cf189..3a94d489 100755
--- a/Engineering_Heat_Transfer/CHAPTER4.ipynb
+++ b/Engineering_Heat_Transfer/CHAPTER4.ipynb
@@ -420,7 +420,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Engineering_Heat_Transfer/CHAPTER6.ipynb b/Engineering_Heat_Transfer/CHAPTER6.ipynb
index 318545d4..a9d21547 100755
--- a/Engineering_Heat_Transfer/CHAPTER6.ipynb
+++ b/Engineering_Heat_Transfer/CHAPTER6.ipynb
@@ -119,7 +119,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
@@ -224,7 +224,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Engineering_Heat_Transfer/CHAPTER7.ipynb b/Engineering_Heat_Transfer/CHAPTER7.ipynb
index b246db44..1e2b1047 100755
--- a/Engineering_Heat_Transfer/CHAPTER7.ipynb
+++ b/Engineering_Heat_Transfer/CHAPTER7.ipynb
@@ -27,7 +27,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
@@ -113,7 +113,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Engineering_Heat_Transfer/CHAPTER_3.ipynb b/Engineering_Heat_Transfer/CHAPTER_3.ipynb
index 98a7ff3d..1d13a2b5 100755
--- a/Engineering_Heat_Transfer/CHAPTER_3.ipynb
+++ b/Engineering_Heat_Transfer/CHAPTER_3.ipynb
@@ -203,7 +203,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb
index 74a2f204..47fe7543 100755
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb
+++ b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb
@@ -1586,7 +1586,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
@@ -1790,7 +1790,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb
index b6621911..75e64c12 100755
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb
+++ b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb
@@ -1419,7 +1419,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from scipy.integrate import quad \n",
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb
index 82caf09b..5ef3c2e4 100755
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb
+++ b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb
@@ -998,7 +998,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"from numpy import *\n",
@@ -1406,7 +1406,7 @@
"input": [
"import math \n",
"from matplotlib.pyplot import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"# Variables\n",
"V1 = 5.; \t\t\t#m**3\n",
@@ -1661,7 +1661,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb
index 19f3f7be..eff0d2c6 100755
--- a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb
+++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb
@@ -69,7 +69,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#variable initialisation\n",
"from math import pi\n",
"import numpy as np\n",
diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb
index eff449e4..f586c31d 100755
--- a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb
+++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb
@@ -71,7 +71,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#variable decleration\n",
"import math\n",
"import numpy as np\n",
@@ -193,7 +193,7 @@
"input": [
"\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#variable decleration\n",
"from math import pi\n",
"import math\n",
diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb
index 3a6f5367..44a37ce8 100755
--- a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb
+++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb
@@ -190,7 +190,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#Vabiable Declaration\n",
"import numpy as np\n",
"from pylab import *\n",
diff --git a/Fluidization_Engineering/ch10.ipynb b/Fluidization_Engineering/ch10.ipynb
index 40d88cd4..e44d1ebe 100755
--- a/Fluidization_Engineering/ch10.ipynb
+++ b/Fluidization_Engineering/ch10.ipynb
@@ -20,7 +20,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
@@ -51,7 +51,7 @@
"input": [
"\n",
"from numpy import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#Variable declaration\n",
"umf=[0.01,0.045]; #Velocity at minimum fluidization condition in m/s\n",
"ephsilonmf=[0.5,0.5]; #Void fraction at minimum fluidization condition\n",
diff --git a/Fluidization_Engineering/ch11.ipynb b/Fluidization_Engineering/ch11.ipynb
index 4c2d2fd3..48b679d6 100755
--- a/Fluidization_Engineering/ch11.ipynb
+++ b/Fluidization_Engineering/ch11.ipynb
@@ -20,7 +20,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fluidization_Engineering/ch14.ipynb b/Fluidization_Engineering/ch14.ipynb
index c3aead0d..24a0ffbb 100755
--- a/Fluidization_Engineering/ch14.ipynb
+++ b/Fluidization_Engineering/ch14.ipynb
@@ -93,7 +93,7 @@
"from numpy import linspace,array,zeros\n",
"from scipy.optimize import fsolve\n",
"from matplotlib.pyplot import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#Variable declaration\n",
"dt=4.; #Diameter of reactor in m\n",
"ephsilonm=0.4; #Void fraction of static bed\n",
diff --git a/Fundamental_of_Electronics_Devices/Ch6.ipynb b/Fundamental_of_Electronics_Devices/Ch6.ipynb
index 179d14a6..ae8389eb 100755
--- a/Fundamental_of_Electronics_Devices/Ch6.ipynb
+++ b/Fundamental_of_Electronics_Devices/Ch6.ipynb
@@ -469,7 +469,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11.ipynb
index 683cb8fc..cd86e711 100755
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11.ipynb
+++ b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11.ipynb
@@ -100,7 +100,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14.ipynb
index 8a0c0563..3a36a483 100755
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14.ipynb
+++ b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14.ipynb
@@ -309,7 +309,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2.ipynb
index 536baccc..a2ce34f0 100755
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2.ipynb
+++ b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2.ipynb
@@ -260,7 +260,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3.ipynb
index e35a406f..e0852998 100755
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3.ipynb
+++ b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3.ipynb
@@ -284,7 +284,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8.ipynb
index 07927e9e..7bc27131 100755
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8.ipynb
+++ b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8.ipynb
@@ -276,7 +276,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9.ipynb
index 25599eb2..c346aa15 100755
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9.ipynb
+++ b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9.ipynb
@@ -402,7 +402,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"outputs": [
diff --git a/Fundamentals_of_Electric_Drives_and_Control/Chapter_5.ipynb b/Fundamentals_of_Electric_Drives_and_Control/Chapter_5.ipynb
index 612b0c1e..f86d9e30 100755
--- a/Fundamentals_of_Electric_Drives_and_Control/Chapter_5.ipynb
+++ b/Fundamentals_of_Electric_Drives_and_Control/Chapter_5.ipynb
@@ -441,7 +441,7 @@
"input": [
" \n",
"import math \n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"#Variable declaration\n",
"E1=200.0 #[EMF]V\n",
@@ -922,7 +922,7 @@
"collapsed": false,
"input": [
"import math \n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"#Variable declaration\n",
"V=220.0 #[Voltage] V\n",
"f=50.0 #[Frequency] Hz\n",
diff --git a/Fundamentals_of_Fluid_Mechanics/Ch_2.ipynb b/Fundamentals_of_Fluid_Mechanics/Ch_2.ipynb
index 41a4696d..dccb946f 100755
--- a/Fundamentals_of_Fluid_Mechanics/Ch_2.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/Ch_2.ipynb
@@ -81,7 +81,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/Ch_5.ipynb b/Fundamentals_of_Fluid_Mechanics/Ch_5.ipynb
index 2f61f756..9e025f6b 100755
--- a/Fundamentals_of_Fluid_Mechanics/Ch_5.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/Ch_5.ipynb
@@ -144,7 +144,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/Ch_6.ipynb b/Fundamentals_of_Fluid_Mechanics/Ch_6.ipynb
index 9738d352..ab043ab4 100755
--- a/Fundamentals_of_Fluid_Mechanics/Ch_6.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/Ch_6.ipynb
@@ -109,7 +109,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/Ch_7.ipynb b/Fundamentals_of_Fluid_Mechanics/Ch_7.ipynb
index 4fbbb7e2..75a03450 100755
--- a/Fundamentals_of_Fluid_Mechanics/Ch_7.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/Ch_7.ipynb
@@ -83,7 +83,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/Ch_8.ipynb b/Fundamentals_of_Fluid_Mechanics/Ch_8.ipynb
index 7f3f0078..dcb4a75c 100755
--- a/Fundamentals_of_Fluid_Mechanics/Ch_8.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/Ch_8.ipynb
@@ -150,7 +150,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline "
+ "%matplotlib inline "
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/Ch_9.ipynb b/Fundamentals_of_Fluid_Mechanics/Ch_9.ipynb
index b77b5418..d3e1cd0a 100755
--- a/Fundamentals_of_Fluid_Mechanics/Ch_9.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/Ch_9.ipynb
@@ -135,7 +135,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/ch_1.ipynb b/Fundamentals_of_Fluid_Mechanics/ch_1.ipynb
index 7ceb7896..4e19055b 100755
--- a/Fundamentals_of_Fluid_Mechanics/ch_1.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/ch_1.ipynb
@@ -66,7 +66,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/ch_10.ipynb b/Fundamentals_of_Fluid_Mechanics/ch_10.ipynb
index 8ed43887..aca0dc3f 100755
--- a/Fundamentals_of_Fluid_Mechanics/ch_10.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/ch_10.ipynb
@@ -28,7 +28,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/ch_11.ipynb b/Fundamentals_of_Fluid_Mechanics/ch_11.ipynb
index 84863f93..134e8e0b 100755
--- a/Fundamentals_of_Fluid_Mechanics/ch_11.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/ch_11.ipynb
@@ -150,7 +150,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Fluid_Mechanics/ch_3.ipynb b/Fundamentals_of_Fluid_Mechanics/ch_3.ipynb
index 04a152bb..48d53eaf 100755
--- a/Fundamentals_of_Fluid_Mechanics/ch_3.ipynb
+++ b/Fundamentals_of_Fluid_Mechanics/ch_3.ipynb
@@ -79,7 +79,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb
index 91987df5..b87f9f70 100755
--- a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb
@@ -257,7 +257,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math\n",
"import numpy\n",
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb
index 0458d8c6..f00a7997 100755
--- a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb
@@ -108,7 +108,7 @@
"\n",
"import math\n",
"import matplotlib.pyplot as plt\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"# Total Irradiation\n",
"#calculations\n",
"\n",
@@ -449,7 +449,7 @@
"import math\n",
"import matplotlib\n",
"from matplotlib import pyplot\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"\n",
"T = 500.\t\t\t\t\t\t\t\t;#[K] temperature of surface\n",
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb
index 4cf59010..dc6c22b0 100755
--- a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb
@@ -280,7 +280,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math\n",
"import numpy\n",
"from numpy import linspace\n",
@@ -475,14 +475,14 @@
"collapsed": false,
"input": [
"#Variable Initialization\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math\n",
"import numpy\n",
"from numpy import linalg\n",
"import matplotlib\n",
"from matplotlib import pyplot\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"kc = 398.; \t\t\t\t\t\t#[W/m.K] From Table A.1, Copper at Temp 335K\n",
"kal = 180.; \t \t\t\t\t\t#[W/m.K] From Table A.1, Aluminium at Temp 335K\n",
"kst = 14.; \t\t\t\t\t\t#[W/m.K] From Table A.1, Stainless Steel at Temp 335K\n",
diff --git a/Industrial_Instrumentation/ch4.ipynb b/Industrial_Instrumentation/ch4.ipynb
index 7eb1e631..3982cfe4 100755
--- a/Industrial_Instrumentation/ch4.ipynb
+++ b/Industrial_Instrumentation/ch4.ipynb
@@ -1463,7 +1463,7 @@
"input": [
"\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from scipy.integrate import quad \n",
diff --git a/Industrial_Instrumentation/ch5.ipynb b/Industrial_Instrumentation/ch5.ipynb
index 66f7a8b4..fc1f0115 100755
--- a/Industrial_Instrumentation/ch5.ipynb
+++ b/Industrial_Instrumentation/ch5.ipynb
@@ -1034,7 +1034,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"from numpy import *\n",
@@ -1455,7 +1455,7 @@
"\n",
"import math \n",
"from matplotlib.pyplot import *\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"# Variables\n",
"V1 = 5.; \t\t\t#m**3\n",
@@ -1717,7 +1717,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Introduction_To_Chemical_Engineering/ch1.ipynb b/Introduction_To_Chemical_Engineering/ch1.ipynb
index b28f0745..b0ff6c5a 100755
--- a/Introduction_To_Chemical_Engineering/ch1.ipynb
+++ b/Introduction_To_Chemical_Engineering/ch1.ipynb
@@ -487,7 +487,7 @@
"from numpy import *\n",
"from matplotlib.pyplot import * \n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"u = array([2,1.92,1.68,1.28,0.72,0]);\n",
"r = array([0,1,2,3,4,5]);\n",
diff --git a/Introduction_To_Chemical_Engineering/ch6.ipynb b/Introduction_To_Chemical_Engineering/ch6.ipynb
index 1a7b64a4..4fd6493b 100755
--- a/Introduction_To_Chemical_Engineering/ch6.ipynb
+++ b/Introduction_To_Chemical_Engineering/ch6.ipynb
@@ -311,7 +311,7 @@
"from matplotlib.pyplot import *\n",
"from numpy import *\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"x = [1,0.69,0.40,0.192,0.045,0];\n",
"y = [1,0.932,0.78,0.538,0.1775,0];\n",
@@ -385,7 +385,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math \n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
diff --git a/Introduction_To_Chemical_Engineering/ch7.ipynb b/Introduction_To_Chemical_Engineering/ch7.ipynb
index cf9ad80b..0c1d629b 100755
--- a/Introduction_To_Chemical_Engineering/ch7.ipynb
+++ b/Introduction_To_Chemical_Engineering/ch7.ipynb
@@ -255,7 +255,7 @@
"from numpy import *\n",
"from matplotlib.pyplot import *\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"t = array([0,5,10,15,20,25])\n",
"C_A = array([25,18.2,13.2,9.6,7,5.1])\n",
"\n",
diff --git a/Linear_Integrated_Circuits/Chapter_4.ipynb b/Linear_Integrated_Circuits/Chapter_4.ipynb
index cd759624..2790c59c 100755
--- a/Linear_Integrated_Circuits/Chapter_4.ipynb
+++ b/Linear_Integrated_Circuits/Chapter_4.ipynb
@@ -25,7 +25,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Linear_Integrated_Circuits/Chapter_6.ipynb b/Linear_Integrated_Circuits/Chapter_6.ipynb
index 1e4a097d..92d30ea7 100755
--- a/Linear_Integrated_Circuits/Chapter_6.ipynb
+++ b/Linear_Integrated_Circuits/Chapter_6.ipynb
@@ -25,7 +25,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline"
+ "%matplotlib inline"
],
"language": "python",
"metadata": {},
diff --git a/Material_Science_In_Engineering/ch7.ipynb b/Material_Science_In_Engineering/ch7.ipynb
index b80c4373..f479a648 100755
--- a/Material_Science_In_Engineering/ch7.ipynb
+++ b/Material_Science_In_Engineering/ch7.ipynb
@@ -27,7 +27,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
@@ -97,7 +97,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Mechanics_Of_Fluids/ch14.ipynb b/Mechanics_Of_Fluids/ch14.ipynb
index fce0cb6c..b5514263 100755
--- a/Mechanics_Of_Fluids/ch14.ipynb
+++ b/Mechanics_Of_Fluids/ch14.ipynb
@@ -791,7 +791,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"from numpy import *\n",
diff --git a/Mechanics_Of_Fluids/ch3.ipynb b/Mechanics_Of_Fluids/ch3.ipynb
index 9561a646..cef3ba40 100755
--- a/Mechanics_Of_Fluids/ch3.ipynb
+++ b/Mechanics_Of_Fluids/ch3.ipynb
@@ -246,7 +246,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Mechanics_of_Materials/chapter8.ipynb b/Mechanics_of_Materials/chapter8.ipynb
index 5e6a3e95..1f7c0ed9 100755
--- a/Mechanics_of_Materials/chapter8.ipynb
+++ b/Mechanics_of_Materials/chapter8.ipynb
@@ -181,7 +181,7 @@
"input": [
"\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"from matplotlib import *\n",
"from pylab import *\n",
"import numpy\n",
diff --git a/Optical_Fiber_Communications_Principles_and_Practice/Chapter_12.ipynb b/Optical_Fiber_Communications_Principles_and_Practice/Chapter_12.ipynb
index 38f7d751..38f16b21 100755
--- a/Optical_Fiber_Communications_Principles_and_Practice/Chapter_12.ipynb
+++ b/Optical_Fiber_Communications_Principles_and_Practice/Chapter_12.ipynb
@@ -379,7 +379,7 @@
{
"cell_type": "code",
"collapsed": false,
- "input": "%pylab inline\nimport math\nfrom pylab import *\nfrom numpy import *\n\n#Variable declaration\nacr=1 #connector loss in dB\nafc=5 #loss per kilometer in dB\nLbu=0.1 #fiber length between each of the access couplers\nLac=1 #insertion loss\nLtr=10 #loss due to the tap ratio\nLsp=3 #splitting loss\n \n#Calculating, we get two equation in terms of N, no of nodes, i.e C(1,N-1)=(3.5*N)+8.5 and C(star)=4.5+(10*log10(N)) \n\n#For Bus distribution system\n\nfor N in range(1,13,1):\n C=(3.5*N)+8.5;\n a=plot(N,C,'.r')\n \n \n#for Star distribution system\n \nfor N in range(1,30,1):\n C1=4.5+(10*log10(N));\n b=plot(N,C1,'.g')\n \n \n#To show plot in same graph\n#Graphical comparison showing total channel loss against number of nodes\n\nplt.annotate('Linear Bus',xy=(10, 43.5), xytext=(11, 40))\nplt.annotate('Star',xy=(16, 15), xytext=(17, 13))\nxlabel(\"Number of nodes $N$\")\nylabel(\"Total channel loss $CL$ (dB)\")\ntitle(\"Characteristics showing the total channel loss against the number of nodes\")\ngrid()\nshow(a)\nshow(b)\n",
+ "input": "%matplotlib inline\nimport math\nfrom pylab import *\nfrom numpy import *\n\n#Variable declaration\nacr=1 #connector loss in dB\nafc=5 #loss per kilometer in dB\nLbu=0.1 #fiber length between each of the access couplers\nLac=1 #insertion loss\nLtr=10 #loss due to the tap ratio\nLsp=3 #splitting loss\n \n#Calculating, we get two equation in terms of N, no of nodes, i.e C(1,N-1)=(3.5*N)+8.5 and C(star)=4.5+(10*log10(N)) \n\n#For Bus distribution system\n\nfor N in range(1,13,1):\n C=(3.5*N)+8.5;\n a=plot(N,C,'.r')\n \n \n#for Star distribution system\n \nfor N in range(1,30,1):\n C1=4.5+(10*log10(N));\n b=plot(N,C1,'.g')\n \n \n#To show plot in same graph\n#Graphical comparison showing total channel loss against number of nodes\n\nplt.annotate('Linear Bus',xy=(10, 43.5), xytext=(11, 40))\nplt.annotate('Star',xy=(16, 15), xytext=(17, 13))\nxlabel(\"Number of nodes $N$\")\nylabel(\"Total channel loss $CL$ (dB)\")\ntitle(\"Characteristics showing the total channel loss against the number of nodes\")\ngrid()\nshow(a)\nshow(b)\n",
"language": "python",
"metadata": {},
"outputs": [
diff --git a/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch11.ipynb b/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch11.ipynb
index f7d878eb..f9372ccc 100755
--- a/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch11.ipynb
+++ b/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch11.ipynb
@@ -215,7 +215,7 @@
"from numpy import * \n",
"from matplotlib.pyplot import *\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"R = 8.314 #[J/(mol*K)] Universal gas consmath.tant\n",
"T = 298.15 #[K] Temperature\n",
diff --git a/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch4.ipynb b/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch4.ipynb
index 9278e05d..25b8d4d7 100755
--- a/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch4.ipynb
+++ b/Physical_And_Chemical_Equilibrium_For_Chemical_Engineers/ch4.ipynb
@@ -71,7 +71,7 @@
"from matplotlib.pyplot import *\n",
"import math \n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"g_g = 0.00 #[kJ/mol] \n",
"g_d = 2.90 #[kJ/mol]\n",
diff --git a/Principles_of_Power_System/chapter3.ipynb b/Principles_of_Power_System/chapter3.ipynb
index 42073d28..ccca31d6 100755
--- a/Principles_of_Power_System/chapter3.ipynb
+++ b/Principles_of_Power_System/chapter3.ipynb
@@ -418,7 +418,7 @@
"collapsed": false,
"input": [
"from __future__ import division\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"\n",
"#Calculations:\n",
@@ -512,7 +512,7 @@
"collapsed": false,
"input": [
"from __future__ import division\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"#Calculation:\n",
"M = 350.0 #Maximum demand(kW)\n",
@@ -601,7 +601,7 @@
"collapsed": false,
"input": [
"from __future__ import division\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"\n",
"#Calculation:\n",
@@ -802,7 +802,7 @@
"collapsed": false,
"input": [
"from __future__ import division\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"#Calculations:\n",
"E = 20*2+40*4+60*4+20*4+50*4+20*6 #Units generated per day(MWh)\n",
@@ -1014,7 +1014,7 @@
"collapsed": false,
"input": [
"from __future__ import division\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"\n",
"#Calculation:\n",
diff --git a/Problems_In_Fluid_Flow/ch10.ipynb b/Problems_In_Fluid_Flow/ch10.ipynb
index b9f62b91..95125807 100755
--- a/Problems_In_Fluid_Flow/ch10.ipynb
+++ b/Problems_In_Fluid_Flow/ch10.ipynb
@@ -30,7 +30,7 @@
"input": [
"\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import math \n",
"from matplotlib.pyplot import *\n",
"#example 10.1\n",
diff --git a/Problems_In_Fluid_Flow/ch4.ipynb b/Problems_In_Fluid_Flow/ch4.ipynb
index 5938d17b..a321c44d 100755
--- a/Problems_In_Fluid_Flow/ch4.ipynb
+++ b/Problems_In_Fluid_Flow/ch4.ipynb
@@ -116,7 +116,7 @@
"import math \n",
"import numpy\n",
"from matplotlib import pyplot as plt\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"# Initialization of Variable\n",
"rd = numpy.true_divide([0, 1, 2.5, 5 ,10, 15, 17.5],100) #radial distance from pipe\n",
diff --git a/Problems_In_Fluid_Flow/ch6.ipynb b/Problems_In_Fluid_Flow/ch6.ipynb
index 3eb6270f..d1a06bfd 100755
--- a/Problems_In_Fluid_Flow/ch6.ipynb
+++ b/Problems_In_Fluid_Flow/ch6.ipynb
@@ -164,7 +164,7 @@
"\n",
"from matplotlib.pyplot import *\n",
"import math \n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"# Initialization of Variable\n",
"Q = [0, 0.01, 0.02, 0.03 ,0.04, 0.05] #discharge\n",
diff --git a/Programming_in_C_using_ANSI_C/KamthaneChapter15.ipynb b/Programming_in_C_using_ANSI_C/KamthaneChapter15.ipynb
index 4e53ad7a..5a99346e 100755
--- a/Programming_in_C_using_ANSI_C/KamthaneChapter15.ipynb
+++ b/Programming_in_C_using_ANSI_C/KamthaneChapter15.ipynb
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
{
"metadata": {
"name": "",
@@ -721,4 +722,759 @@
"metadata": {}
}
]
+=======
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 15: Additional in 'C'<h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.1, Page number: 505<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Allocate memory to pointer variable. \n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Variable initialization\n",
+ "j = 0\n",
+ "k = int(raw_input(\"How many number : \"))\n",
+ "p = [0 for i in range(0,k)]\n",
+ "\n",
+ "#in python, all variables are allocated using dynamic memory allocation technique and no\n",
+ "#malloc function and pointer concept is available in python.\n",
+ "\n",
+ "#Read the numbers\n",
+ "while j != k:\n",
+ " p[j] = int(raw_input(\"Number %d = \"%(j+1)))\n",
+ " j += 1\n",
+ " \n",
+ "j = 0\n",
+ "\n",
+ "#Result\n",
+ "sys.stdout.write(\"The numbers are : \")\n",
+ "while j != k:\n",
+ " sys.stdout.write(\"%d\\t\"%(p[j]))\n",
+ " j += 1\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "How many number : 4\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "4\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number 1 = 1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number 2 = 2\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number 3 = 3\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number 4 = 4\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The numbers are : 1\t2\t3\t4\t"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.2, Page number: 506<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Memory allocation to pointer variable. \n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Variable initialization\n",
+ "j = 0\n",
+ "k = int(raw_input(\"How many Number : \"))\n",
+ "p = [0 for i in range(0,k)]\n",
+ "\n",
+ "#in python, all variables are allocated using dynamic memory allocation technique and no\n",
+ "#calloc function and pointer concept is available in python.\n",
+ "\n",
+ "#Read the numbers\n",
+ "while j != k:\n",
+ " p[j] = int(raw_input(\"Number %d = \"%(j+1)))\n",
+ " j += 1\n",
+ " \n",
+ "j = 0\n",
+ "\n",
+ "#Result\n",
+ "sys.stdout.write(\"The numbers are : \")\n",
+ "while j != k:\n",
+ " sys.stdout.write(\"%d\\t\"%(p[j]))\n",
+ " j += 1\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "How many Number : 3\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number 1 = 45\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number 2 = 58\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number 3 = 98\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The numbers are : 45\t58\t98\t"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.3, Page number: 507<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Reallocate memory \n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Variable Initialization\n",
+ "str1 = \"India\"\n",
+ "\n",
+ "#in python, value tagged method is used for data storage instead of memory tagging.\n",
+ "#no realloc function is in python\n",
+ "\n",
+ "#Result\n",
+ "sys.stdout.write(\"str = %s\"%(str1))\n",
+ "str1 = \"Hindustan\"\n",
+ "sys.stdout.write(\"\\nNow str = %s\"%(str1))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "str = India\n",
+ "Now str = Hindustan"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.4, Page number: 508<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Display unused memory \n",
+ "\n",
+ "import psutil\n",
+ "\n",
+ "psutil.phymem_usage()\n",
+ "\n",
+ "#There is no coreleft() function in python. phymem_usage function in the module psutil gives the \n",
+ "#status and usage of physical memory in python."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "usage(total=3165270016L, used=987840512L, free=2177429504L, percent=31.2)"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.5, Page number: 510<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Linked list\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Variable Initialziation\n",
+ "ch = 'y'\n",
+ "p = 0\n",
+ "q = []\n",
+ "\n",
+ "#Function Definitions\n",
+ "def gen_rate(m):\n",
+ " q.append(m)\n",
+ " \n",
+ "def show():\n",
+ " print q\n",
+ " \n",
+ "def addatstart(m):\n",
+ " q.insert(0,m)\n",
+ " \n",
+ "def append(m,po):\n",
+ " q.insert(po,m)\n",
+ "\n",
+ "def erase(d):\n",
+ " q.remove(d)\n",
+ " \n",
+ "def count():\n",
+ " print len(q)\n",
+ " \n",
+ "def descending():\n",
+ " q.sort(reverse=True)\n",
+ " \n",
+ "#Get choice\n",
+ "while ch == 'y':\n",
+ " n = int(raw_input(\"1. Generate\\n2. Add at starting\\n3. Append\\n4. Delete\\n5. Show\\n6.Count\\n7.Descending\\nEnter your choice: \"));\n",
+ " #There is no switch statement in python\n",
+ " if n == 1:\n",
+ " i = int(raw_input(\"How many node you want : \"))\n",
+ " for j in range(0,i):\n",
+ " m = int(raw_input(\"Enter the element : \"))\n",
+ " gen_rate(m)\n",
+ " show()\n",
+ " else:\n",
+ " if n == 2:\n",
+ " m = int(raw_input(\"Enter the element : \"))\n",
+ " addatstart(m)\n",
+ " show()\n",
+ " else:\n",
+ " if n == 3:\n",
+ " m = int(raw_input(\"Enter the element and position \"))\n",
+ " po = int(raw_input(\"Enter the element and position\"))\n",
+ " append(m,po)\n",
+ " show()\n",
+ " else:\n",
+ " if n == 4:\n",
+ " d = int(raw_input(\"Enter the number for deletion : \"))\n",
+ " erase(d)\n",
+ " show()\n",
+ " else:\n",
+ " if n == 5:\n",
+ " show()\n",
+ " else:\n",
+ " if n == 6:\n",
+ " count()\n",
+ " else:\n",
+ " if n == 7:\n",
+ " descending()\n",
+ " show()\n",
+ " else:\n",
+ " sys.stdout.write(\"Enter value between 1 to 7\")\n",
+ " \n",
+ " ch = raw_input(\"Do u wnat to continue (y/n)\")\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1. Generate\n",
+ "2. Add at starting\n",
+ "3. Append\n",
+ "4. Delete\n",
+ "5. Show\n",
+ "6.Count\n",
+ "7.Descending\n",
+ "Enter your choice: 1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "How many node you want : 4\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter the element : 1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter the element : 5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter the element : 4\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter the element : 7\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "[1, 5, 4, 7]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Do u wnat to continue (y/n)n\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.6, Page number: 518<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Draw circle, line and arc using graphics function\n",
+ "\n",
+ "%matplotlib inline\n",
+ "import pylab\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Tkinter package is used for graphics\n",
+ "#Give proportionate sizes to draw\n",
+ "#draw circle\n",
+ "circle2=plt.Circle((.5,.5),.2,color='b')\n",
+ "fig = plt.gcf()\n",
+ "fig.gca().add_artist(circle2)\n",
+ "\n",
+ "\n",
+ "#draw line\n",
+ "figure()\n",
+ "pylab.plot([210,110],[150,150])\n",
+ "\n",
+ "#Draw ellipse\n",
+ "figure()\n",
+ "from matplotlib.patches import Ellipse\n",
+ "e = Ellipse(xy=(35, -50), width=10, height=5, linewidth=2.0, color='g')\n",
+ "fig = plt.gcf()\n",
+ "fig.gca().add_artist(e)\n",
+ "e.set_clip_box(ax.bbox)\n",
+ "e.set_alpha(0.7)\n",
+ "pylab.xlim([20, 50])\n",
+ "pylab.ylim([-65, -35])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['pylab', 'e']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 61,
+ "text": [
+ "(-65, -35)"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x707a9f0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n3eYAAL5E5iE0NDSYvLw8Y4wxdXV1ZvLkySYnJ8fk5OSYMWPGmKlTp5q2tjZjjDHNzc1m1qxZ5oMP\nPujzeNOnTzeSePHixYvXQ76mT5/+MHHdp4Sv7D0ej9ra2uJ/drvdOnfunCZOnKjOzk6tXLlS27Zt\n08KFC/s8xkcffZToaQEAQzDgmn0gENCiRYt08eJFZWdna+fOnX3O/e1vf6vLly8rEonI5/PJ5/Op\nvb09qQUDABLnMF9ccAcAjDpJf4K2t4ewOjo6tHTpUs2aNUs/+MEP1NnZGd+3detWzZw5U7Nnz9bh\nw4eTXU7S9dbfhg0bNGfOHOXn5+v555/Xf//73/i+0dDf5774EJ00svrrq7eKigrNmTNHeXl52rhx\nY3x8JPUm9d7f6dOntWDBAvl8Ps2fP19nzpyJ7xtp/TU3N+v//u//9MQTTygvL0/vvvuupNGTL331\nl7R8GdKKfy+OHTtmzp8/H7+ha4wxGzZsMNu2bTPGGFNaWmo2btxojDHmwoULJj8/39y+fds0NDSY\n6dOnm3v37iW7pKTqrb/Dhw/H6964ceOo688YY5qamsyyZctMTk6O+eSTT4wxI6+/3no7cuSIWbJk\nibl9+7YxxpiPP/7YGDPyejOm9/6+//3vm6qqKmOMMQcPHjR+v98YMzL7a21tNTU1NcYYY/73v/+Z\nWbNmmQ8//HDU5Etf/SUrX5J+Zd/bQ1h//etf9corr0iSXnnlFe3fv1/SZ5/XDwQCSk1NVU5OjmbM\nmKHTp08nu6Sk6q2/pUuXKiXls3+UTz75pFpaWiSNnv6k3h+iG2n99dbb73//e/3qV7+KPw8yadIk\nSSOvN6n3/jIzM+NXgp2dncrKypI0MvubMmWK5s6dK0lKS0vTnDlzdOXKlVGTL731d/Xq1aTlyyP5\nH6G1tbXJ6XRKkpxOZ/zTPFevXpXL5YrPc7lcunLlyqMoadi89957evbZZyWNnv76eohuNPR36dIl\nHTt2TE899ZT8fr/Onj0raXT0JkmlpaVav369Hn/8cW3YsEFbt26VNPL7a2xsVE1NjZ588slRmS8P\n9vegoeTLI/+/XjocDjkcjn73j1RvvfWWxo4dq5dffrnPOSOtv88footEIvEx0889/ZHW3927d3Xt\n2jWdPHlS27dv10svvdTn3JHWmySVlJTo3XffVVNTk95++20Fg8E+546U/q5fv64XXnhB77zzjtLT\n07vtGw35cv36db344ot65513lJaWFh8far48krB3Op3697//LUlqbW3V5MmTJUlZWVlqbm6Oz2tp\naYn/mjnS7Nq1SwcPHtSf//zn+Nho6O/y5ctqbGxUfn6+3G63WlpaVFBQoLa2tlHRn8vl0vPPPy9J\nmj9/vlJSUtTe3j4qepM+u0H73HPPSZJefPHF+K/5I7W/O3fu6IUXXtDq1av14x//WNLoypfP+1u1\nalW8PylJ+TIcNxoefOLWmM9u0JaWlhpjjNm6dWuPGwy3bt0y//rXv8y0adPM/fv3h6OkpPpif4cO\nHTK5ubnmP//5T7d5o6W/B/V2g3Yk9ffF3v7whz+YzZs3G2OM+ec//2mys7ONMSOzN2N69ufz+Uws\nFjPGGPP3v//dzJs3zxgzMvu7f/++Wb16tfnZz37WbXy05Etf/SUrX5Ie9j/96U9NZmamSU1NNS6X\ny7z33nvmk08+MYsXLzYzZ840S5cuNdeuXYvPf+utt8z06dPNd77znfinBr7Kvtjfjh07zIwZM8zj\njz9u5s6da+bOnWvWrVsXnz9S+xs7dmz839+D3G53POyNGVn99dbb7du3zapVq0xeXp757ne/a44e\nPRqfP5J6M6b3v3tnzpwxCxYsMPn5+eapp54y58+fj88faf0dP37cOBwOk5+fH/+7dujQoVGTL731\nd/DgwaTlCw9VAYAF+FpCALAAYQ8AFiDsAcAChD0AWICwBwALEPYAYAHCHgAsQNgDgAX+Hze/zGOH\nVK27AAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7349d10>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x78994d0>"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.7, Page number: 519<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Draw boxes and fill with different designs.\n",
+ "\n",
+ "%pylab\n",
+ "#Tkinter package is used for graphics\n",
+ "from matplotlib.patches import Rectangle\n",
+ "from matplotlib.collections import PatchCollection\n",
+ "\n",
+ "e = Rectangle(xy=(35, -50), width=10, height=5, linewidth=2.0, color='b')\n",
+ "fig = plt.gcf()\n",
+ "fig.gca().add_artist(e)\n",
+ "e.set_clip_box(ax.bbox)\n",
+ "e.set_alpha(0.7)\n",
+ "pylab.xlim([20, 50])\n",
+ "pylab.ylim([-65, -35])\n",
+ "\n",
+ "#There are no different automatic fill styles. user should create the styles."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQwMA0hA49Hv27NGePXtUWlqqBx54QCdOnJAkdXd3q76+XuFwWKFQSG1tbcrLy8vagAEA6XF83/cX\nexAAgPmzIN+MTSQS2rFjhzZu3KhNmzbpF7/4hSTp+vXrikaj+sY3vqHvfOc7+vzzzxdiOFk32/wa\nGhoUiURSXx577733Fnmk6fvnP/+pbdu2qby8XCUlJTpw4IAkO2s32/wsrN2X3b17V67rqqqqSpKd\n9bvnv+dnaf3WrFmjzZs3y3Vdbd26VVL667cgZ/TJZFLJZFLl5eW6deuWHn/8cb3zzjt644039NBD\nD+mVV17RT37yE924cUNHjhyZ7+Fk3Wzz+81vfqPc3FzV1dUt9hAz8ve//13Lli3TnTt3tH37dv3s\nZz9TR0eHibWTZp7fH/7wBxNrd8/Pf/5z9fb26ubNm+ro6NArr7xiZv2k6fNrbGw0s36FhYXq7e3V\nihUrUvvSXb8FOaP/+te/rvLycknSgw8+qA0bNmhsbEwdHR167rnnJEnPPfec3nnnnYUYTtbNNj9J\nsnBlbNmyZZKkyclJ3b17V/n5+WbWTpp5fpKNtZOk0dFRvfvuu3r++edTc7K0fjPNz/d9M+snTf+z\nmO76LfgvNRsZGVFfX5+2bduma9euafXq1ZKk1atX69q1aws9nKy7N7+KigpJX/w+oLKyMu3du/e+\nfXv873//W+Xl5Vq9enXqEpWltZtpfpKNtZOkl156ST/96U8VCv3fX3dL6zfT/BzHMbN+juOosrJS\nW7Zs0a9+9StJ6a/fgob+1q1bevrpp/Xaa69N+wKV4zhyHGchh5N1t27d0ve//3299tprevDBB/XC\nCy9oeHhY58+f18MPP6yXX355sYcYSCgU0vnz5zU6Oqru7m6dOXNmyuP3+9r99/xisZiZtfv973+v\nVatWyXXdWc9w7+f1m21+VtZPkv74xz+qr69Pp0+f1i9/+Ut98MEHUx7/Kuu3YKH/17/+paefflq7\nd+9WdXW1pC/+S3Tvm7fj4+NatWrVQg0n6+7N79lnn03Nb9WqValFeP755xWPxxd5lJlZvny5vvvd\n76q3t9fU2t1zb349PT1m1u5Pf/qTOjo6VFhYqF27dun999/X7t27zazfTPP7wQ9+YGb9JOnhhx+W\n9MXvE/ve976neDye9votSOh939fevXtVUlKiF198MbX/ySef1JtvvilJevPNN1OBvN/MNr/x8fHU\n7VOnTqm0tHQxhpeRiYmJ1Nvef/zjH+rq6pLrumbWbrb5fflXf9yvaydJhw8fViKR0PDwsN5++219\n+9vf1ltvvWVm/Waa34kTJ0z83ZO++KDAzZs3JUm3b99WZ2enSktL01+/tL9LG8AHH3zgO47jl5WV\n+eXl5X55ebl/+vRp/29/+5u/c+dOf926dX40GvVv3LixEMPJupnm9+677/q7d+/2S0tL/c2bN/tP\nPfWUn0wmF3uoabtw4YLvuq5fVlbml5aW+kePHvV93zezdrPNz8La/bdYLOZXVVX5vm9n/b7szJkz\nqfk9++yzJtZvaGjILysr88vKyvyNGzf6hw8f9n0//fXjC1MAYBz/K0EAMI7QA4BxhB4AjCP0AGAc\noQcA4wg9ABhH6AHAOEIPAMb9B4rEH5DkLOd4AAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7373590>"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.8, Page number: 520<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Display text in different size, font, vertically and horizontally \n",
+ "\n",
+ "%pylab\n",
+ "\n",
+ "from pylab import *\n",
+ "\n",
+ "#Tkinter package is used for graphics\n",
+ "# set limits so that it no longer looks on screen to be 45 degrees\n",
+ "xlim([-5,5])\n",
+ "\n",
+ "# Locations to plot text\n",
+ "l1 = array((1,1))\n",
+ "l2 = array((5,5))\n",
+ "\n",
+ "# Rotate angle\n",
+ "angle = 90\n",
+ "trans_angle = gca().transData.transform_angles(array((45,)),\n",
+ " l2.reshape((1,2)))[0]\n",
+ "\n",
+ "# Plot text\n",
+ "th2 = text(l2[0],l2[1],'Hello(Horizontal Text with fontsize 25)\\n\\n',fontsize=25,\n",
+ " rotation=0)\n",
+ "th2 = text(l2[0],l2[1],'Hello(Horizontal Text with fontsize 16)',fontsize=16,\n",
+ " rotation=0)\n",
+ "th1 = text(l1[0],l1[1],'Hello(Vertical Text)',fontsize=16,\n",
+ " rotation=angle)\n",
+ "show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Using matplotlib backend: module://IPython.kernel.zmq.pylab.backend_inline\n",
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['power', 'draw_if_interactive', 'random', 'fft', 'angle', 'linalg', 'info']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAA5AAAATCCAYAAADLrQlWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeUFFXC/vGnezIwMMOQBASGLIIoAgKSg+ASX0AQV5II\nKuqCArqGV4FFF8EAiLrKLkFAMawSDSgZBFxAlrQknSGpIBJkkORwf3/w63q7Ot6BIa3fzzl9znTV\nrVu3blWHZ6r6lscYYwQAAAAAQBTey90AAAAAAMDVgQAJAAAAALBCgAQAAAAAWCFAAgAAAACsECAB\nAAAAAFYIkAAAAAAAKwRIAMAF83q9rseUKVNc8ydPnhxU5mLbsmWLYmNjnfUNHTr0oq/zcunVq5er\nb5s0aXK5m/RfY/HixUHH7u7duy93sxDGxdhfl/r1lZ2drTfeeEMNGzZUWlqaYmJiLul755WM12Pu\nmjhxoqsvv/jiC6vlYi9yuwAAuahx48ZaunSpa9rZs2dDls3MzFTZsmVd03r27KlJkyZdtPb5eDye\nC5qfG4YMGeL0TXJysgYOHBhUJvDLWKNGjbRo0aKQ9U2ePFn33HOPa9qkSZPUs2fPXGpx7rkU/Xu5\njBkzRkeOHHGeN2nSRI0aNbpk689p35YpU+aCvuCWLl1aGRkZ5718bpg8ebIyMzOd5zfddJPat29/\n+RqUA6H2165du1zvgx6PRwMHDlSBAgXOu87c1KVLF3388ceXZd3na+bMmVq/fr3zPD09/ZK8N16p\n/RHNtm3btHTpUi1dulSbNm3Srl27dOzYMcXHx6tIkSK68cYb1blzZ3Xt2lWxsaHjWqjPpEjmzJmj\n1q1bu6b16NFDw4cPd96jhgwZom+++SZqvxIgAeAqltMPz6v1wzanFi5cqE8//dR5/sADDyglJSXq\ncldrf/racaW052IaM2aMK5B5PJ5LGiAvtSthn06ePNn1j6uePXte8QHS4/HIGBNyXkZGhoYPH+6a\n1rt3b+sAeTEtX748ZHiMtD1XgpkzZ+rtt992njdq1OiiBsgrvT8i+eijj9S5c+eQ806cOKFdu3Zp\n165dmjVrlkaOHKnZs2crPT39gtcb6r0kNjZWjz32mB566CFJ0oYNGzR58mT17t07Yl0ESADAf52R\nI0c6f3s8HvXt2/cytubie/HFFzVs2DDneWJi4mVszaV1JQSsSDweT8g2hvryG1juSv2CfCX3ed26\ndV1nSyWpRIkSrueB7b+Stmf16tWu57GxsXr//fdVvXp1xcTEXKZW5dzF6lOb/XulC3XVULhAvHnz\nZrVo0UKbNm2yel8P914TaX90795dgwcP1smTJyVJo0aNIkACAH5fdu7cqS+//NJ5XqtWLZUrV+4y\ntujiS0tLU1pa2uVuxmVxpYYsn+XLlys7O9s1zRij+vXra9++fc60kiVLavny5UHLh7t87XK6kvs8\nISFBpUqVilgmVPuvlG3KyspyPS9RooQ6dOhwmVpz/i5Wf9rs36tF/vz5ddddd+n2229XhQoVdOTI\nEc2cOVOvvPKKzpw545T77rvvNHnyZN1///0R63vxxRfDntmUpCJFioScnpycrDZt2ujDDz+UdO7y\n2kWLFkX8re/v+5e4AADHzp07NWTIENWqVUtpaWmKi4tT4cKFVb9+fT333HM6fPjwJWnH4cOHNXr0\naDVv3lzFihVTQkKCkpOTVbFiRfXo0UPz58+PuPzf//531/OuXbtezOaGtWTJEvXp00fXXXedChQo\noPj4eBUtWlSNGzfWc889p4MHD4ZdNtSgRL/88oueeuopValSRXny5HENHhFtkI/A+dEeS5YsCWqT\nMUZz5szRXXfdpfLlyys5OVkJCQkqXry4WrZsqbFjx+rYsWMhtyczMzPkOo4ePaqnn35aVapUUVJS\nklJSUtS8eXN9/vnnYfsk8PeEw4YNCztAU3Z2tqZPn65BgwapWbNmqlSpkgoXLqy4uDglJyerXLly\n6tixo6ZOner6wpabSpQooVKlSrkepUuXDjqbFBsbG1SuVKlSKl68uKTg4ykhIUElSpRQmzZtNGnS\nJP32229B6/773//u6pfY2NigM1ynT59W9erVXeWaNm0qY4zKlCkjr9cb9LvrKVOmnPdAJoH7q1mz\nZkFlSpUq5czPkydP0L7p3r27q45+/fo58yINsuIbzKtp06au+owxSk9Pdy0T7QyMdO6fAx07dlTR\nokWVkJCg8uXLa/DgwTp69KhVX/jzvUb9rySQzv1eM1q7vvnmGz344IOqXr26UlNTnffuOnXq6Mkn\nn4y4b3z72PcYNmyYzp49qzfffFP16tVTgQIFlDdvXtWoUUOvvvpqUDBs3LixvF6v6/JV6dzxGul9\n5ddff9W4cePUokULlShRQomJiUpMTFTJkiV18803q3fv3nr99de1Y8cOV73RBtEJNT/SI9x+vpif\nh/ny5dOzzz6rffv26fXXX1fbtm1VuXJl1alTRyNHjtQLL7wQtMzixYuj1puWlhbyPcT3iHQG8847\n73Q9nzBhQuSVGQDAVaNRo0bG4/E4D6/XG7ZsZmamq6zH4zG9e/cOKpednW2eeuop4/V6g8r7P1JT\nU828efNCriuw7JQpU1zzJ02aZNXuf/7znyYlJSViOzwej2nevLk5cOBAyDpuuOEGV9k1a9aE7aPA\neps0aRK2bOA2hNpOY4w5dOiQadeuXdRtyJcvn3n77bejtsvr9ZoRI0aY9PT0oOm7du0yxhjTs2fP\niNsROD/Sw+v1miVLlriW37Nnj6lXr17UZQsXLmw+//zzoO3JyMgIWsfYsWNN8eLFw7Zh4sSJEfdV\npPb7HD582Hq5G264wXz//fdBbV+0aFHYfr8QpUuXdtWbnp4estzPP/9s2rZtG7X9VatWNdu3bw9a\n/o477nCVq1y5sjlx4oQz/4knnnDNL1SokNm3b1/INkbqc9s+WbZsWdDr4MyZM878UMfK8uXLXXWU\nKlXKVWbGjBnOvEj7K9RrONzD/70y8PXTuHFj88wzz0TcF1lZWVb9EW4dNu06ceKE6du3b9Rl4uLi\nzKhRo0KuN3AfDxgwwNSvXz9sXb169XItH/iZFOnhe185cOCAue6666yWuf/++13ri/Z6DJyfk/40\nJnc+Dy/UTz/9FLS+P/zhD0HlAo/nihUrmiJFipjY2FiTkpJibrrpJvPoo4+GfF8IdODAAVddBQsW\nNGfPng1bnjOQAPBfylheQjRgwAA9//zzUcsfOXJEHTp0sPpP6PmYPXu27rjjDqv/3i9YsECtWrXS\nr7/+6pp+6NAhbdy40XmemJio6tWrW7fBts/COXXqlNq2bas5c+ZELXv8+HH17NlT77zzTtQ2DRs2\nzPndj+c8flvk8RtkJ/ARan3+Dh06pGbNmmnlypVR13Pw4EG1bds25BnMwHU88sgj+uGHH8K2YcCA\nAfrll19CbkegcNuSExs3brxsZ6vDOXHihG6//XbNnTs3atnNmzeradOm+vHHH13TJ0yY4Lrkb9u2\nbXrqqacknfu93ahRo5x5Ho9Hf//7352znpH69Xz7vE6dOsqTJ4/z/Pjx41q3bp3zfNmyZa7yxhjX\ntMzMTO3Zs8fVjsAziuFEa6//6ySSr776Sn/5y1/Clt28eXPIs0jn27ZQ7TLGqHv37kFXXITy22+/\n6fHHH9df//rXqGVfffVVrVixImybpkyZooULF1q3O1Tbhw8frq1bt4YsbzMtkpy814VyJXwehvqN\npM0gOjt27NBPP/2k7OxsHT16VOvXr9crr7yi66+/XqNHj464bOHChVWmTBnn+eHDh7Vhw4bwC5xH\nMAYAXCY5+W+vzX9blyxZElSmZ8+eZunSpWb79u3m888/Nw0aNHDNL1eunOuMgTEXfgYyKyvLFC1a\n1FUmKSnJvPTSS2b9+vXmyy+/NK1atQpaz9ChQ131fPbZZ675N910U8T+vJC+DLWdo0ePDirTqFEj\nM3/+fLNx40Yzfvx4ky9fvqD/ZB85ciRqu4oXL27+8Y9/mG3btpk1a9aYl19+2Rw8eNAYE/0M5MGD\nB82uXbuCHvPmzTNJSUmuZevUqWN+/fVXZ9kHH3wwqC2dOnUyixYtMuvWrTMjRowwcXFxrvkVKlQw\nv/32m1NH4Fkl36NVq1ZmxYoVZs2aNaZLly5B86dOnerUsWvXLpOZmWlKlizpKvPII48EbZfP4cOH\nTYUKFczAgQPNBx98YJYuXWq2bdtmtmzZYr744gvTq1evoHWuWrXK1XeX8wzk0KFDXWUSExPNX/7y\nF7N27VqzdetWM23atKCzcT169AiqZ9myZSY2NtYpExMTY+bPn28qVarkWvaBBx5wLbdv3z6TmZlp\n6tSp4yp3xx13BPW5//6OpmXLlq76XnzxRWfevffeG7RPbr/9dmf+lClTXPOqVq3qqjvS/srKyjK7\ndu0yM2bMCFrHihUrXNvje20ZE/rsYHJysnnjjTfM1q1bzTvvvGMKFCgQ9D6ZEwcPHjSZmZlm4MCB\nrnquvfbakO364IMPgtpUrVo1M3v2bLNp0ybz9ttvmyJFirjmx8XFmZ07d7rWG+osc4UKFcycOXPM\n5s2bzfDhw4Pm9+nTx1n+xx9/NJmZmaZz586uMnXr1g06Rk6ePGmMMaZatWquso8++qhZu3at+fbb\nb8369evNhx9+aAYPHmyqV69u+vfvb71/jTHm5MmTId/rdu7caWrXru1aNk+ePGbZsmXOsrn1eXih\nXnjhhaBt9G+nT6jP1UhnTl9//fWI6+3QoYOr/Jtvvhm2LAESAK4iuR0gAz/0O3fuHLTOY8eOmcTE\nRFe5uXPnusoErienAfLtt98OqiPwEsbs7Gxz/fXXu8oUK1Ys4npuu+22iP15IX0ZajvLli0b9OUi\n8It1qC+vb7zxRsR2xcbGmo0bN4bdjmgBMpSMjIygS0irVKliDh065JQ5efKkyZMnj6tMo0aNguoa\nOXJkUJs//fRT17oC56enp7u+eJ05c8akpqa6yjz22GNB6wr8wjts2LCo2xpJ1apVXfW98MILrvmX\nK0CePXs2KACMHz8+qJ4vv/wy6FgJ/IeEMcY8++yzrnKBof/66693vuAHCnzfCXUpfE4EfkFu3769\nM88XauPj401aWprxeDymQIECzvw+ffq4lv3Tn/7kqttmf+V0n4YKkG+99ZarzIsvvhhUp/8/YmwF\n7qdwlzY3bdrUVS4lJSVov69atSqo3Y8//rirTOBxGBsba7Zu3eoq06ZNG1eZ2rVrR+2jSO9B/pev\ner1es3///rBljx075np+Pq/Hs2fPmj/+8Y9Bx/+cOXNc5XLr8/BCLF++POifeh06dAhZdvLkyaZI\nkSLm/vvvNx988IHZuHGj2bx5s/nwww9NrVq1gvZ9qGPEX+Bra/jw4WHLcgkrAFzlPCEu1fFYXq4T\nePnNP//5z6BBBvLnz69Tp065ygUOqnGhAi95TEpKUo8ePVzTvF6v7r33Xte0AwcOaPv27c7zn376\nyTW/YMGCOW7L+fbn3r17g2743rt376DBUrp06aLU1FTXtGj92b59e1WtWtVyC6Lbv3+/WrRooR9+\n+MGZVqpUKc2fP9/Vtn/96186ceKEa9lQt0S57777gqZF26a+ffu6RhiNjY1V2bJlXWVyY+CmkydP\nasKECerQoYMqVKig5ORkxcTEOMf35s2bXeX9R0a9nLZs2RJ0PD/88MNBr88WLVq4ymRnZ+urr74K\nqu+ZZ55RvXr1nOf+g+4kJiZqxowZSkhIyOWtCC3wklPf6LP+r+eaNWuqYcOGkqRffvnFuUl94HFl\ne/lqbkpOTlavXr1c0ypVqhRU7mINPJadnR00Ym/nzp2D7mN5yy236IYbbnBNi/a6bNq0adC2BD6/\n0O2qWbOm87cxRjVr1lTfvn314osvas6cOfruu++c+fny5bugdUnnLkv1/6mAx+PRhAkT1KZNG1e5\ny/15+Nlnn6lVq1bO7TQk6eabb9a0adNClm/durX27dunN954Q507d1bVqlVVpUoVderUSatWrVLd\nunVd5Y8ePapPPvkk7PoDR/I+cOBA2LJX3tjQAABrHo8nKLT47NmzRw0aNAi77OnTp/Xzzz+f13r9\ng0du+P77713Pr7322pD3PAv8HYgxRj/88IMqVqyYK+2oU6eOZsyYETTdGKMPP/xQQ4YMCbts4DZI\nCnn7EI/Ho1KlSrm+hEXrz5tuuini/Jw4evSoWrZsqW+//daZVqhQIX3++edB91Oz3aaUlBQVKFDA\n9fvVaNtUuXLloGlJSUmu56FGFs2JnTt3qmXLlmFfI6EE3kbhcrmQIBv4O0jp3D9g3nnnHVWpUiXo\nt8MjRozI1X9QRFOjRg3X8XL48GFt2bJF//nPf5wyDRs2VJEiRTRz5kxJ5/7JVKxYMe3cudMpExMT\no8aNG1+ydvuUKVNGcXFxrmmBx6504cdvOD///HPQyLThblWUnp7u+i3blfC6fOaZZ/TZZ585I1Hv\n3btX//jHP1xlSpQooe7du+vPf/6z8ufPf97rGjp0qMaPH++aNmrUKPXs2dM17XJ/Hk6YMEH9+/d3\n3fKnbt26+uSTT5Q3b96QyxQqVChsfV6vV0888YTatWvnmr5+/Xp169btgttLgASAq1y4e2KF+iG+\njUhn28z/vyGx/39IrySFCxd2PT906FCOlk9MTAzbn5fzPou+QU0u1IkTJ9SmTRvXF8p8+fJp3rx5\nIc+gXEyh+jO3b5Teo0ePkOHR/xg3AYNlBD6/XMK9Dm1en4FnjX02bdoUct7SpUv16KOPnl9Dz4PX\n61WjRo00e/ZsSf83UI5/gGzQoIGKFi3qPF+2bFnQ6+DGG28MOut2KVyKY/dyuRTbVr58eW3cuFGv\nvPKKZs6c6dyqw/+1t2/fPo0cOVLz58/X6tWrz6sNr776qoYPH+6aNmTIEA0aNMi6jkvxefj000/r\n+eefd01r37693n333Yi33ogm1MA7kQapCwzQ4e4bKREgAeB3Kz4+XoUKFXLdj/DBBx+MeJZNOveh\nGe4/oucr8MzXnj17dObMmaD/8vtf2iSd+3C/5pprnOf+f0vBl7ReTKFCnv/ZEp+zZ89q165drmmB\n7Q6UG1/gfvvtN3Xu3NkZYVE6dwx89NFHqlWrVshlAveLdG6b6tSp45p26NChoC8m0bbpYtu1a5dW\nrVrlmtakSRMNGTJEZcuWVWJioowx6tChg/79739fplaGF6rvp06dGvGqAp9Ql27/8MMP6tWrV8iA\nPHv2bL3xxht64IEHzq+x56Fp06ZOgJTOBUTfyJxer1e33nqr8uXLp3z58ikrK0vLli0LOqYux+Wr\nV4K0tDTFx8fr9OnTzrRQ7zVS8Hvm5X5d+hQtWlQjR47UyJEjdfz4cW3btk3ffvutVq5cqddee805\nw7pu3TrNmzcv6ExaNNOnT9eAAQNc03r37h12dNzL8Xl4+vRp9enTR9OnT3dNHzBggF555ZXzqtNf\n4L6XIv+sI/DzslixYmHL8htIAPgdC7z865NPPlH+/PnD3oi4aNGiWrx4ca6fjWvUqJHr+YkTJ4Ju\nTJ2dnR00ZH2RIkVcl6/WrFnT9R/jbdu2XbTLyAKVLFky6Dd8oW7w/v777+vIkSOuab7fel0sxhj1\n7NlTn376qTPNd/Pv5s2bh12uVq1aQZevvfXWW0HlQk27WNsUHx/veh54OaZPqEtAX375ZbVq1UoV\nK1Z0bla/bdu2i9LOC1WlSpWgM+offfRRxBuFJyUl6V//+lfQ78aMMerRo4fry7H/kP2SNHjwYG3Z\nsiVkW2z7PCcCw9+XX37pBPmqVauqQIECiomJcX63+dNPP+ndd9+NWIetwO2RcmebLpWYmBjVr1/f\nNe2DDz4Iel9ZtWqV67ZG0uV/XUrBl3zmzZtXNWrU0B133KGXX35Zt99+u2t+qFt+RDJ37tyg36i2\na9dOEyZMiLjcpfw8PHr0qFq1auUKjzExMRozZoxVeDx69Ki6dOkSMiRK5z4vR44cGTT95ptvDltn\n4D/SbrnllrBlCZAA8Dv24IMPup5nZGSoXr16mjhxotauXasdO3Zo9erVmjhxonr27KlrrrlGvXv3\nzvXL/Dp27Oi6XE06N2DISy+9pPXr12vBggVq3bq16xI3SUFnTNLS0lSlShXn+YkTJyLfyyqXBbYn\nIyNDzZo10/z587Vhwwa99tprQQMBpaam6q677rqo7Xr44YeDvnwPGjRIt9xyizIzM4MevkEi4uPj\ndc8997iWW758uTp16qTFixfrm2++0XPPPaf//d//dZUpX768brvttouyLYGXVX388cdavny5MjIy\nlJmZ6VyGFeryq2effVarV6/Wli1bNHXqVDVp0uSKvRxbkvr37+96/vHHH6tVq1aaNWuWNm3apP/8\n5z9avHixxo4dq9atW6tkyZIaM2ZMUD2jRo3SggULnOcFCxbUihUr1KFDB2faiRMn1K1bt6ABQqTg\nvlywYIG++OILfffdd8rMzNT+/ftzvG1Vq1Z11XvgwAHn91/+Z1n9//a/JD0+Pt7qbGwogcHcGKMx\nY8Zoy5YtQa+BK1Xge82xY8fUoEEDzZ49W5s2bdLbb78ddNYuLi5O/fr1uyjtCTxG1q9fr48++kg7\nd+5UZmam9u7d68x7+OGHdf311+uxxx7TP//5T61bt047d+7Uxo0b9dprr+nLL7901ZWTgXSWLVum\nLl26uH5LWKVKFY0cOVK7d+8Oeq/zv2zzUn0e7tu3T7feeqtr0B6v16uXXnpJ7du3D/meHPgPMd/v\n8itWrKj27dtr0qRJ+uabb7R582Z9+OGHqlu3btC9e4sVKxYUzn3279+v3bt3O88LFiwYNABTYAMA\nAFeJwOH0A2+H4S/UrRNCDb8f6j5/kR5er9dkZ2e76ggsk9PbeBhjzKxZs0xMTIx1O2rUqBFymPwh\nQ4a4yo0ZMyZsHwXWGWno+cBtCLWdp06dMrfeemuO+vKdd96J2q7A9QSKNoR+Tvavx+MxixcvdpY9\ndOiQqVixovWyCQkJZsmSJa71hzoWA8sYY3e7iMGDB0dcf69evZyygfebC3zExsYG3SojcJ2X8z6Q\nv/76a9C966I9GjRo4Krj66+/Drplx3vvvWeMMeann34yxYoVc817+OGHg9oxfvz4iOts3LjxefVB\n165dQ9bna58xxixdujRkmfr164es02Z/hbpFSqTXgM0tKnLrOLG9jYcxwbediPZe8/zzzwfVYXNb\nHJs2zZ07N+L6y5Qp45Tt1KmTdbvj4+Nd966M1s+hbrli+35hTO58HkYT6rMk2sO//4w5d4/bnCwf\nGxtrPv7447BtCryv6F133RVxGzgDCQBXMZMLZwJfffVVPf3009a/sytRooS83gv7+AjV7nbt2un9\n99+3GhSjWbNm+vzzz0OOfNi3b1/XZayhRlW9WOLj4zV37ly1bds2atm8efNqypQpuTIiXm7z77/U\n1FQtWLAgaEj4UAoXLqzZs2df1EtyH3rooYijMvq3feLEiUpOTg5ZLjY2Vn/7299cZ6xt5MZrzrbe\npKQkffbZZ2rfvr1VHR6PR9dee63z/NixY+rWrZvrMuo777xTXbp0kXRuFMfAy8LHjx8fNNR/9+7d\nww4u5Vvv+Qh3Car/mcXatWuHvOTU9vLVUP3q8Xj0xBNPRFzufLcp0npzu55p06YFXdEQSlxcnEaO\nHBl1my+kTa1atVKNGjXCLuPfn7Z9Gxsbq3HjxoUdYTZcW3IisC2X4/PQRmA7Y2JilCdPHqtlCxYs\nqBkzZriuOAgUeIVKqNs1+SNAAsBVxBNwX0KbD+LAZULNHz58uHbs2KEnn3xS9erVU5EiRRQfH6+k\npCRde+21at68uZ566iktWbLEdZmL7XoC2xuuLR07dtR3332nF154QU2aNFHRokUVHx+vfPnyqXz5\n8rr77rv16aef6osvvgg7hHmFChVcXy5Xr14d9nciNv0TahsilU9JSdGsWbO0cOFC9e7dW5UqVVL+\n/PkVFxenwoULq2HDhvrLX/6ijIwM3X333RfcrlBti1ZftEegkiVLavny5Zo5c6buvPNOpaenK2/e\nvIqPj1exYsXUokULvfLKK/r2228jXrpqcyxGK1O6dGmtWrVKd911l0qUKKH4+Piwy9SsWVPr1q1T\nz549Vbx4cae9HTt21LJly9SnT5+o7bI9dnPKpt+lcwH+448/1ooVK3TfffepWrVqSk1NVWxsrJKT\nk1WhQgW1b99eo0eP1ubNm12/qerfv78yMjKc+kuUKKHXX3/dVX/r1q2dyxp95e655x7XPeDy58+v\nr776Sv369VN6eroSEhJyfM/ZUHyvU/+6ypYt6xroJSEhQbVr1w7qq3AB0nZ/DRw4UNOmTVODBg2U\nkpIir9cbdptsX182643G9n1GOtc3b731ltauXav+/furWrVqSklJUVxcnNLS0lS7dm39+c9/1o4d\nO8IOBmNzDNq0KSYmRgsWLNCgQYNUqVIlJSYmhi0/btw4TZ8+Xf3791edOnVUtmxZJScnKy4uTgUL\nFlTNmjX16KOPauPGjUH3mI3Wz6HampP3utz6PIwkp20M1c7k5GTt379f7733nu6//37Vrl3baWdi\nYqKKFy+uli1b6uWXX9bOnTvVqVOnsO355ZdfXP80qlSpUtTb43jMxfpXGgAAl8nChQtdg8M89thj\nIQcUAADg92z8+PH605/+5DyfOHFi0CBEgQiQAID/Sq1bt3ZGHU1OTlZmZqZSU1Mvc6sAALgynDlz\nRuXLl9eePXskSdWrV9c333wTdTkuYQUA/FcaPXq0YmJi5PF4lJWVpXHjxl3uJgEAcMWYOnWq9uzZ\n41wqO3r0aKvlOAMJAAAAALDCGUgAAAAAgBUCJAAAAADACgESAAAAAGCFAAkAAAAAsEKABAAAAABY\nIUACAAAAAKwQIAEAAAAAVgiQAAAAAAArBEgAAAAAgBUCJAAAAADACgESAAAAAGCFAAkAAAAAsEKA\n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\nLC6v8wT8Fi4pKUlLly7ViBEjVL16deXNm1d58uRRuXLl1LFjR02cOFHXXHNNxPpDTS9atKjWrFmj\ngQMHqly5cs59IOvWratJkybp9ddfd9Vx7733Sjo3QEXgYBm+NofarnBtaty4sb7++mt17drVuQ9k\nWlqa2rRpo8WLF6tbt27W/RZpvn/bAh+SdNddd2nx4sVq06aNChUq5NyPsWvXrvr6669d97zMSf9K\n537neuedd6pIkSJB6502bZq6du2qggULKiUlRd27d9d7773narPt9ocTbr/ceeedWr58uTp16qRi\nxYopLi5ORYoUUa1atfTnP/9ZgwYNctr/9ddfy+PxaNSoUSpXrpyKFy+u1157TZK0detWPfroo069\nU6dOVcOGDVWgQIGoAyn5812a6vF4XL+78x+cqHHjxkHbFqpPbr75Zo0bN07lypVTfHx8yDZEOo5s\n2htpf/ztb3/TpEmTVLduXSUnJys+Pl7lypXTwIEDtWbNGtclrOH6KNz0SP37xBNPqEGDBs59PfPm\nzev0xZ/+9Kew22/+/xnaaK+TIkWKaM2aNXrsscdUuXJlJSYmKjk5WZUqVdIf//hHzZgxI0f9Fmld\nPu+++65eeOEFXXfddUpISFCBAgV022236YsvvtDdd9/tKutbf4ECBdS1a9eobQF+7zzG8GthAMDF\nd+utt2rlypXq1q2bpk+ffrmbAwA6c+aMypcvrz179ujJJ5+M+ptPAARIAMAlsmrVKtWrV0+xsbHa\nunWr9W8DAeBimThxou69914VLVpUO3fudEaxBRAeARIAAAAAYIXfQAIAAAAArBAgAQAAAABWCJAA\nAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAA\nAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAA\nrBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFgh\nQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAE\nAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAA\nAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAA\nYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAK\nARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIk\nAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAA\nAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAA\nACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABW\nCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAg\nAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIA\nAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAA\nAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACw\nQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUA\nCQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIA\nAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAA\nAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACA\nFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsE\nSAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAA\nAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAA\nAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAA\nrBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFgh\nQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAE\nAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAA\nAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAA\nYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAK\nARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIk\nAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAA\nAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAA\nACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABW\nCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAg\nAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIA\nAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAA\nAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACw\nQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUA\nCQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIA\nAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAA\nAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACA\nFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsE\nSAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAA\nAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAArBAgAQAA\nAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFghQAIAAAAA\nrBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAEAAAAAFgh\nQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAAAACwQoAE\nAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAAYIUACQAA\nAACwQoAEAAAAAFghQAIAAAAArBAgAQAAAABWCJAAAAAAACsESAAAAACAFQIkAAAAAMAKARIAAAAA\nYIUACQAAAACwQoAEAAAA8P/Yu/cgver6juOfZ3O/SLgnyiUkUiiNXGJoKwq4toNVLgrDRa3EWJCa\ncBEGREp1KNG0A5V2qI46VQyYUrENxtRQEcaWQImkViUhVq3BxAQZIGQwlEsW4ubpHzQLayD5xjH7\nHNjX658s5znJftmZ/c2+93fOeaBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIB\nCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACg\nREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEA\nACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhI\nACrWxdwAACAASURBVAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACU\nCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAA\nACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJ\nAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBE\nQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAA\nKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgA\nAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUC\nEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABA\niYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIA\nAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQ\nAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABK\nBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAA\ngBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAE\nAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAi\nIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAA\nlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQA\nAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIB\nCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACg\nREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEA\nACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhI\nAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAl\nAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAA\nQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREAC\nAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgR\nkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAA\nSgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIA\nAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImA\nBAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQ\nIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAA\nAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQk\nAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIAS\nAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAA\noERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiAB\nAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQI\nSAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAA\nJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkA\nAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERA\nAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAo\nEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAA\nAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQIS\nAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJ\ngAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAA\nUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAA\nAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoE\nJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACA\nEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQA\nAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAAACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIg\nAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJAABAiYAEAACgREACAABQIiABAAAoEZAAAACU\nCEgAAABKBCQAAAAlAhIAAIASAQkAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJQISAAAAEoEJAAA\nACUCEgAAgBIBCQAAQImABAAAoERAAgAAUCIgAQAAKBGQAAAAlAhIAAAASgQkAAAAJQISAACAEgEJ\nAABAiYAEAACgREACAABQIiABAAAoEZAAAACUCEgAAABKBCQAAAAlAhIAAICSoZ0eAHhpTz/9dO69\n99488sgjabfbmTBhQqZOnZrRo0d3ejQAAAYhAQkNs2nTpixYsCBf+MIXcvfdd2fTpk1pt9tJklar\nlaFDh+aoo47KOeeckzPOOCPDhg3r8MQAAAwWrfaWn0yBjps/f34uv/zyrFq1qnT+pEmTctVVV+X0\n00/fyZMBAICAhEbp6nr+tuTf+73fyzHHHJPDDz88e+yxR5Jk/fr1Wb58ef7jP/4j//Vf/5XkuV3J\n3t7ejswLAMDgIiChQcaNG5fzzz8/H/jABzJp0qRtnrtq1apcd911+exnP5sNGzYM0IQAAAxmAhIa\nZMOGDdl11113+t8BAIBfh4CEhlqzZk1arVb233//To8CAABJCu8D+aEPfSjjx49PV1dXTjrppJc8\nb+HChTnwwAMzatSovOUtb8nPfvaz3+ScMOhMmjTpJS9jnTRpUiZPnjzAEwEAMNhtNyBbrVbe8573\n9H38Yh5++OG8+93vzq677pprrrkm3/ve9zJjxozf7KRAkqTdbmfNmjVZs2ZNp0cBAGCQ2e77QP7d\n3/1d1qxZk0996lMvec5NN92UZ599NpdffnlOPfXU/Od//mduvPHGrFq1yi4J7IDHH388jz/+eF54\nZfnatWvTbrf7foGzbNmyJMmQIUM6MiMAAIPXdgMySbZ3m+Tq1auTJPvss0+SZN999+07LiCh7tpr\nr83s2bP7YrHdbm91GeuW78fXvOY1Az4fAACDWykgd9S2gvOII47I8uXLd8anhVeMF34PvdT305aH\n7DA4HH744X27zwAAnfJrB2RPT0+GDBmSYcOG9e0yPvDAA3nDG96QBx98MEledPdx+fLl293RHAhX\nXnllrrzyyk6P0Qi+Fs/r9Ndi4cKFWbhwYZJk3rx5SZIZM2b0fc+0Wq3sueeeecMb3pBTTz11p87S\n6a9FkzTha+GXBQBAE2w3IP/1X/81P/jBD5I8dy/WF7/4xRx77LE5+OCDM2XKlKxYsSLvfve782d/\n9me5+uqr8/DDD+drX/tajjnmmO2+ETrQ38knn5yTTz45yfMBef3113dyJAAA6LPdp7Bec801ufzy\ny9NqtXLfffflT//0T/Ptb387yfO/EZ8wYUJuuummbNiwIZdeemmmTZuWG264YacODq90GzZsyObN\nm1/y9VWrVg3gNAAAUAjIO+64I5s3b05vb2/fnzNmzMjmzZtz33339Z13yimn5P77709PT08WL17c\n+N3H7u7uTo/QGL4Wz2vS1+KII47I0qVLX/S1L33pS5k6depO/fxN+lp0mq8FAMBzWu0BviGx1Wo1\n4h5IaLqurq4MHTo0f/EXf5GPfvSjSZ57m4+ZM2fmn/7pn9JqtdLb29vhKRko1k4AoAkEJDTU+PHj\n8+ijjyZJjj322HzoQx/KxRdfnLVr1yZJDj30UE80HkSsnQBAEwhIaKhHH300s2bNyoIFC/od7+rq\nyiWXXJJPfOITGT58eIemY6BZOwGAJhCQ0HDveMc7csstt/T990c/+tF84hOf6OBEdIK1EwBogu0+\nRAfojLVr1+a4447rF49J8ld/9Vf54Ac/mKeffrpDkwEAMFjZgYSGGjduXJ544okkyYknnpiLL744\n559/fn74wx8mSSZPnpz777+/kyMygKydAEAT2IGEhnriiScycuTIfPrTn87Xv/71dHd357vf/W5m\nzZqVJFm9enWHJwQAYLCxAwkNdeihh+YrX/lKpkyZstVrixYtytlnn51169Z1YDI6wdoJADSBgISG\neuaZZzJixIiXfP2hhx7Kq1/96gGciE6ydgIATTC00wMAL25LPN577725/fbb89hjj+Xqq6/OmjVr\n0mq1xCMAAAPODiQ02AUXXJDPfOYzSZ773unt7c3RRx+de+65J3Pnzs2MGTM6PCEDxdoJADSBh+hA\nQ11//fV98fhCs2bNSrvdzqJFizowFQAAg5mAhIb63Oc+lyQ544wz+h1/85vfnCRZvnz5gM8EAMDg\n5hJWaKgxY8akp6cn69aty1577dV3CeumTZsyYsSIjB49Ok8++WSnx2SAWDsBgCawAwkNtSUWRo4c\n2e/4mjVrkjwXFAAAMJAEJDTUa1/72rTb7cybN6/v2EMPPZQLLrggSXLggQd2ajQAAAYpAQkN9a53\nvStJct555yV5bkdy3333zW233ZYkOf300zs2GwAAg5N7IKFBZs+enVarlSuuuCI9PT3p7u7Od77z\nna3OO/LII3PXXXdtdXkrr1zWTgCgCQQkNEhXV1ffw3KS5Omnn86nPvWpLFq0KOvWrcv48eNz4okn\n5sILL8yoUaM6PC0DydoJADSBgIQG+dWAhC2snQBAE7gHEgAAgJKhnR4A6K/dbuess84qnTt37tyd\nPA0AADzPJazQIF1d9YsCXOo6uFg7AYAmcAkrvEyJCQAABppLWKFhWq1W5s6du91AbLVaAzQRAAA8\nxyWs0CCewspLsXYCAE3gElYAAABKBCQ0jF0mAACayj2Q0CD//u//7t5GAAAayz2QAC8D1k4AoAlc\nwgoAAECJgAQAAKBEQAIAAFAiIAEAACgRkAAAAJRs9208lixZklmzZuUnP/lJpkyZkuuuuy5Tp07t\nd0673c7FF1+cr3zlK9mwYUMOOOCAzJ49O2ecccZOGxxeif7kT/5kh97GY+7cuTtxGgAA6G+bb+PR\n09OTAw44IGPGjMmll16aOXPmZMSIEVm5cmW6up7fvLz11ltzwgknZNq0aXn/+9+fyy+/PL/85S/z\nxBNPZMiQIf0/oUfRw0t64ffV9rRarfT29u7EaWgSaycA0ATb/Gn11ltvzbp163Luuedm5syZOfvs\ns7N69eosXry433m77rprkuS1r31t/vAP/zC77LJLdtlllx36YRjYMWICAICBts1LWFevXp0k2Wef\nffr9ueX4FkcddVSuuOKKfPzjH88///M/Z+TIkbnlllt26FI8IFm1alWnRwAAgJe03XsgX+ildjy+\n853v5C//8i/zR3/0R5k5c2YuuuiizJgxI//zP/+T0aNHb3X+lVde2fdxd3d3uru7d2hoeKU64IAD\nOj0CDbF48eKtrvYAAOi0bQbk5MmTkyQPPPBAkuTBBx/sO97T05MhQ4Zk2LBhWbx4cXp7ezN9+vS8\n853vzKJFizJ37tz86Ec/yrRp07b6d18YkMC2/eIXv8j999+fjRs3bvXascce24GJGAi/+su12bNn\nd24YAID/t82AfPvb35699947n/vc5zJ27Nh88YtfzKRJk/LmN785Q4cOzZQpU7JixYoccsghSZLP\nfvazeeqpp3LLLbdkxIgRmTRp0oD8T8Ar0aZNm/LBD34w8+bNS7vd3uoKAA/RAQBgoG3zKTcjRozI\n/PnzM3bs2Fx00UWZMGFC5s+f3/dwnC33OJ500kn52Mc+lrVr1+bCCy/MnnvumRtvvDG77777zv8/\ngFeoa665JjfccEM2b978opePe4gOAAADbZtv47FTPqFH0UPJ4YcfnhUrVuSII47IsmXLkiSnnHJK\nvvGNb2TffffN0Ucfneuvv77DUzJQrJ0AQBN4nw1oqPvvvz+tVis333xzkucC4qtf/WpuvvnmrF69\nOu94xzs6PCEAAIONHUhoqOHDh6e3tzfPPPNMRo4cmXa7nSeeeCJdXV0ZPXp03z3IDA7WTgCgCXbo\nbTyAgbPbbrtl/fr12bhxY3bfffesX78+c+bMyZgxY5IkP/3pTzs8IQAAg42AhIaaPHly1q9fnwcf\nfDCvf/3rc/vtt+eqq67qe917RgIAMNDcAwkN9da3vjUHHXRQfvzjH+fDH/5w31OPk+cuZ7ziiis6\nOB0AAIOReyDhZWLJkiWZP39+hg0blpNPPjlvetObOj0SA8jaCQA0gYAEeBmwdgIATeASVmioefPm\n5ayzzsqNN97Y7/g//MM/5Kyzzsq8efM6NBkAAIOVHUhoqGnTpmXZsmW58847c/TRR/cdX7p0ad74\nxjfmsMMOy7Jlyzo4IQPJ2gkANIGAhIbaZZdd8tRTT+WJJ57I6NGj+44/9dRTedWrXpWxY8fmf//3\nfzs4IQPJ2gkANIFLWKGhnn322STJI4880u/4unXrkiS//OUvB3wmAAAGNwEJDbX//vun3W7n0ksv\nzcaNG5MkGzduzGWXXZYk2W+//To5HgAAg5CAhIY64YQTkiQLFizIhAkTcuihh2bChAm5+eabkyTH\nH398J8cDAGAQcg8kNNTDDz+cI444ou+S1RcaP358li1blvHjx3dgMjrB2gkANIEdSGioCRMm5O67\n787b3va2DBkyJEkydOjQvP3tb8/dd98tHgEAGHB2IOFlYOPGjXnsscey++67Z9SoUZ0ehw6wdgIA\nTSAgAV4GrJ0AQBMM7fQAwPMmTZqUVquVVatW9X38Ytrtdt95AAAwUOxAQoN0dXWl1Wqlt7c3XV3b\nvkV5y3kMDtZOAKAJ7EBCg+y///59u47777//Ns99qd1JAADYWexAArwMWDsBgCbwNh7QUF/60pcy\nb968F31t7dq1Wbt27QBPBADAYGcHEhrqhfdD7shrvDJZOwGAJrADCS8zohEAgE7xEB1okOXLl2f5\n8uV9O03tdnury1hXrFiRJBkxYsSAzwcAwOAmIKFBFi5cmNmzZ/c79v73v/9Fz508efIATAQAAM9z\nCSs0SPUet+HDh+eKK67YydMAAEB/HqIDDbJs2bIsW7YsSXLWWWclSa6//vq+75lWq5U999wzU6dO\nzWte85qOzcnAs3YCAE0gIKGhuru702q1cscdd3R6FBrA2gkANIFLWKGBNm7cmLVr12bNmjX58Y9/\n3OlxAAAgiR1IaKxx48blySefzMaNGzN8+PBOj0OHWTsBgCawAwkNddxxx6XdbvfdEwkAAJ1mBxIa\n6u67784pp5yScePGZc6cOZk6dWpGjRrV75z999+/Q9Mx0KydAEATCEhoqK6u/hcItFqtvo/b7XZa\nrVZ6e3sHeiw6xNoJADTB0E4PANT8ajyICQAABpqAhIZ63/vet83XX7gjCQAAA2G7l7AuWbIks2bN\nyk9+8pNMmTIl1113XaZOnbrVeQ888EDOP//8fOtb38qwYcNy4okn5sYbb9z6E7oMC2CHWTsBgCbY\n5lNYe3p6cuqpp+app57Ktddem0ceeSSnnXZaNm/e3O+8drudU045Jf/2b/+Wyy67LJ/85Cez9957\n79TBYTBZt25dfvSjH3V6DAAABrltBuStt96adevW5dxzz83MmTNz9tlnZ/Xq1Vm8eHG/8+644458\n//vfz8UXX5zLLrss55xzTv72b/92Z84Ng8Ldd9+dww8/PBMmTMjrXve6JMm73/3u/MEf/EGWLl3a\n4ekAABhsthmQq1evTpLss88+/f7ccnyLH/7wh0mSm2++OaNHj84uu+yST3/607/xYWEwWbFiRd76\n1rdmxYoV/Y7/zu/8ThYvXpyvfOUrHZoMAIDBaoceovNS998888wzSZLhw4dn4cKF+djHPpaLLroo\nb3vb2/Jbv/VbW51/5ZVX9n3c3d2d7u7uHRkDBoWPf/zj6enpyV577ZVHH3207/g73/nOXHnllbnz\nzjs7OB072+LFi7e62gMAoNO2GZCTJ09O8twDcpLkwQcf7Dve09OTIUOGZNiwYX3nnXDCCTnppJPy\n7W9/OytWrMjPfvaz7QYk8OLuvPPOtFqt3HbbbXn961/fd/zggw9Okvz85z/v1GgMgF/95drs2bM7\nNwwAwP/b5lNYn3nmmUycODGjR4/OpZdemjlz5mTkyJFZuXJlhg4dmilTpmTFihXZuHFjJk2alHHj\nxuUjH/lIrr766jzyyCP56U9/mj333LP/J/QkQSgZPnx4ent709PTkxEjRqTVaqW3tzcbNmzI7rvv\nnuHDh6enp6fTYzJArJ0AQBNs8x7IESNGZP78+Rk7dmwuuuiiTJgwIfPnz09X13N/bcv70I0aNSo3\n33xzRowYkfPPPz9jx47NggULtopHoG6vvfZKkvz3f/93v+Nf+tKXkiTjx48f8JkAABjctvs+kL/x\nT+i36FAyffr0/OM//mMOOOCA/OxnP0uSHHfccfnWt76Vdrud973vfbnhhhs6OiMDx9oJADSBgISG\n+tGPfpRp06a96GWqI0eOzPe+970ccsghHZiMTrB2AgBNsM1LWIHOOeSQQ3L77bf3PTRni4MOOijf\n/OY3xSMAAAPODiQ0SHd3d6ZPn57TTz89u+yyS9/xlStXZt26dRk/fnwOPPDADk5Ip1g7AYAmEJDQ\nIFseUDVy5MiceOKJOfPMM3P88cdn6NAdestWXoGsnQBAEwhIaJAtAflCe+yxR84444yceeaZOeqo\nozowFU1g7QQAmkBAQoN861vfyk033ZQFCxbk8ccf7/daq9XKpEmTcuaZZ+bMM890KesgY+0EAJpA\nQEIDPfvss7n11ltz0003ZdGiRdm4cWO/11utVn73d383S5cu7dCEDDRrJwDQBAISGu6pp57Kv/zL\nv+Smm27K7bffnk2bNiV57nupt7e3w9MxUKydAEATeDIHNNyYMWNy8sknp9VqZcOGDVmyZEmnRwIA\nYJASkNBQmzZtym233ZYvf/nL+frXv56NGzf224GyGwUAwEATkNAg7XY7d955Z7785S/nq1/9an7x\ni19sdc6kSZPy3ve+N9OnT+/AhAAADGYCEhpkv/32y0MPPbTV7uLuu++e008/PdOnT88b3/jGDk0H\nAMBg5yE60CAvfB/IESNG5IQTTsj06dNz/PHHZ9iwYR2cjE6zdgIATWAHEhrmmGOOyfTp03P66adn\n3LhxnR4HAAD6CEhokNWrV2fixImdHgMAAF5U1/ZPAQbKr/O+jqtWrdoJkwAAwNYEJDTIwQcfnDPP\nPDN33XXXds+988478973vje//du/PQCTAQCAh+hAo2x5iE6r1cqrX/3qvOlNb8phhx2WPffcM0ny\n6KOP5r777suSJUvy8MMP930vbd68uWMzMzCsnQBAEwhIaJClS5fmkksuyT333FM6/6ijjsrf/M3f\n5A1veMNOnoxOs3YCAE0gIKGBlixZks9//vO5/fbb88gjj/R7bfz48XnrW9+aD3zgAznmmGM67JKU\ndAAAD19JREFUNCEDzdoJADSBgISGe+CBB/Lwww8neS4e999//w5PRCdYOwGAJhCQAC8D1k4AoAm8\nDyQ03D333JNvfOMbefTRR7P33nvnhBNOyO///u93eiwAAAYhO5DQYDNnzsznP//5fsdarVY++MEP\n5rOf/WyHpqITrJ0AQBMISGioG264IWedddZLvn799ddnxowZAzgRnWTtBACaoKvTAwAvbsvO48SJ\nE3PttddmwYIFufbaazNx4sR+rwMAwECxAwkN9apXvSpPP/10li1blkMPPbTv+A9+8IMcdthhedWr\nXpXHH3+8gxMykKydAEAT2IGEhnr22WeTJPvtt1+/4/vuu2+/1wEAYKAISGio/fbbL+12O5dcckk2\nbNiQJNmwYUM+/OEPJ3k+JAEAYKAISGiok046KclzD8vZY489Mm7cuOyxxx6ZO3duv9cBAGCguAcS\nGmr9+vU58sgjs3bt2q1emzhxYr773e9mjz326MBkdIK1EwBoAjuQ0FB77rlnli5dmrPPPjsTJkzI\nkCFD8prXvCbnnHNOli5dKh4BABhwdiABXgasnQBAE9iBBAAAoGRopwcAntfV1ZVWq7Xd89rtdlqt\nVnp7ewdgKgAAeI6AhIapXqbockYAAAbadgNyyZIlmTVrVn7yk59kypQpue666zJ16tQXPffRRx/N\nIYccksceeyyf/OQnc8kll/zGB4ZXsmOPPbZ8r1tlpxIAAH6TthmQPT09OfXUUzNmzJhce+21mTNn\nTk477bSsXLkyXV1b3z554YUXpqenJ4kfbuHXsXjx4k6PAAAAL2mbD9G59dZbs27dupx77rmZOXNm\nzj777KxevfpFf8j9xje+kVtuuSWXXXbZzpoVAACADtrmDuTq1auTJPvss0+/P7cc3+LJJ5/Mueee\nm6uuuipjxozZGXPCoDB79uwd2r2/4oorduI0AADQ3w49ROel7su6+uqrM3r06Bx33HH52te+liRZ\nv359NmzYkF133XWr86+88sq+j7u7u9Pd3b0jY8Ar1uzZs8vntlotAfkKtnjxYpc0AwCNs82AnDx5\ncpLkgQceSJI8+OCDfcd7enoyZMiQDBs2LD//+c/z4x//OAcffHDf373qqqsyduzY/Pmf//lW/+4L\n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\nAAAAANbkf1M+pbyPupgkAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x792e430>"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.9, Page number: 521<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Display status of mouse button pressed \n",
+ "\n",
+ "from Tkinter import *\n",
+ "from tkFileDialog import askopenfilename\n",
+ "import Image, ImageTk\n",
+ "\n",
+ "if __name__ == \"__main__\":\n",
+ " root = Tk()\n",
+ "\n",
+ " #setting up a tkinter canvas with scrollbars\n",
+ " frame = Frame(root, bd=2, relief=SUNKEN)\n",
+ " frame.grid_rowconfigure(0, weight=1)\n",
+ " frame.grid_columnconfigure(0, weight=1)\n",
+ " xscroll = Scrollbar(frame, orient=HORIZONTAL)\n",
+ " xscroll.grid(row=1, column=0, sticky=E+W)\n",
+ " yscroll = Scrollbar(frame)\n",
+ " yscroll.grid(row=0, column=1, sticky=N+S)\n",
+ " canvas = Canvas(frame, bd=0, xscrollcommand=xscroll.set, yscrollcommand=yscroll.set)\n",
+ " canvas.grid(row=0, column=0, sticky=N+S+E+W)\n",
+ " xscroll.config(command=canvas.xview)\n",
+ " yscroll.config(command=canvas.yview)\n",
+ " frame.pack(fill=BOTH,expand=1)\n",
+ "\n",
+ " \n",
+ "\n",
+ " #function to be called when mouse is clicked\n",
+ " def printcoords(event):\n",
+ " #outputting x and y coords to console\n",
+ " print \"Mouse Button pressed\"\n",
+ " print (event.x,event.y)\n",
+ " #mouseclick event\n",
+ " canvas.bind(\"<Button 1>\",printcoords)\n",
+ "\n",
+ " root.mainloop()\n",
+ " \n",
+ "import win32api, win32con\n",
+ "\n",
+ "print \"Current cursor position at \" \n",
+ "print win32api.GetCursorPos()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mouse Button pressed\n",
+ "(207, 115)\n",
+ "Current cursor position at "
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "(502, 188)\n"
+ ]
+ }
+ ],
+ "prompt_number": 108
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 15.10, Page number: 523<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Change mouse cursor.\n",
+ "\n",
+ "#Placing the cursor on top of the circle button will change the pointer to circle\n",
+ "# and plus button to plus symbol\n",
+ "\n",
+ "from Tkinter import *\n",
+ "import Tkinter\n",
+ "\n",
+ "top = Tkinter.Tk()\n",
+ "\n",
+ "B1 = Tkinter.Button(top, text =\"circle\", relief=RAISED,\\\n",
+ " cursor=\"circle\")\n",
+ "B2 = Tkinter.Button(top, text =\"plus\", relief=RAISED,\\\n",
+ " cursor=\"plus\")\n",
+ "B1.pack()\n",
+ "B2.pack()\n",
+ "top.mainloop()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 110
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+>>>>>>> 0ee873700378b995b441b1be6652178f741aea5b
} \ No newline at end of file
diff --git a/Programming_with_ANSI_and_Turbo_C/Chapter_15.ipynb b/Programming_with_ANSI_and_Turbo_C/Chapter_15.ipynb
index 0c5ac02f..92842ba6 100755
--- a/Programming_with_ANSI_and_Turbo_C/Chapter_15.ipynb
+++ b/Programming_with_ANSI_and_Turbo_C/Chapter_15.ipynb
@@ -440,7 +440,7 @@
"input": [
"#Draw circle, line and arc using graphics function\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import pylab\n",
"import matplotlib.pyplot as plt\n",
"\n",
diff --git a/Stoichiometry_And_Process_Calculations/ch11.ipynb b/Stoichiometry_And_Process_Calculations/ch11.ipynb
index b8409421..bd656a32 100755
--- a/Stoichiometry_And_Process_Calculations/ch11.ipynb
+++ b/Stoichiometry_And_Process_Calculations/ch11.ipynb
@@ -459,7 +459,7 @@
"input": [
"\n",
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
diff --git a/Stoichiometry_And_Process_Calculations/ch6.ipynb b/Stoichiometry_And_Process_Calculations/ch6.ipynb
index 8a560517..705d178a 100755
--- a/Stoichiometry_And_Process_Calculations/ch6.ipynb
+++ b/Stoichiometry_And_Process_Calculations/ch6.ipynb
@@ -211,7 +211,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"\n",
@@ -270,7 +270,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from matplotlib.pyplot import *\n",
diff --git a/Stoichiometry_And_Process_Calculations/ch7.ipynb b/Stoichiometry_And_Process_Calculations/ch7.ipynb
index e679965d..28e6fe1c 100755
--- a/Stoichiometry_And_Process_Calculations/ch7.ipynb
+++ b/Stoichiometry_And_Process_Calculations/ch7.ipynb
@@ -204,7 +204,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"from numpy import zeros\n",
@@ -836,7 +836,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from matplotlib.pyplot import *\n",
"from numpy import *\n",
diff --git a/Stoichiometry_And_Process_Calculations/ch8.ipynb b/Stoichiometry_And_Process_Calculations/ch8.ipynb
index f4b3762e..ac2e4c33 100755
--- a/Stoichiometry_And_Process_Calculations/ch8.ipynb
+++ b/Stoichiometry_And_Process_Calculations/ch8.ipynb
@@ -699,7 +699,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math\n",
"from matplotlib.pyplot import *\n",
diff --git a/Textbook_of_Engineering_Chemistry/dChapter_3.ipynb b/Textbook_of_Engineering_Chemistry/dChapter_3.ipynb
index 5406df23..3d3c2015 100755
--- a/Textbook_of_Engineering_Chemistry/dChapter_3.ipynb
+++ b/Textbook_of_Engineering_Chemistry/dChapter_3.ipynb
@@ -125,7 +125,7 @@
"R=8.30*10**-3 #[kJ/kmol]\n",
"\n",
"#Calculation\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"plt.plot(onebyT,log_k)\n",
"plt.ylabel('$log k$')\n",
diff --git a/Theory_Of_Machines/ch2.ipynb b/Theory_Of_Machines/ch2.ipynb
index cfa99e45..b4603f22 100755
--- a/Theory_Of_Machines/ch2.ipynb
+++ b/Theory_Of_Machines/ch2.ipynb
@@ -195,7 +195,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from matplotlib.pyplot import *\n",
diff --git a/Transport_Phenomena:_A_Unified_Approach/ch14.ipynb b/Transport_Phenomena:_A_Unified_Approach/ch14.ipynb
index 81b6e653..4c2319c1 100755
--- a/Transport_Phenomena:_A_Unified_Approach/ch14.ipynb
+++ b/Transport_Phenomena:_A_Unified_Approach/ch14.ipynb
@@ -424,7 +424,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from numpy import *\n",
"import math \n",
diff --git a/Transport_Phenomena:_A_Unified_Approach/ch15.ipynb b/Transport_Phenomena:_A_Unified_Approach/ch15.ipynb
index 374352f1..f471e3a3 100755
--- a/Transport_Phenomena:_A_Unified_Approach/ch15.ipynb
+++ b/Transport_Phenomena:_A_Unified_Approach/ch15.ipynb
@@ -28,7 +28,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"import math \n",
"from numpy import *\n",
diff --git a/Transport_Phenomena:_A_Unified_Approach/ch6.ipynb b/Transport_Phenomena:_A_Unified_Approach/ch6.ipynb
index 8a443d73..fb8a8f26 100755
--- a/Transport_Phenomena:_A_Unified_Approach/ch6.ipynb
+++ b/Transport_Phenomena:_A_Unified_Approach/ch6.ipynb
@@ -242,7 +242,7 @@
"collapsed": false,
"input": [
"\n",
- "%pylab inline\n",
+ "%matplotlib inline\n",
"\n",
"from numpy import *\n",
"from matplotlib.pyplot import *\n",